gpt4 book ai didi

api - cuda api cu... 和 cuda ... 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 22:46:38 24 4
gpt4 key购买 nike

例如 cudaMemcpycuMemcpy ?我可以看到函数定义不同,但我指的是一般的 API。为什么会有cu...开头的api一个以 cuda... 开头?每个 API 应该在什么时候使用?

最佳答案

方法名称以 cu... 开头的 API就是所谓的Driver API。方法名称以 cuda... 开头的 API是运行时 API。

最初(直到 CUDA 3.0)API 已经完全分离。粗略的分类是:Runtime API 更简单、更方便。 Driver API 旨在用于更复杂的“低级”编程(可能还有库开发)。

从 CUDA 3.0 开始,这两个 API 都可以互操作。这意味着,例如,当您使用驱动程序 API 分配内存时,使用 cuMemAlloc ,那么您也可以在运行时 API 调用中使用相同的内存,例如 cudaMemcpy .

主要的实际区别在于,在运行时 API 中,您可以使用特殊的 kernel<<<...>>>启动语法,而在驱动程序 API 中,您可以将 CUDA 程序加载为“模块”(使用诸如 cuModuleLoad 之类的方法),以 CUBIN 文件或 PTX 文件的形式给出,并使用 cuLaunchKernel 以编程方式启动这些内核.

事实上,我认为对于 CUDA 程序的最大部分,差异可以忽略不计:几乎所有其他功能(除了内核/模块处理)在两个 API 中都可用,并且在两者中几乎相等。这指的是方法(cuMemcpycudaMemcpy 等,以及结构 CU_eventcudaEvent 等)。

更多信息可通过涉及关键字“CUDA Runtime Driver API”的网络搜索找到,例如,https://devtalk.nvidia.com/default/topic/522598/what-is-the-difference-between-runtime-and-driver-api-/

关于api - cuda api cu... 和 cuda ... 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22639097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com