使用-G编译SGEMM_CUDA时出现ptxas解析/语法错误求助
CUDA调试模式构建SGEMM_CUDA仓库报错问题
我正在使用知名开源仓库siboehm/SGEMM_CUDA。
正常构建情况
无调试模式下执行以下命令可正常编译、链接并运行:
mkdir build && cd build && \ cmake .. && cmake --build .
构建过程中使用的关键编译命令为:
/usr/local/cuda-12.3/bin/nvcc \ -forward-unknown-to-host-compiler \ -I/usr/local/cuda-12.3/include \ -I/home/jasneetsingh/Desktop/cuda_experiments/SGEMM_CUDA/src \ --generate-code=arch=compute_86,code=[compute_86,sm_86] \ -MD -MT CMakeFiles/sgemm.dir/src/runner.cu.o \ -MF CMakeFiles/sgemm.dir/src/runner.cu.o.d \ -x cu -c \ /home/jasneetsingh/Desktop/cuda_experiments/SGEMM_CUDA/src/runner.cu \ -o CMakeFiles/sgemm.dir/src/runner.cu.o
调试模式构建报错
启用调试模式执行以下命令时:
mkdir build && cd build && \ cmake .. -DCMAKE_BUILD_TYPE=Debug && \ cmake --build .
CMake构建执行命令时出现错误,对应的nvcc命令为:
/usr/local/cuda-12.3/bin/nvcc \ -forward-unknown-to-host-compiler \ -I/usr/local/cuda-12.3/include \ -I/home/jasneetsingh/Desktop/cuda_experiments/SGEMM_CUDA/src \ -g \ --generate-code=arch=compute_86,code=[compute_86,sm_86] \ -G \ -src-in-ptx \ -MD -MT CMakeFiles/sgemm.dir/src/runner.cu.o \ -MF CMakeFiles/sgemm.dir/src/runner.cu.o.d \ -x cu -c \ /home/jasneetsingh/Desktop/cuda_experiments/SGEMM_CUDA/src/runner.cu \ -o CMakeFiles/sgemm.dir/src/runner.cu.o
报错信息如下:
ptxas /tmp/tmpxft_00004480_00000000-6_runner.ptx, line 881; fatal : Parsing error near '': syntax error ptxas fatal : Ptx assembly aborted due to errors gmake[2]: *** [CMakeFiles/sgemm.dir/build.make:90: CMakeFiles/sgemm.dir/src/runner.cu.o] Error 255 gmake[2]: Leaving directory '/home/jasneetsingh/Desktop/cuda_experiments/SGEMM_CUDA/build'
该问题显然与-G参数有关。
系统信息
- CXX编译器:GNU 11.4.0
- CUDA编译器:NVIDIA 12.3.107
- CUDA路径:
/usr/local/cuda-12.3(版本为12.3)
内容的提问来源于stack exchange,提问作者Singh
相关产品推荐
相关产品推荐

