RTX 3060 Laptop与Tesla T4的CUDA代码性能对比及问题咨询
CUDA移植波矢计算函数的性能测试与问题咨询
近期正在学习C++与CUDA编程,将一个波矢计算函数移植到CUDA平台,已在两个系统中完成性能测试:
- Google Colab:Intel Xeon 2.30GHz CPU、12281932 kB可用内存、Tesla T4 16GB GPU
- WSL2(Windows11):Intel Core i5-10500H 2.50GHz CPU、7617120 kB可用内存、RTX 3060 Laptop 6GB GPU
运行时间测试结果
| 系统/语言 | 执行时间 |
|---|---|
| Google Colab/C++ | real 0m1.438s |
| Google Colab/CUDA(双精度) | real 0m0.356s |
| WSL2/C++ | real 0m0.456s |
| WSL2/CUDA | real 约0m0.8s |
存在的疑问
- 尽管GPU与CPU的GFLOPS相近,但使用
(512x1x1)线程块并行计算时,WSL2下CUDA版本性能未优于C++嵌套循环版本,原因是什么? - 将rx、ry、rz从500改为1000时,Google Colab运行正常,但WSL2下C++版本被内核OOM Killer终止,CUDA版本打印结果时出现段错误(调整为
(512x1x1)块后段错误消失),其中数据量为3906250 kB,理论上可容纳,请问遗漏了什么?
优化建议及参考资料需求
希望获取该CUDA代码的优化建议及相关参考资料。
编译方式
- C++版本:
g++ -o wavevector_cpp wavevector_cpp.cpp -O3 - CUDA版本:
nvcc -o wavevector_cuda wavevector_cuda.cu -arch=sm_86
内容的提问来源于stack exchange,提问作者Felipe_SC
相关产品推荐
相关产品推荐

