【CUDA 基础】6.5 流回调
【CUDA 基础】6.5 流回调

流回调是一种特别的技术,有点像是事件的函数,这个回调函数被放入流中,当其前面的任务都完成了,就会调用这个函数,但是比较特殊的是,在回调函数中,需要遵守下面的规则

【CUDA 基础】6.2 并发内核执行
【CUDA 基础】6.2 并发内核执行

继续前面的内容,上文中我们说到了流,事件和同步等的概念,以及一些函数的用法,接下来的几个例子,介绍并发内核的几个基本问题,包括不限于以下几个方面

【CUDA 基础】6.1 流和事件概述
【CUDA 基础】6.1 流和事件概述

前面几章我们一直围绕GPU设备展开,我们的代码除了在核函数的配置的部分研究过主机端执行的代码,其他部分基本都是在设备代码上进行的,这一章我们就从主机端来讲讲如何优化CUDA应用。

【CUDA 基础】6.0 流和并发
【CUDA 基础】6.0 流和并发

本文是Freshman系列的最后一篇,考虑到接下来要说的是比较高级的内容,所以把其划分到下个系列中,作为进阶内容介绍,所以本章是初级阶段的收尾。

【CUDA 基础】5.6 线程束洗牌指令
【CUDA 基础】5.6 线程束洗牌指令

前面介绍了共享内存,常量内存,只读内存的使用,今天我们来研究一个比较特殊的机制,名字也很特殊,叫做线程束洗牌指令。 支持线程束洗牌指令的设备最低也要3.0以上

【CUDA 基础】5.5 常量内存
【CUDA 基础】5.5 常量内存

本文介绍常量内存和只读缓存,常量内存是专用内存,他用于只读数据和线程束统一访问某一个数据,常量内存对内核代码而言是只读的,但是主机是可以修改(写)只读内存的,当然也可以读。

【CUDA 基础】5.4 合并的全局内存访问
【CUDA 基础】5.4 合并的全局内存访问

还记得我们矩阵转置的例子么,在全局内存部分介绍的:在4.4中我们当时只有共享内存这一种工具可以使用,为了达到最高效率,我们要配合一级缓存,二级缓存进行编程,来提高转置的效率