CUDA部分

CPU|GPU程序执行流程

1、CPU基于低延时设计,由运算器(ALU,Arithmetic and Logic Unit 算术逻辑单元)和控制器 (CU,Control Unit),以及若干个寄存器和高速缓冲存储器组成,功能模块较多,擅长逻辑控制,串行运算。

2、GPU基于大吞吐量设计,拥有更多的ALU用于数据处理,适合对密集数据进行并行处理,擅长大规模并发计算,因此GPU也被应用于AI训练等需要大规模并发计算场景。

CPU和GPU在并行处理的优化方向

CPU:目标在于减少memory latency(CPU|GPU在memory获取数据所需要的时间)
GPU:目标在于提高throughput(吞吐率)

CPU:
适合复杂逻辑的运算
优化方向在于减少memory latency (内存延迟)
相关的技术有,cache hierarchy, pre-fetch, branch-prediction,multi-threading
不同于GPU,CPU硬件上有复杂的分支预测器去实现branch-prediction
由于CPU经常处理复杂的逻辑,过大的增大core的数量并不能很好的提高throughput
GPU:
适合简单单一的大规模运算。比如说科学计算,图像处理,深度学习等等
优化方向在于提高throughput (吞吐率)
相关的技术有,multi-threading(多线程),warp schedular(warp 调度)
不同于CPU,GPU硬件上有复杂的warp schedular去实现多线程的multi-threading
由于GPU经常处理大规模运算,所以在throughput很高的情况下,GPU内部的memory latency上带来的性能损失不是那么明显
然而CPU和GPU间通信时所产生的memory latency需要重视

QiuckLearnFromPicture

GPU编程模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值