什么是CUDA
作者:Keepin
-
1、cuda是英伟达开发的一套应用软件接口(API)。其主要应用于英伟达GPU显卡的调用。
-
2、云计算可以简单的理解为是通过网络组合成的计算机集群,用于各种加速,其中以CPU为主,GPU为辅。所以CUDA可以成为云计算的一个支柱。
-
3、神经网络能加速的有很多,当然使用硬件加速是最可观的了,而目前除了专用的NPU(神经网络加速单元),就属于GPU对神经网络加速效果最好了:
- 3.1、Cuda的整套软件非常完善,所以早期很多厂家用cuda能快速搭建神经网络加速软件框架,所以cuda也被广泛应用于神经网络加速。(当然英伟达还专门开发了一套神经网络套件,叫做tensorrt,在神经网络推理部署的时候更为广泛应用)
- 3.2、从开发api来说,神经网络的加速不仅仅可以用cuda加速,还可以用其他API,例如GPU开发API很多,包括opencl,opengl,vulkan都可以在英伟达的GPU上加速神经网络,只不过在英伟达显卡上整体来说开发复杂,这些API优化效率不如cuda,毕竟cuda是英伟达自家开发的,自然适配地非常好
- 3.3、从硬件角度来说,AMD的显卡也可以用于加速神经网络,只不过软件生态做得不如英伟达,自然应用程度也不如英伟达。事实上,AMD也开发一套Miopen的神经网络加速套件,类似于tensorrt;还开发了一套rocm套件,类似