【CUDA 基础】4.3 内存访问模式


title: 【CUDA 基础】4.3 内存访问模式
categories:
- CUDA
- Freshman
tags:
- 内存访问模式
- 对齐
- 合并
- 缓存
- 结构体数组
- 数组结构体
toc: true
date: 2018-05-03 22:08:07

weixingongzhonghao.jpg
Abstract: 本文介绍内存的访问过程,也就是从应用发起请求到硬件实现的完整操作过程,这里是优化内存瓶颈的关键之处,也是CUDA程序优化的基础。
Keywords: 内存访问模式,对齐,合并,缓存,结构体数组,数组结构体

开篇废话

“物有本末,事有终始,知所先后,则近道矣”
——《大学·大学之道章》

这句话出自大学,大学非我们现在上的大学,而我不知道我们现在的大学为什么叫大学,是否和《大学》有关系,但是大学第一章,就是讲道,让读书人懂得道:“格物,致知,诚意,正心,修身,齐家,治国,平天下”,但是我们现在似乎所有的课程都不讲这些了——可能是因为时间过去太久了,所以成了糟粕,但是我觉得对我还是有些启发的。
第一句引用的话没有官方解释,我觉得小学时候学的语文,概括中心思想,我觉得都是扯淡,一百个人有一百种想法,但是答案却是统一的,所以,我觉得这种就是培养有流水线上的机器,我只说这句话对我的启发,而且我们就从机器学习这个角度说。
举个例子,忽略时间,单从技术的角度,神经网络算是始还是终?是本还是末?我觉得不是始,也不是终。更不是本。
对于人工智能领域,我们的始是对于智慧的理解和再造,终点就是制造出人类智慧的机器,而神经网络只是我们要探索的深林里面一个大数,当有人认为这是最高峰的时候,那么他会不断地向上爬,直到最顶端,也许发现到达了我们的最终目的,但更大的可能性是周围还有更高的树。所以神经网络不是始也不是终,只是中间的一个过程,必须承认,我们走了三四十年才看到这棵这么大的树,但是如果还没爬到最顶端,就认定这个树就是终点了,似乎缺少一些谨慎。
而整个学科的本,我认为是数学,当如果哪一天证明,数学的整个体系在人工智能面前崩溃了,各种反公理,反定理的事件都在人工智能中发生了,那就证明我错了。但目前,本还是本。
废话有点多,今天我们要学习的也是CUDA中最最最重要的课程之一,当然我不会一口气写完,可能要写两天,但是以一篇的篇幅发表,力求写清楚写明白。用一些简单通俗,但是足够恰当的比喻和一些实例,让大家更容易了解。

多数GPU程序容易受到内存带宽的限制,所以最大程度的利用全局内存带宽,提高全局加载效率(后面会详细说明),是调控内核函数性能的基本条件。如果不能正确调控全局内存使用,那么优化方案可能收效甚微。
CUDA执行模型告诉我们,CUDA执行的基本单位是线程束,所以,内存访问也是以线程束为基本单位发布和执行的,存储也一致。我们本文研究的就是这一个线程束的内存访问,不同线程的内存请求,其目标位置的不同,可以产生非常多种情况。所以本篇就是研究这些不同情况的,以及如何实现最佳的全局内存访问。
注意:访问可以是加载,也可以是存储。
注意,我们本文使用命令进行编译,省去反复修改CMakelist的麻烦.

对齐与合并访问

完整内容与例子访问 https://face2ai.com/CUDA-F-4-3-内存访问模式/

转载于:https://www.cnblogs.com/face2ai/p/9756617.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值