我尝试使用CUDA SDK中的ptxjit样本作为仪器与GPU设备的交互基础。加载PTX以CUDA功能运行时,以编程方式返回错误209.0
我已经成功地编译了检测代码,并控制设备加载并执行具有CUDA功能2.0的Geforce GT440的PTX模块。
在使用具有CUDA功能5.0的Geforce 830M(使用大黄蜂控制独立GPU的笔记本电脑)系统上编译相同的工具代码时,代码会编译但会提供209(CUDA_ERROR_NO_BINARY_FOR_GPU)。
我试图编译内核以与CUDA功能5.0兼容,但没有成功,仍然是相同的错误。
任何想法?
没有[MCVE],很难说出什么问题。通常情况下''CUDA_ERROR_NO_BINARY_FOR_GPU'意味着你要么没有代码的CUBIN没有正确的体系结构,要么你的PTX包含语法错误,或者在JIT编译过程中包含其他内容,导致编译调用失败。 – talonmies
正如我所提到的,我使用CUDA SDK上提供的代码,但我会将它的一部分与ptx一起复制。 – prmottajr
你真的在构建和运行CUDA SDK附带的ptxjit示例项目吗?或者你是否将这个ptxjit示例代码放入你自己的项目中?你正在使用哪种CUDA版本? –