cuda 和 cudnn

1. CUDA

CUDA:a general purpose parallel computing platform and programming model that leverages the parallel compute engine in NVIDIA GPUs to solve many complex computational problems in a more efficient way than on a CPU.
CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

在 CUDA 的架构下,一个程序分为两个部份:host 端和 device 端。Host 端是指在 CPU 上执行的部份,而 device 端则是在显示芯片上执行的部份。Device 端的程序又称为 “kernel”。通常 host 端程序会将数据准备好后,复制到显卡的内存中,再由显示芯片执行 device 端程序,完成后再由 host 端程序将结果从显卡的内存中取回。

2. CUDNN

cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。因为cudnn能够很大程度的把加载到显卡上的网络层数据进行优化计算,比如卷积,pooling,归一化,以及激活层等等。cuda就像一个傻大粗的加速库,其主要是依靠的是显卡计算速度跟一些算法的优化,而且其也是进行显卡加速的入口。所以cudnn需要在有cuda的基础上进行。
官网:https://developer.nvidia.com/cudnn

猜你喜欢

转载自blog.csdn.net/weixin_41043240/article/details/80279945
今日推荐