1

我已经安装了:CUDA sdk 4.2 64、CUDA toolkit 4.2 64、CUDA devdriver 4.2 64、

我检查了 \windows 中的每个 nvcuda.dll - 它们都是 4.2 版本,但是当我使用驱动程序 api 创建上下文并使用 cuCtxGetApiVersion 检查它的版本时 - 它显示“3010”

我并不真正关心那个版本,但是当我尝试在该上下文中使用运行时 api 时(需要混合它们) - 它显示错误 49(cudaErrorIncompatibleDriverContext)

任何想法,发生了什么以及如何使其协同工作?

似乎这不是 Windows 的问题 - 在 linux 下运行相同的项目会导致相同的 3010 API 版本。

4

1 回答 1

0

我解决了这个问题 - 我在执行期间直接导出“cuCtxCreate”函数(它是其他语言 - 没有 cuda.h)。在查看原始 cuda.hi 后发现它为该函数定义了其他名称,基于某种 smartass 定义。新函数“cuCtxCreate_v2”创建了一个很好的上下文。

/掌脸

于 2012-07-31T11:23:58.490 回答