在cudart库里实现了CUDA C运行时,应用可以链接静态库cudart.lib或者libcudart.a,动态库cudart.dll或者libcudart.so。动态链接cudart.dll或者libcudart.so的应用需要把CUDA的动态链接库(cudart.dll或者libcudart.so)包含到应用的安装包里。
CUDA所有的运行时函数都以cuda为前缀。
在异构编程这一章节提到,CUDA编程模型假设系统是由一个自带各自的内存的主机和设备组成。设备内存这一小节概述用于管理设备内存的运行时函数。
共享内存这一小节说明在线程层次中提到的共享内存的用法以达到最大化性能。
Page-Locked主机内存这节介绍page-locked内存,要求与核函数执行在主机和设备之间数据交换时同时发生。
异步并行执行这节描述系统中在不同级别使用的异步并行执行的概念和API。
多设备系统这节展示编程模型怎样扩展同样一个主机连接多个设备的系统。
错误检查这节描述怎么合适地检查运行时产生的错误。
调用堆栈这节提到用于管理CUDA C调用堆栈的运行时函数。
纹理和曲面内存这节显示提供另外的访问设备内存的方法的纹理和曲面内存,同时它们也显示GPU纹理硬件的子集。
图形互操作性介绍各种提供与两种主要的图形API-OpenGL和Direct3D的交互的运行时函数。
3.2.1 初始化
没有明确的运行时的初始化函数。运行时函数(更具体地说,除了设备的和参考手册的版本控制章节的函数)初次调用时会初始化。在运行运行时时,一点需要记住的是定时的运行时和解释错误代码的函数会被调用。
在初始化期间,运行时为系统中的每个设备建立一个CUDA上下文(上下文这节有关于CUDA上下文的描述)。
未完待续...
CUDA C编程入门-编程接口(3.2)CUDA C运行时