CUDA编程分为Host端与Device端
1,host端
2,device端
存储:
1,内存对齐,连续
2,存放数据选择合适的存储类型(寄存器,共享内存,常量内存,局部内存,纹理内存)
3,注意bank conflict
计算:
1,注意分支歧义
2,尽量使用cublas
准确性:
1,数据类型精度(float与double在某些运算中是不准确的)
2,原子操作
3,同步
带宽:
1,零拷贝
2,内存锁页
3,NVLink
性能测试:
1,nvprof
2,时间测试
Debug:
1,cuda-gdb