昨天搭建了环境今天就开始了第一天的学习,学习一门语言无非就是语法的学习以及一些机制的学习,考研刚刚结束,很长时间没有写过代码了,说实话很多东西都会忘记但是有很多基础的东西是不会忘了的,讲到学习语言的开篇都是以hello world为开始的,所以我也一样
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
__global__ void add (int a,int b ,int *c ){
*c=a+b;
}
int main (void){
int c;
int* dev_c;
cudaMalloc((void **)&dev_c,sizeof(int));
add<<<1,1>>>(2,7,dev_c);
cudaMemcpy(&c,dev_c,sizeof(int),cudaMemcpyDeviceToHost);
printf ("%d\n",c);
printf ("hello world !");
getchar();
return 0;
当然只有hello world 有些同学是看不出来和c语言的区别的所以就添加了cuda的一些东西,也是很简单的东西,比如说__glonle__定义的内容就是在显存中运行的内容,然后利用add<<<1,1>>>调用 这里的尖括号还有参数我们后面学到了在再进行解释。
其中需要注意的是cudaMalloc 以及cudaMemcpy函数 这些函数的应用跟c中的malloc以及Memcpy没有什么两样 ,我想下一节说明我这个cudaMemcpy中的参数的一些注意事项。这就是我的第一个Gpu的代码。也以此表明我开始了gpu编程的路程 ,希望大家一同进步。