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は使ってない。
#includeint 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月号