01年开始,研究人员把GPU当做数据并行协处理器(GPGPU)
07年,英伟达发布CUDA (Compute Uniform Device Architecture)统一计算设备架构
08年,OpenCL规范,使得并行计算可以扩展到更多设备平台上去
CUDA的一些信息(线程嘛)
层次化线程集合A hierarchy of thread groups,共享储存Shared memories,同步Barrier Synchronization
CUDA术语 Host和device通常就是指cpu和gpu,采用ANSI标准C的扩展语言编程,编程时候,有主机端和设备端两部分的代码
Kernel,数据并行处理函数,在设备端有硬件负责创建调度线程,在主机端调这个函数
想吃饭了,先不写了~哈哈哈
隔了四天接着学,接着写
float *Md
int size=width*width*sizeof(float);
cudaMalloc((void**)&Md,size);
...
cudaFree(Md);
这个(void**)&Md指针是指向设备的指针,cpu不能调用
cudaMemcpy()内存传输 :主机端向主机端,设备端向设备端,主机端向设备端,设备端向主机端
cudaMemcpy(目的地址,原地址,大小,cudaMemcpyHostToDevice);