本文通过代码实践讲解CUDA矩阵乘法与转置。GPU包含寄存器、共享内存、全局内存等存储单元。矩阵乘法中,每个线程计算输出矩阵的一个元素,读取M的一行和N的一列进行乘积累加,二维坐标按y*width+x映射为一维索引。矩阵转置则交换行列索引。文中提供完整CUDA代码,并与CPU结果对比验证,还介绍了使用nvprof查看性能及RGB转灰度图练习。
本文介绍第一个CUDA程序:用__global__定义核函数,用<<<>>>配置线程,用cudaDeviceSynchronize()同步;演示nvcc编译、编写Makefile及多文件编译;讲解threadIdx、blockIdx等线程索引;最后用nvprof分析性能。
完成下面两步后,将自动完成登录并继续当前操作。