一文理解CPU,GPU,CUDA,cudnn

首先搬运参考资料:

  1. GPU,CUDA,cuDNN的理解
    2.CUDA与cuDNN

关于CPU和GPU


借用参考资料1的图,可以看到CPU更多的单元在于控制和缓存,而GPU更多单元为ALU计算单元,而图像处理往往需要大量重复相似的计算,但不需要过多的控制,所以由此GPU的优势就体现出来的。
如果你要在GPU上跑系统,那还是洗洗睡吧~

关于GPU,Nvidia的一家

GPU当下大多采用英伟达的技术,所以此处就还是以Nvidia进行说明
打游戏:Nvidia相应显卡驱动+相应要求
深度学习:驱动+CUDA+cudnn
CUDA和cudnn到底是什么呢?
CUDA是Nvdia提供的一个并行计算架构。
看见之前图中好多好多ALU,没有并行架构,一个一个ALU设置控制可还得了?
cudnn是深度神经网络的GPU加速库,在GPU上实现高性能现代并行计算,使深度神经网络研究人员更多聚焦于网络本身,而不是对GPU资源的优化处理上。
资料2中一个很好的比喻,CUDA是一个工作平台,上面可以有许多工具帮助用户进行并行计算,cudnn是许多工具中的一种,作用就是加速。

小知识

摘抄自资料1,在 CUDA 架构下,显示芯片执行时的最小单位是thread。数个 thread 可以组成一个block。一个 block 中的 thread 能存取同一块共享的内存,而且可以快速进行同步的动作。每一个 block 所能包含的 thread 数目是有限的。不过,执行相同程序的 block,可以组成grid。

你可能感兴趣的:(一文理解CPU,GPU,CUDA,cudnn)