CUDA专题6—CUDA开发者必备:NVCC编译兼容性深度指南

1. 编程接口

CUDA C++为熟悉C++编程语言的用户提供了一条便捷路径由一组极简的C++语言扩展和一个运行时库构成。

核心语言扩展已在"编程模型"章节中介绍。这些扩展允许程序员将内核定义为C++函数,并通过新增语法指定每次调用函数时的网格(grid)和线程块(block)维度。任何包含这些扩展的源文件必须按照使用NVCC编译中所述方式用nvcc编译。

运行时库在CUDA运行时章节引入。它提供了在主机上执行的C和C++函数,用于分配/释放设备内存、在主机内存与设备内存间传输数据、管理多设备系统等。

该运行时库构建在更低层级的C API(即CUDA驱动API)之上,应用程序也可直接调用驱动API。驱动API通过暴露更底层的概念(如设备端的宿主进程模拟——CUDA上下文,以及动态加载库模拟——CUDA模块)提供了额外的控制层级。由于大多数应用无需这种精细控制,且使用运行时库时上下文和模块管理是隐式进行的(代码更简洁),因此多数应用不直接使用驱动API。由于运行时库与驱动API可互操作,需要部分驱动API功能的应用通常默认使用运行时API,仅在必要时调用驱动API。驱动API在驱动API章节引入,其完整描述见参考手册。

1.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI专题精讲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值