![](/img/trans.png)
[英]CUDA version is insufficient for CUDART version. running in emu mode without NVIDIA card
[英]Are CUDA_VERSION and CUDART_VERSION necessarily the same?
CUDA 驱动程序 API 定义了CUDA_VERSION
(在cuda.h
中),CUDA 运行时 API 定义了CUDART_VERSION
(在cuda_runtime_api.h
中)。 但是 - CUDART_VERSION
未定义为CUDA_VERSION
而是直接定义为数字。
它们是否总是应该具有完全相同的值,或者在某些情况下它们可能不同?
它们在观察上是相同的,但没有联系。
正如您在运行时已经知道的那样,CUDA 版本可能与 CUDART 版本不同。 因此(或者,就该答案所描述的而言)两者之间没有联系。
但是, cuda.h
和cuda_runtime_api.h
都将由 CUDA 安装程序安装。 因此,就安装程序安装的内容而言,它们将匹配。 安装程序安装驱动程序和开发环境,其中 CUDA(驱动程序 API)版本和 CUDA 运行时 API 版本匹配。 但稍后可能会改变(例如,如果您更新驱动程序)。也就是说,运行时版本可能会根据后续安装活动而改变。 但是cuda.h
工具包安装程序安装的 cuda.h 和 CUDA 工具包安装程序安装的cuda_runtime_api.h
将保持原样,由工具包安装程序安装。
cuda_runtime_api.h
不依赖于cuda.h
。 出于这个原因,一个定义不仅仅是另一个的定义。 您可以构建 CUDA 运行时 API 不依赖于cuda.h
的应用程序( deviceQuery
示例代码是一个示例),因此cuda_runtime_api.h
没有理由基于cuda.h
中的内容构建定义 - 这需要每当你包含cuda_runtime_api.h
时,你总是包含cuda.h
,而 CUDA 设计师无意这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.