目录
CUDA Runtime
运行时在 cudart
库中实现,该库通过 cudart.lib
或 libcudart.a
静态链接到应用程序,或者通过 cudart.dll
或 libcudart.so
动态链接到应用程序。需要 cudart.dll
和/或 cudart.so
进行动态链接的应用程序通常将它们作为应用程序安装包的一部分。只有在链接到 CUDA
运行时同一实例的组件之间传递 CUDA
运行时符号的地址才是安全的。
它的所有入口点都以 cuda
为前缀。
正如异构编程中提到的,CUDA
编程模型假设系统由主机和设备组成,每个主机和设备都有自己独立的内存。设备内存概述了用于管理设备内存的运行时函数。
共享内存说明了如何使用线程层次结构中引入的共享内存来最大限度地提高性能。
页锁定主机内存引入了页锁定主机内存,需要将内核执行与主机和设备内存之间的数据传输重叠。
异步并发执行描述了用于在系统中的各个级别启用异步并发执行的概念和 API。
多设备系统展示了编程模型如何扩展到具有连接到同一主机的多个设备的系统。
错误检查描述了如何正确检查运行时生成的错误。
调用堆栈提到了用于管理 CUDA
C++ 调用堆栈的运行时函数。
纹理和表面内存呈现纹理和表面内存空间,提供另一种访问设备内存的方式;它们还公开了 GPU 纹理硬件的子集。
图形互操作性介绍了运行时提供的各种函数,用于与两个主要图形 API(OpenGL
和 Direct3D
)进行互操作。
待更新