0 目标
- 快速掌握
CUDA
编程的大致方式 - 了解
CUDA
软硬件组织架构与关系 - 了解如何查找文档
1 介绍
1.1 架构
-
CUDA (Compute Unified Device Architecture):统一计算设备架构,在 GPU 上发布的一个新的硬件和软件架构,它不需要映射到一个图形 API 便可在 GPU 上管理和进行并行数据计算
-
CPU、GPU架构对比:GPU 被设计用于高密度和并行计算,更确切地说是用于图形渲染,因此更多的晶体管被投入到数据处理而不是数据缓存和流量控制
-
CUDA软件堆栈:CUDA 软件堆栈由几层组成:一个硬件驱动程序,一个应用程序编程接口(API)和它的Runtime, 还有二个高级的通用数学库,CUFFT 和CUBLAS
-
CUDA内存操作:CUDA 提供一般 DRAM 内存寻址方式: Gather 和 Scatter内存操作,它可以在 DRAM的任何区域进行读写数据的操作
-
允许并行数据缓冲或者在 On-chip 内存共享使数据更接近ALU,可以进行快速的常规读写存取,在线程之间共享数据。应用程序可以最小化数据到 DRAM 的 overfetch 和 round-trips, 从而减少对 DRAM 内存带宽的依赖
大约 5 分钟