4.5. 什么是 CUDA Driver API?
CUDA Driver API 是 NVIDIA CUDA 驱动的用户空间组件。
提供了类似 C 标准库的工具函数:例如,用于在 GPU 设备上分配 内存 的函数 cuMalloc 。
CUDA 工具包。CUDA Driver API 位于应用程序或其他工具包组件与 GPU 之间。改编自《Professional CUDA C Programming Guide》。
很少有 CUDA 程序直接使用 CUDA Driver API,大多数情况下开发者会选择更易用的 CUDA Runtime API。请参阅 CUDA Driver API 文档中的 章节。
CUDA Driver API 通常不进行静态链接,而是动态链接,在 Linux 系统上,其典型动态库名称为 libcuda.so。
CUDA Driver API 具有二进制兼容性:针对旧版 CUDA Driver API 编译的应用程序,可在安装新版本 CUDA Driver API 的系统上运行。也就是说,操作系统的二进制加载器可以加载新版 CUDA Driver API,而程序功能保持不变。
关于 CUDA C/C++ 应用程序的详细信息,请参阅 NVIDIA 的 CUDA C/C++ 最佳实践指南。
需要注意的是,CUDA Driver API 是闭源的,您可以在 此处 找到其文档。
尽管使用较少,但存在一些项目试图提供或使用 CUDA Driver API 的开源替代方案,例如 LibreCuda 和 tinygrad。详情请参阅其源代码。