我已经安装了:CUDA sdk 4.2 64,CUDA工具包4.2 64,CUDA开发驱动程序4.2 64,
我检查了\windows中的每个nvcuda.dll,它们都是4.2版本,但当我用驱动程序api创建上下文并用cuCtxGetApiVersion检查它时,它显示我"3010"
我并不真正关心那个版本,但当我尝试将运行时api与那个上下文一起使用时(需要将它们混合使用),它显示了错误49(cudaErrorCompatibleDriverContext)
有什么想法,正在发生什么以及如何使其协同工作?
似乎这不是windows的问题——在linux下运行相同的项目会产生相同的3010 API版本。
我解决了这个问题-我在执行过程中直接导出了"cuCtxCreate"函数(它是其他语言-没有cuda.h)。在查看原始的cuda.h后,我发现它基于某种智能定义为该函数定义了其他名称。新函数"cuCtxCreate_v2"创建了一个良好的上下文。
/facepalm