title: [CUDA 基础]5.0 共享内存和常量内存 categories: - CUDA - Freshman tags: - 共享内存 - 常量内存 toc: true date: 2018-06-01 16:46:49 Abstract: 本文是第五章关于CUDA共享内存和常量内存的概述 Keywords: 共享内存,常量内存 开篇废话 本文是CUDA第五章的概论,来给出本章的大概思路,文章短小,不说废话. 共享内存和常量内存 在本章中,我们要学习: 数据在共享内存中的安排 二维共享…
title: [CUDA 基础]5.4 合并的全局内存访问 categories: - CUDA - Freshman tags: - 合并 - 转置 toc: true date: 2018-06-04 21:34:22 Abstract: 本文介绍使用共享内存进行矩阵转置以减少内存的交叉访问 Keywords: 合并,转置 开篇废话 没废话,看以前的废话感觉自己像个傻瓜..就像以后看我正在写的文字一样. 还记得我们矩阵转置的例子么,在全局内存部分介绍的:4.4核函数可达到的带宽 在4.4中我…
title: [CUDA 基础]0.0 腾讯云CUDA环境搭建 categories: CUDA Freshman tags: CUDA 环境搭建 toc: true date: 2018-02-13 22:04:54 Abstract: 本文主要为不支持CUDA的电脑用户提供一个可供选择的CUDA学习环境 Keywords: 腾讯云,CUDA,GPU云 开篇废话 今天我们开始学习CUDA,又到了一年一次的,逼婚,催生,问工资,问成绩,炫富,炫孩子,炫工作的节日了.我还是想找个地方安安静静的看看…
GPU包含数百个数学计算单元,具有强大的处理运算能力,可以强大到计算速率高于输入数据的速率,即充分利用带宽,满负荷向GPU传输数据还不够它计算的.CUDA C除全局内存和共享内存外,还支持常量内存,常量内存用于保存在核函数执行期间不会发生变化的数据,使用常量内存在一些情况下,能有效减少内存带宽,降低GPU运算单元的空闲等待. 使用常量内存提升性能 使用常量内存可以提升运算性能的原因如下: 对常量内存的单次读操作可以广播到其他的"邻近(nearby)"线程,这将节约15次读取操作: 高速…
title: [CUDA 基础]4.1 内存模型概述 categories: - CUDA - Freshman tags: - CUDA内存模型 - CUDA内存层次结构 - 寄存器 - 共享内存 - 本地内存 - 常量内存 - 纹理内存 - 全局内存 toc: true date: 2018-04-28 22:28:08 Abstract: 本文介绍CUDA编程的内存模型个概述,主要讲解CUDA包含的几种内存,以及各种内存的主要特点和用途,这篇作为内存部分地图一样,指导我们后面的写作和学习.…
title: [CUDA 基础]5.6 线程束洗牌指令 categories: - CUDA - Freshman tags: - 线程束洗牌指令 toc: true date: 2018-06-06 19:53:12 Abstract: 本文介绍线程束洗牌指令的用法 Keywords: 线程束洗牌指令 开篇废话 赶紧写博客,少说废话. 前面介绍了共享内存,常量内存,只读内存的使用,今天我们来研究一个比较特殊的机制,名字也很特殊,叫做线程束洗牌指令. 支持线程束洗牌指令的设备最低也要3.0以上,…
title: [CUDA 基础]5.2 共享内存的数据布局 categories: - CUDA - Freshman tags: - 行主序 - 列主序 toc: true date: 2018-06-02 21:01:03 Abstract: 本文主要研究几个关于共享内存的例子,以此来了解共享内存的性质,为我们的核函数加速 Keywords: 行主序,列主序,填充与无填充,从线程索引体映射数据元素 开篇废话 同一个东西,A花大工夫做到极致,成本100,售价200:C模仿A的做法快速的通过仿制…
title: [CUDA 基础]5.1 CUDA共享内存概述 categories: - CUDA - Freshman tags: - CUDA共享内存模型 - CUDA共享内存分配 - CUDA共享内存访问 - CUDA共享内存配置 - CUDA共享内存同步 toc: true date: 2018-06-01 17:46:23 Abstract: 本文为CUDA内存的概述,介绍共享内存的模型,分配,访问,配置,同步等内容 Keywords: 模型,分配,访问,配置,同步 开篇废话 这里首先…
title: [CUDA 基础]4.0 全局内存 categories: - CUDA - Freshman tags: - 全局内存 - CUDA内存模型 - CUDA内存管理 - 全局内存编程 - 全局内存访问模式 - 全局内存数据布局 - 统一内存编程 - 提高内存吞吐量 toc: true date: 2018-04-28 09:43:50 Abstract: 本文为学习CUDA编程的第四章的概要,主要介绍第四章研究的对象 Keywords: 全局内存,CUDA内存模型,CUDA内存管理…
常量内存: 常量内存用于保存在核函数执行期间不会发生变化的数据,在变量面前添加  __constant__  修饰符: __constant__  Sphere  s[SPHERES]; cudaMemcpyToSymbol(s, temp_s, sizeof(Sphere)*SPHERES); 这个特殊版本的cudaMemcpy()用于将主机内存复制到GPU上的常量内存. 从常量内存读取相同的数据可以节约内存带宽,主要原因: (1)对常量内存的单次读操作可以广播到其他的“邻近”线程,这将节约1…