了解CUDA编程首先必不可少的,需要熟悉英伟达GPU的内存分布,如下图:

整体内存结构按照层次划分,和OpenCL类似:

  • SM:流处理器簇,为GPU的对小硬件调度单位,一次性可以调度多个SP
  • SP:GPU 硬件内核执行单元,每个SP相当于一个CPU核。
  • Register File:寄存器文件,访问速度最快的存储单元,用来存储SP上运行的线程内部活跃的寄存器。
  • shared memory:共享内存,每个SM都有一个共享内存,在同一个SM内的共享内存,SP都可以访问到,而且共享内存是内核代码可以申请控制。
  • Texture Cache:纹理内存 为全局内存的一个特殊视图,用来存储插值计算所需的数据,例如,显示2D或3D图像时需要的查找表。拥有基于硬件进行插值的特性。
  • Constant Cache:常量内存,用于存储只读的数据,所有的GPU卡均对其进行缓存,与纹理内存一样,常量内存也是全局内存建立的一个视图。
  • Global Memory:全局内存,所有kernel都可以访问到,速度最慢
  • SPU: Special-Purpose Unit 专用单元,执行如高速的24位正弦函数/余弦函数/指数函数操作等类似的特殊硬件指令。

CUDA GPU内存结构相关推荐

  1. CUDA笔记--GPU的结构与SM(流处理器)结构

    GPU的结构简单的可以分为: 一个连接GPU和PCIe总线的主机接口: 0~2个复制引擎: 一个连接GPU与GPU内存设备的DRAM接口: 一定数目的TPC或者GPC(纹理处理集群或图形处理集群),每 ...

  2. Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况

    Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...

  3. BEP 7:CUDA外部内存管理插件(上)

    BEP 7:CUDA外部内存管理插件(上) 背景和目标 在CUDA阵列接口使得能够共享不同的Python之间的数据库的访问CUDA设备.但是,每个库都与其它库区别对待.例如: • Numba在内部管理 ...

  4. GPU 内存的分级综述(gpu memory hierarchy)

    GPU 内存的分级(gpu memory hierarchy) 小普 中科院化学所在读博士研究生 研究课题,计算机模拟并行软件的开发与应用 Email:  yaopu2019@126.com (欢迎和 ...

  5. 深度学习 占用gpu内存 使用率为0_深度学习的完整硬件指南

    原标题 | A Full Hardware Guide to Deep Learning 作者 | Tim Dettmers 译者 | linlh.呀啦呼(Tufts University).Ryan ...

  6. CUDA: GPU高性能运算

    CUDA: GPU高性能运算 2013-10-11 22:23 5650人阅读 评论(0) 收藏 举报 分类: CUDA(106) 目录(?)[+] 0 序言 CUDA是异构编程的一个大头,洋洋洒洒的 ...

  7. [人工智能-深度学习-39]:环境搭建 - 训练主机硬件选择全指南(CPU/GPU/内存/硬盘/电源)

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  8. 适用于CUDA GPU的Numba例子

    • 适用于CUDA GPU的Numba例子 矩阵乘法 这是使用CUDA内核的矩阵乘法的简单实现: @cuda.jit def matmul(A, B, C): """Pe ...

  9. CUDA统一内存分析

    CUDA统一内存分析 PascalMIG 如 NVIDIA Titan X 和 NVIDIA Tesla P100 是第一个包含页 GPUs 定额引擎的 GPUs ,它是统一内存页错误处理和 MIG ...

最新文章

  1. mysql分页关键词_数据库分页关键字
  2. 跟我一起学extjs5(05--主界面上增加顶部和底部区域)
  3. python【数据结构与算法】倍增思想
  4. Apache Ignite与Apache Hive的个人理解与总结
  5. Java 8 - 正确高效的使用并行流
  6. 安装linux系统选择重新分区会怎么样,弱弱的问一下 双系统安装中linux如何分区?分区太多会不会不好?...
  7. 六、数据的基本统计描述
  8. 调用restful接口_SSM实现RESTFul风格的CURD操作
  9. 我的MYSQL学习心得(三) 查看字段长度
  10. 云计算与大数据技术应用 第四章
  11. 台式计算机cpu允许温度,台式机cpu温度多少正常 台式电脑工作时温度范围
  12. 关于淘宝和12306的分析
  13. sel在c语言,iOS 你所不知道的SEL
  14. 咳血的独角兽5——挥向投资人的镰刀
  15. 靖江最正宗过年习俗 只有3%的人完全继承下来了
  16. OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
  17. 获取当前时间、获取当前月的第一天、获取当前年的第一天
  18. 【github】机器学习(Machine Learning)深度学习(Deep Learning)资料
  19. 逃离迷宫的路径(打印路径)
  20. pat乙级 1006 题解

热门文章

  1. JeecgBoot 3.1.0 版本发布,基于代码生成器的企业级低代码平台
  2. 轻量级J2EE持久层解决方案,MiniDao-PE版 1.5.4【版本发布】
  3. Linq语言集成查询
  4. 使用CMake生成sln项目和VS工程遇到的问题
  5. 1.1什么是数据仓库
  6. 前端倒计时不准的问题
  7. iOS中MVC等设计模式详解
  8. -webkit-min-device-pixel-ratio的常见值对照
  9. 通过批处理文件启动Oracle服务
  10. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】