cuda学习日记_1005
主题:HelloWorld 实现
代码转载:
#include <stdio.h>
#include <stdlib.h>
#include <cuda_runtime.h>
__global__ void helloWorld()
{
printf("Hello! I am GPU!\n");
}
int main(void)
{
helloWorld<<<2, 4>>>(); //1 grid, 2 blocks and 4 threads
cudaDeviceSynchronize();
cudaDeviceReset();
system(pause);
}
key point:
1. system(pause)对应的头文件为:stdlib.h
2. global 关键字的识别/函数cudaDeviceSynchronize,必须添加:runTime运行时库
3. 补充cudaDeviceSynchronize函数(运行时API函数)的目的:
在使用内核调用使得主机和设备同步之后,可确保在从内核返回到主机之前,已清空printf函数的输出流。 如果没有这样的同步,主机将不会等待内核执行完成,并且消息也不会输出到控制台。
4. gird中的每个block都是独立的,因而输出结果中,block的index可为0,可为1