CUDA 冬令营1

基本概念

1.CPU的任务:为串行任务优化
2.GPU的任务:为并行任务优化
3.L4T ubuntu:基于NVIDIA Tegra芯片的ubuntu系统(linux for Tegra)
4.Tegra:继承了ARM CPU 和 NVIDIA GPU的处理器芯片
5.X86:高性能,复杂指令,多用于win
6.ARM:低功耗高效率,简易指令集,Linux
7.GPU的产生:CPU的两个瓶颈 存储器墙(IO跟不上)时钟频率墙(散热)

CPU到GPU

所有的处理优化逻辑变成计算核心
CUDA 冬令营1_第1张图片
CUDA 冬令营1_第2张图片CUDA 冬令营1_第3张图片

CUDA 冬令营1_第4张图片
CUDA 冬令营1_第5张图片
CUDA 冬令营1_第6张图片

CUDA线程层次

CUDA 冬令营1_第7张图片
CUDA 冬令营1_第8张图片
CUDA 冬令营1_第9张图片
block的意义:(为什么不直接用通过grid管理所有的thread)不用直接去分配N个线程 分班去管理 有利于内存管理
GPU上运行函数kernel对应一个Grid,每个Grid内有多个Block,每个Block由多个Thread组成。
执行原理参考1
执行原理参考2
硬件层面:一个DEVICE由多个SM和其他资源组成,一个SM由多个SP(CUDA Core)和其他资源组成
软件层面:一个Grid由多个block组成,Block由多个Thread组成,Block内的Thread可以通过共享内存通信,也可以通过函数同步
线程调度:CUDA的线程调度粒度是32个Thead,即1个Warp,Warp在SP上是随机且多次被调度执行的,Warp的切换开销可以忽略不计。

你可能感兴趣的:(CUDA,cuda)