CUDA系列学习(一)An Introduction to GPU and CUDA

本文详细介绍了CUDA的GPU硬件结构,包括GPU与CPU的区别、CUDA硬件层面的特性,如SIMT核心和多处理器SMX。还涵盖了CUDA的安装、CUDA编程的核心概念,如kernel、线程、内存管理和执行模型。最后,通过一个简单的数组加法示例展示了CUDA编程的基本过程。
摘要由CSDN通过智能技术生成

本文从软硬件层面讲一下CUDA的结构,应用,逻辑和接口。分为以下章节:

(一)、GPU与CPU

(二)、CUDA硬件层面

(三)、CUDA安装

(四)、CUDA 结构与接口

             4.1 Kernels

             4.2 Thread,Block, Grid

             4.3 Memory

             4.4 Execution

(五)、码HelloWorld——数组求和


希望感兴趣的同学可以一起讨论。






(一)、GPU与CPU

对于浮点数操作能力,CPU与GPU的能力相差在GPU更适用于计算强度高,多并行的计算中。因此,GPU拥有更多晶体管,而不是像CPU一样的数据Cache和流程控制器。这样的设计是因为多并行计算的时候每个数据单元执行相同程序,不需要那么繁琐的流程控制,而更需要高计算能力,这也不需要大cache。








(二)、CUDA硬件层面:

Nvidia于2006年引入CUDA,一个GPU内嵌通用并行计算平台。CUDA支持C, C++, Fortran, Java, Python等语言。


那么一个多线程CUDA程序如何执行的呢?

GPU建立在一组多处理器(SMX,Streaming Multiprocessors)附近。

一个SMX的配置:

  • 192 cores(都是SIMT cores(Single Instruction Multiple Threads) and 64k registers(如下图所示)

         GPU中的SIMT对应于CPU中的SIMD(Single Instruction Multiple Data

  • 64KB of shared memory / L1 cache
  • 8KB cache for constants
  • 48KB texture cache for read-only arrays
  • up to 2K threads per SMX



不同显卡有不同配置(即SMX数量不同),几个例子:

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值