build(gpu): 添加CUDA调试支持并扩展编译选项

* 在GPU.cmake中添加了${CUDA_NVCC_FLAGS_CUSTOM}变量到CUDA编译命令
* 引入gpu-granular-debug.cmake构建预设配置
* 添加调试模式支持(-g -G -O0)和详细的编译器检测
* 为所有构建模式设置-allow-unsupported-compiler标志
This commit is contained in:
2025-07-10 15:07:17 +08:00
parent 9978b23eef
commit ec60fcf1fe
2 changed files with 18 additions and 2 deletions

View File

@ -158,10 +158,10 @@ if(GPU_API STREQUAL "CUDA")
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} ${CUDA_NVCC_FLAGS_CUSTOM})
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} ${CUDA_NVCC_FLAGS_CUSTOM})
foreach(CU_OBJ ${GPU_GEN_OBJS})
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)

View File

@ -0,0 +1,16 @@
# preset that enables GPU and selects CUDA API
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "" FORCE)
set(PKG_GPU ON CACHE BOOL "Build GPU package" FORCE)
set(PKG_GRANULAR ON CACHE BOOL "Build GRANULAR package" FORCE)
set(GPU_API "cuda" CACHE STRING "API used by GPU package" FORCE)
set(GPU_ARCH "sm_86" CACHE STRING "ARCH used by GPU package" FORCE)
set(GPU_PREC "double" CACHE STRING "prec used by gpu" FORCE)
set(GPU_DEBUG ON CACHE BOOL "" FORCE)
set(CUDA_NVCC_FLAGS_CUSTOM "-allow-unsupported-compiler -g -G -O0" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_DEBUG "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_MINSIZEREL "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_RELEASE "-allow-unsupported-compiler" CACHE STRING "" FORCE)