gpu cpu 共享内存 提高传输速度_GPU编程3--GPU内存深入了解

本文详细介绍了GPU内存的各个层次,包括Registers、Local Memory、Shared Memory、Constant Memory、Texture Memory和Global Memory。重点强调了不同内存类型的速度和使用策略,如减少寄存器使用以提高并行计算速度,以及有效利用Shared Memory来避免内存竞争。此外,还讨论了GPU缓存的工作原理,与CPU缓存的一致性差异,展示了GPU能处理大量核心的原因。

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

04af5080a656ebe10587d14dc0335e87.png

我们在"GPU中的基本概念”这一节中,讲到过GPU中的内存模型,但那一节只是对模型的简单介绍,这一节,我们对GPU的内存进行更加深入的说明。

猫叔:GPU编程1--GPU中的基本概念​zhuanlan.zhihu.com
965577cfe392f1d0c897f11f783d5487.png

首先来回顾一下GPU中的内存:

  • 每个线程都有自己的私有本地内存(Local Memory)和Resigter
  • 每个线程块都包含共享内存(Shared Memory),可以被线程中所有的线程共享,其生命周期与线程块一致
  • 所有的线程都可以访问全局内存(Global Memory)
  • 只读内存块:常量内存(Constant Memory)和纹理内存(Texture Memory)
  • 每个SM有自己的L1 cache,SM通过L2 cache连接到Global Memory

这里要再强调一下Local Memory,它是每个线程专有的线程,但却是存在于Global Memory中的,结合我们在第一节”GPU中的基本概念“中拿学校和学生举的例子,可以理解为:学生的课桌都放满了,只能在操场里给他再找个地方放东西,所以访问速度是很慢的。

内存访问速度

这一点跟CPU比较像,就是存储空间越大,访问速度越慢,GPU内存的访问速度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值