Jetson Nanoで遊ぼう7:CUDAのコンパイラ(NVCC)でC言語のコードをコンパイルしてHello Worldしてみる

投稿日:2024年2月12日
最終更新日:2024年2月12日

CUDAのコンパイラを使ってみる

Jetson nanoは、NVIDIAが提供するイメージで起動すればNVIDIAのGPUプログラム開発環境(正確にはアーキテクチャのことらしいが)であるCUDAが最初からインストールされている。

ということで、今回はCUDAを使ってHello Worldをやってみたと思う。CUDAの肝はGPUを使った並列プログラミングだと思うが、今回はCUDAのコンパイラを使ってみるだけで、GPUはまだ使わない。

 

開発環境

開発用PC:Windows 10

Jetson Nano Development kit 4GB B01

CUDA Version 10.2.300

 

CUDAのVersionを調べてみる

本題に入るまでに、CUDAがインストールされているか確認してみる。CUDAは/usr/local/cudaにインストールされており、Jetson Nanoのターミナルで以下を実行すればVersionが表示される。私の環境ではVersion 10.2.300がインストールされていた。

$ cat /usr/local/cuda/version.txt
CUDA Version 10.2.300

 

CUDAでコンパイルするコードを書く

今回はvimでサクッとHello Worldのコードを書く。CUDAのコードの拡張子は.cuを使う。以下のコードをhelloworld.cuという名前で保存した。ちなみに書いたのはただのC言語のコードなので、GPUは使ってない。

#include
int main()
{
        printf("Hello World!\n");
        return 0;
}

 

NVCCでコンパイルして実行する

先ほどのコードを以下においてあるnvcc(NVIDIA CUDA Compiler)でコンパイルする。

$ /usr/local/cuda/bin/nvcc helloworld.cu

あとは作成されたa.outを実行するだけ。これでHello Worldが表示できた。

$ ./a.out
Hello World!

CUDAでの記念すべき初プログラム…ではあるが、さすがにこれでは味気ない。ということで次回はCUDAの公式サンプルを実行してみる。

 

参考文献

以下の本を読みながら遊んでます。
Interface 2022年 8月号


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください