我最近更新了 CUDA Toolkit 版本 12.8。nvcc 编译器现在发出以下警告:
未来版本将删除对“<compute/sm/lto>_75”之前的架构的离线编译支持(使用 -Wno-deprecated-gpu-targets 来抑制警告)。
我对 CUDA 编译有基本的了解。nvcc 编译器会针对各种架构和计算能力生成 PTX,并且 PTX 会在运行时由 NVidia 驱动程序进行 JIT 编译。
我不明白“离线编译”是什么。
我主要关心的是,这个警告对于 Compute 6.1 及更高版本设备的支持意味着什么。我需要继续支持 Compute 6.1。我的 Visual Studio CUDA 代码生成构建设置是compute_61,sm_61
。如果我删除此设置,我的应用将无法在 Compute 6.1 设备上运行。运行时错误是由于缺少内核造成的。我想知道正确的代码生成选项,以便在不禁用警告的情况下支持 Compute 6.1 设备,并且不会发出此警告。