13.1. 常用

13.1.1. 1. CUDA(Compute Unified Device Architecture)

  • 开发者:NVIDIA

  • 用途:专门用于 NVIDIA GPU 的并行计算编程框架

  • 特点

    • 只能用在 NVIDIA GPU 上

    • 支持强大的 GPU 加速计算,广泛用于深度学习、科学计算、图形渲染等

    • 丰富的软件生态(cuDNN、TensorRT 等)

    • 编程语言基于 C/C++ 扩展,易用性较好


13.1.2. 2. OpenCL(Open Computing Language)

  • 开发者:Khronos Group

  • 用途:跨平台、跨厂商的通用并行计算框架

  • 特点

    • 支持 CPU、GPU、FPGA 等多种设备

    • 跨平台,支持多种厂商(Intel、AMD、NVIDIA、ARM)

    • 编程语言基于 C99 风格的 C 语言扩展

    • 适合异构计算,缺点是编程复杂度较高,性能调优较难


13.1.3. 3. Vulkan

  • 开发者:Khronos Group

  • 用途:跨平台的低开销高性能图形和计算 API

  • 特点

    • 主要用于高性能图形渲染,替代 OpenGL

    • 支持 GPU 计算(Compute Shaders)

    • 设计强调低 CPU 开销和多线程支持

    • 跨平台支持 Windows、Linux、Android 等

    • 编程复杂度较高,适合需要高性能渲染和计算的应用


13.1.4. 4. Metal

  • 开发者:Apple

  • 用途:Apple 生态系统(iOS、macOS)上的图形渲染和 GPU 计算框架

  • 特点

    • 专为 Apple 设备设计和优化

    • 支持图形渲染和通用计算

    • 低开销、性能优异

    • 编程语言多用 Objective-C / Swift,支持 Metal Shading Language

    • 只能用于 Apple 硬件平台


13.1.5. 简单对比表

技术

开发者

平台支持

主要用途

语言与接口

优点

缺点

CUDA

NVIDIA

仅 NVIDIA GPU

高性能并行计算

CUDA C/C++

生态丰富,性能优异

只支持 NVIDIA GPU

OpenCL

Khronos

多厂商、多平台

通用异构并行计算

C99 C-like

跨平台,支持多种硬件

编程复杂,性能调优难

Vulkan

Khronos

跨平台

图形渲染 + 计算

C API

低开销,多线程支持

学习曲线陡峭

Metal

Apple

Apple 设备

图形渲染 + 计算

Objective-C/Swift

性能优异,深度集成苹果生态

仅限 Apple 平台