CUDA

编辑
本词条由“匿名用户” 建档。
CUDA,是Nvidia开发的一种编程接口(API),通过它程序部分可以由图形处理器(GPU)处理。 额外的计算能力以 GPU 的形式提供,在高度可并行化的程序流(高数据并行性)的情况下,GPU 通常比 CPU 的工作速度快得多。 CUDA主要用于科学技术计算。 图形处理器,仅用于图形计算,也可作为使用 CUDA API 的协处理器使用。 应用实例包括地震或地质问题的解决、电磁场的模拟或...

CUDA,是Nvidia开发的一种编程接口(API),通过它程序部分可以由图形处理器(GPU)处理。 额外的计算能力以 GPU 的形式提供,在高度可并行化的程序流(高数据并行性)的情况下,GPU 通常比 CPU 的工作速度快得多。 CUDA主要用于科学技术计算。

技术细节

编辑

图形处理器,仅用于图形计算,也可作为使用 CUDA API 的协处理器使用。 应用实例包括地震或地质问题的解决、电磁场的模拟或机器学习领域中神经网络的训练。 CUDA 在 SETI@home 项目中被用作伯克利网络计算开放基础设施 (BOINC) 的一部分。 通常,它只能在(除其他条件外)计算可以高度并行化的情况下有效使用。

CUDA 技术可用于“GeForce 8”系列的显卡和 Quadro FX 5600 的 Quadro 卡。Nvidia 的 Tesla 卡已针对高性能计算进行了优化,主要通过 CUDA 支持解决而且还有像 OpenCL 这样的开放标准。 有些甚至缺少显示器连接。

自从收购了Ageia的PhysX技术后,Nvidia就不断开发这项技术,并在CUDA上进行了重写

Nvidia 于 2015 年 3 月发布了 CUDA 7.0 版。

Nvidia 于 2015 年 9 月发布了 CUDA 7.5 版本。

CUDA 8.0 版本从 2016 年 9 月开始可用,全面支持新的 Pascal 系列。

CUDA 9.0 版本从 12 月更新到 9.1,从 3 月更新到 9.2,从 2017 年 9 月开始可用,它完全支持新的 Volta 系列。 不再支持 FERMI。

CUDA 10 从 2018 年秋季开始支持图灵架构。

CUDA 11 完全支持当前的 Ampere 架构。 最小计算能力 3.5 仅支持部分 Kepler 卡。

程序

编辑

程序员目前将 C 用于 CUDA。 还有编程语言 Perl、Python、Ruby、Java、Fortran 和 .NET 的包装器,以及与 MATLAB、Mathematica 和 R 的连接。Nvidia 使用优化的 C 编译器 Open64 创建了 CUDA。C++ 也可以使用,因为费米架构。

CUVID是一个用于解码视频的编程接口。

备选方案

编辑

其他 GPGPU 解决方案示例:

  • OpenCL 是由 Khronos Group 发起的开放标准,适用于所有显卡,并且适用于大多数操作系统
  • 同样由 Khronos Group 开发的开放式 Vulkan 标准也支持类似 OpenCL 的计算着色器。
  • DirectCompute:Microsoft 的 GPGPU 接口,集成到 DirectX API 中

软件

编辑

最早支持 CUDA 的程序之一是 folding@home 客户端,它成倍增加了生化计算的速度。 SETI@home 客户端于 2008 年 12 月 17 日紧随其后,将寻找外星生命的速度提高了 10 倍。 Nvidia 发布了 Badaboom 软件,这是一种视频转换器,转换视频的速度比 CPU 计算快 20 倍。 其他使用 CUDA 的程序是 TMPGEnc、Sorenson Squeeze 7、来自 CS4 的 Adob​​e Photoshop(此处加速了滤镜的使用)、来自 CS5.5 的 Adob​​e Premiere Pro 和 Mathematica 8+ 以及 Nvidia 软件 StyleGAN。

MSC/Nastran 2013+ 等仿真软件有时使用 CUDA 会xxx加速; 在大型模型上,GPU 内存太少可能会成为一个障碍。 OpenFoam 和 ANSYS 等其他xxx的 CFD 和 FEM 软件使用 CUDA 来加速计算。 由于在这些特殊的计算操作中 GPU 的效率比 CPU 更高,计算的功耗有时会降低。

处理器

编辑

图形处理器 (GPU) 是具有特定于应用程序设计的处理器,因此 GPU 知道相当奇特的数据类型,例如具有定点的 9 位或 12 位,但通常没有 32、48、64 或 80 的寄存器宽度通用 CPU 和 FPU(等)通用的位。 因此,GPU 的指令集中通常不提供计算,例如根据 IEEE 754(64 位双精度)的精度,必须使用软件以相对复杂的方式进行模拟。 因此,GPU 特别适合计算位宽相对较小的数据类型。

Z截至目前(2010 年),xxx批制造商已经在生产扩展 GPU,除了 GPU 所需的数据类型外,还支持通用数据类型和操作,例如 B. 用于直接计算符合 IEEE 754 标准的结果。 作为目前xxx的制造商之一,Nvidia 提供了原生提供 32 位整数以及单精度和双精度浮点数据格式的 Fermi 代 GPU。

CUDA

另一个缺点是与计算机架构的连接。对于当前的 GPU,这通常是通过 PCIe 进行的,与处理器的直接连接相比,会导致更糟糕(更高)的延迟时间和更低的 I/O 吞吐率。 因此,外包只对具有一定计算能力的功能才有价值——特别是如果 GPU 在指令集方面更适合这些任务(例如,对于大型矩阵)。

支持的 GPU

编辑

GPU 和卡支持的 CUDA 版本层级。

CUDA-SDK 6.5 版最后一次支持 Tesla 微架构。CUDA-SDK 8.0 版最后一次支持 Fermi 微架构。 CUDA-SDK 10.2 版最后一次支持部分 Kepler 微架构。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/376463/

(10)
词条目录
  1. CUDA
  2. 技术细节
  3. 程序
  4. 备选方案
  5. 软件
  6. 处理器
  7. 支持的 GPU

轻触这里

关闭目录

目录