CUDA_VERSION 和 CUDART_VERSION 一定相同吗?

问题描述 投票:0回答:1

CUDA 驱动程序 API 定义

CUDA_VERSION
(在
cuda.h
中),CUDA 运行时 API 定义
CUDART_VERSION
(在
cuda_runtime_api.h
中)。然而 -
CUDART_VERSION
并未定义为
CUDA_VERSION
而是直接定义为数字。

它们总是应该具有完全相同的值,还是在某些情况下它们可能会有所不同?

cuda versioning api-versioning cuda-driver
1个回答
4
投票

它们在观察上是相同的,但没有联系。

正如您已经知道运行时,CUDA 版本可能与 CUDART 版本不同。因此(或者,就该答案所描述的而言)两者之间没有联系。

但是,

cuda.h
cuda_runtime_api.h
都将由 CUDA 安装程序安装。因此,对于安装程序安装的内容,它们将匹配。安装程序会安装驱动程序和开发环境,其中 CUDA(驱动程序 API)版本与 CUDA 运行时 API 版本相匹配。但稍后情况可能会发生变化(例如,如果您更新驱动程序)。也就是说,运行时版本可能会根据后续安装活动而发生变化。无论如何,由 CUDA 工具包安装程序安装的
cuda.h
和由 CUDA 工具包安装程序安装的
cuda_runtime_api.h
将由工具包安装程序安装。

cuda_runtime_api.h
不依赖于
cuda.h
。因此,一个定义不仅仅是另一个定义的简单定义。您可以构建不依赖于
cuda.h
的 CUDA 运行时 API 应用程序(
deviceQuery
示例代码就是一个示例),因此
cuda_runtime_api.h
没有理由基于
cuda.h
中的某些内容构建定义 - 即会要求您在包含
cuda.h
时始终包含
cuda_runtime_api.h
,而 CUDA 设计者无意这样做。

© www.soinside.com 2019 - 2024. All rights reserved.