CUDA专题5—从理论到实践:解锁CUDA异构计算与异步SIMT的高性能奥秘

1.1 异构编程

如图7所示,CUDA编程模型假设CUDA线程在一个物理上独立的设备上执行,该设备作为运行C++程序主机的协处理器运作。例如,当内核在GPU上执行而C++程序的其余部分在CPU上执行时,就是这种情况。

CUDA编程模型还假设主机和设备各自维护独立的DRAM内存空间,分别称为主机内存和设备内存。因此,程序通过调用CUDA运行时(如编程接口中所述)来管理内核可见的全局内存、常量内存和纹理内存空间。这包括设备内存的分配与释放,以及主机内存与设备内存之间的数据传输。

统一内存提供了托管内存来桥接主机和设备内存空间。托管内存可作为具有统一地址空间的单一连贯内存映像,被系统中所有CPU和GPU访问。这一功能支持设备内存的超额订阅,并通过消除在主机和设备上显式镜像数据的需求,极大简化了应用程序移植工作。
在这里插入图片描述

注意:串行代码在主机上执行,而并行代码在设备上执行。

1.1.1 主机-设备协同计算模型

CUDA的异构编程模型构建于物理隔离的执行环境之上。如图7所示,CPU作为主机(H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI专题精讲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值