CUDA学习笔记之 CUDA存储器模型

本文介绍了CUDA的存储器模型,包括GPU片内的register和shared memory,板载显存的local memory、constant memory、texture memory和global memory,以及host内存的host memory和pinned memory。CUDA编程中,register访问延迟低,shared memory用于线程间通信,global memory存在于显存中,host memory则分为pageable和pinned类型。pinned memory用于加速主机端与设备端的数据传输,并可通过cudaMalloc等API进行管理。此外,还讨论了constant memory和texture memory的特性及其在CUDA编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CUDA存储器模型:

GPU片内:register,shared memory;

板载显存:local memory,constant memory, texture memory, texture memory,global memory;

host 内存: host memory, pinned memory.

 

register: 访问延迟极低;

              基本单元:register file (32bit/each)

              计算能力1.0/1.1版本硬件:8192/SM;

              计算能力1.2/1.3版本硬件: 16384/SM;

              每个线程占有的register有限,编程时不要为其分配过多私有变量;

local memory:寄存器被使用完毕,数据将被存储在局部存储器中;

                     大型结构体或者数组;

                     无法确定大小的数组;

                     线程的输入和中间变量;

                     定义线程私有数组的同时进行初始化的数组被分配在寄存器中;

shared memory:访问速度与寄存器相似;

                         实现线程间通信的延迟最小;

                         保存公用的计数器或者block的公用结果;

                     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值