CUDA メモ その0
CUDA プログラミング
cuda コーディングを学習する際のメモです。
Hallo, world!
まずは、プログラム学習の定番である、”Hello, Wrold !”の出力を通して、GPUでの実行を練習します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cuda_runtime.h>
#include <stdio.h>
__global__ void print_hello(){
printf("Hello, World!\n");
}
int main(void){
print_hello<<<1,1,0>>>();
cudaDeviceSynchronize();
cudaDeviceReset();
}
上のコードは, Hello, world!を出力する関数をGPU上で実行するというものです。 print_helloという関数の前の__global__という接頭文字は、GPU上で実行する関数につけるものであり、その関数の戻り値はvoidである必要があります。
今後、CPU側をホスト, GPU側をデバイスと呼ぶことにします。 ホストからデバイス上で, print_helloという関数を実行するには、C言語系統の通常の関数呼び出しと比べて、関数名と引数の間に<<<1,1,0>>>を挟むことで呼び出すことできます(数字の意味は下で解説します)。
This post is licensed under CC BY 4.0 by the author.