繁体   English   中英

CUDA_VERSION 和 CUDART_VERSION 一定是一样的吗?

[英]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.hcuda_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM