
CUDA
文章平均质量分 79
m0_46521579
这个作者很懒,什么都没留下…
展开
-
CUDA学习笔记0929
(1)GPU缓存是非可编程存储区域(2)GPU包含4类缓存:L1缓存,每个流处理器一个L2缓存,全部流处理器共享一个L1和L2都可用于存储本地和全局内存中的数据,包括寄存器溢出数据(3)只读常量缓存,每个流处理器一个(4)只读纹理缓存,每个流处理器一个。原创 2023-09-29 01:08:48 · 341 阅读 · 0 评论 -
CUDA学习笔记0924
线程束占用率:nvprof --metrics achieved_occupancy。原创 2023-09-24 18:45:12 · 358 阅读 · 0 评论 -
笔记04:全局内存
寄存器、共享内存、本地内存、常量内存、纹理内存和全局内存一个核函数中的线程都有自己私有的。一个线程块有自己的,对同一个线程块中所有的线程都可见,其内容持续线程块的整个生命周期。所有线程都可以访问。和。其中纹理内存为各种数据布局提供了不同的寻址模式和滤波模式。对于一个应用程序来说,全局内存、常量内存和纹理内存中的内容具有相同的生命周期。原创 2023-08-14 22:24:28 · 428 阅读 · 0 评论 -
CUDA NPP库
NPP API被定义在以下文件中:npp.h、nppdefs.h、nppcore.h、nppi.h、npps.h,所有的头文件包括在CUDA工具包目录下的:/include/NPP的功能被分为三个不同的组:(1)核心库(NPPC):npp.h、nppdefs.h、nppcore.h(2)图像处理库(NPPI):nppi.h、nppi_xxx.h(3)信号处理库(NPPS):npps.h、npps_xxx.h。原创 2023-08-13 23:18:05 · 1271 阅读 · 0 评论 -
笔记03:CUDA执行模型
CUDA编程模型中两个主要的抽象概念:内存层次结构和线程层次结构。CUDA执行模型有助于在指令吞吐量和内存访问方面提高代码效率。GPU架构围绕一个流式多处理器(SM)的可扩展阵列搭建的,可以通过复制这种架构的构建块来实现GPU的硬件并行。Fermi SM的关键组件:(1)CUDA核心(2)共享内存/一级缓存(3)寄存器文件(4)加载/存储单元(5)特殊功能单元(6)线程束调度器GPU。原创 2023-08-03 21:21:21 · 490 阅读 · 0 评论 -
CUDA执行模型
线程束是SM中基本的执行单元。当一个线程块的网格被启动后,网格中的线程块分布在SM中。一旦线程块被调度到一个SM中,线程块中的线程会被进一步划分成线程束。一个线程束由32个连续的线程组成,在一个线程束中,所有的线程按照单指令多线程方式执行。所有线程都执行相同的指令,每个线程在私有数据上进行操作。从逻辑角度看,线程块是线程的集合,可以被组织成一维、二维或三维布局。从硬件角度看,线程块是一维线程束的集合。在线程块中线程被组织成一维布局,每32个连续线程组织成一个线程束。原创 2023-08-13 11:32:24 · 233 阅读 · 0 评论 -
笔记02:CUDA编程模型
在一个异构环境中包含多个CPU和GPU,每个GPU和CPU的内存都由一条PCI-e总线分隔开,需要注意区分(1)主机:CPU及其内存(主机内存)(2)设备:GPU及其内存(设备内存)从CUDA6.0开始,NVIDIA提出了名为“统一寻址”的编程模型的改进,连接了主机内存和设备内存空间,可使用单个指针访问CPU和GPU内存,无须彼此之间手动拷贝数据。重要的是如何为主机和设备分配内存空间以及如何在CPU和GPU之间拷贝共享数据。原创 2023-08-01 17:39:29 · 518 阅读 · 0 评论