我以前从未使用过 CUDA 或 C++,但我试图从(http://www.maisondelasimulation.fr/projects/RAMSES-GPU/html/download.html运行中获取 Ramses GPU。由于 autogen 中的错误。我使用 ./configure 并让这个工作正常。所以生成的 makefile 包含以下 NVCC 标志
NVCCFLAGS = -gencode=arch=compute_10,code=sm_10 -gencode=arch=compute_11,code=sm_11 -gencode=arch=compute_13,code=sm_13 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_20,code =compute_20 -use_fast_math -O3
但是当我尝试使用 make 编译程序时,我得到了多个 ptxas 错误:
Entry function '_Z30kernel_viscosity_forces_3d_oldPfS_S_S_iiiiiffff' uses too much shared data (0x70d0 bytes + 0x10 bytes system, 0x4000 max)
Entry function '_Z26kernel_viscosity_forces_3dPfS_S_S_iiiiiffff' uses too much shared data (0x70d0 bytes + 0x10 bytes system, 0x4000 max)
Entry function '_Z32kernel_viscosity_forces_3d_zslabPfS_S_S_iiiiiffff9ZslabInfo' uses too much shared data (0x70e0 bytes + 0x10 bytes system, 0x4000 max)
我正在尝试在两个 NVIDIDA C1060 上使用内核 2.6 和 CUDA 4.2 在 Linux 上编译此代码(我尝试在我的大学中进行此操作,但他们没有定期升级东西。)。我尝试用 sm_20 替换 sm_10、sm_11 和 sm_13,(我在这里看到了这个修复:Entry function uses too much shared data (0x8020 bytes + 0x10 bytes system, 0x4000 max) - CUDA error)但这并没有解决我的问题。你有什么建议吗?如果您需要,我可以上传 Makefile 以及其他所有内容。谢谢您的帮助!