让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
摘要: CUDA英文全称是Compute Unified Device Architecture,直译的话就是计算统一设备架构。CUDA其实就是NVIDIA公司开发的一种基于GPU的通用并行计算平台,它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
CUDA英文全称是Compute Unified Device Architecture,直译的话就是计算统一设备架构。CUDA其实就是NVIDIA公司开发的一种基于GPU的通用并行计算平台,它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。CUDA提供了对其它编程语言的支持,如C/C++,Python,Fortran等语言。 CUDA使开发人员能够利用GPU的能力来实现计算的可并行化部分,从而加快计算密集型应用程序的速度。
CUDA将GPU视作一个数据并行计算设备,而且无需把这些计算映射到图形API。操作系统的多任务机制可以同时管理CUDA访问GPU和图形程序的运行库,其计算特性支持利用CUDA直观地编写GPU核心程序。
CUDA在软件方面组成有:一个CUDA库、一个应用程序编程接口(API)及其运行库(Runtime)、两个较高级别的通用数学库,即CUFFT和CUBLAS。CUDA改进了DRAM的读写灵活性,使得GPU与CPU的机制相吻合。另一方面,CUDA提供了片上(on-chip)共享内存,使得线程之间可以共享数据。应用程序可以利用共享内存来减少DRAM的数据传送,更少的依赖DRAM的内存带宽。
扩展资料:
1、CUDA程式设计
2、CUDA工具包
CUDA工具包包括库,调试和优化工具,编译器,文档以及用于部署应用程序的运行时库。 它具有支持深度学习,线性代数,信号处理和并行算法的组件。 通常,CUDA库支持所有Nvidia GPU系列,但在最新一代产品上表现最佳,例如V100,对于深度学习培训工作负载,其速度可能比P100快3倍。 只要在适当的库中实现了所需的算法,使用一个或多个库就是利用GPU的最简单方法。
3、CUDA深度学习库
在深度学习领域,有三个主要的GPU加速库:cuDNN,我之前提到它是大多数开源深度学习框架的GPU组件; TensorRT是Nvidia的高性能深度学习推理优化器和运行时; 和DeepStream ,一个视频推理库。 TensorRT帮助您优化神经网络模型,以较低的精度进行高精度校准,并将经过训练的模型部署到云,数据中心,嵌入式系统或汽车产品平台。
4、CUDA线性代数和数学库
线性代数是张量计算和深度学习的基础。 自从1989年以来,科学家和工程师一直在使用BLAS(基本线性代数子程序),它是在Fortran中实现的矩阵算法的集合。 cuBLAS是BLAS的GPU加速版本,是使用GPU进行矩阵运算的性能最高的方法。 cuBLAS假定矩阵是密集的; cuSPARSE处理稀疏矩阵。
5、CUDA信号处理库
快速傅里叶变换(FFT)是用于信号处理的基本算法之一。 它将信号(例如音频波形)转换为频谱。 cuFFT是GPU加速的FFT。
使用H.264等标准的编解码器对视频进行编码/压缩和解码/解压缩,以进行传输和显示。 Nvidia Video Codec SDK通过GPU加快了此过程。
6、CUDA并行算法库
这三个用于并行算法的库都有不同的用途。 NCCL (Nvidia集体通信库)用于在多个GPU和节点之间扩展应用程序; nvGRAPH用于并行图分析; Thrust是基于C ++标准模板库的CUDA的C ++模板库。 Thrust提供了数据并行原语的丰富集合,例如扫描,排序和精简。
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |