主机软件

CUDA 软件平台是什么CUDA Software Platform

CUDA 软件平台是用于开发 CUDA 程序的软件集合。

CUDA 全称是 _Compute Unified Device Architecture_(统一计算设备架构)。 根据上下文, CUDA 可以指代多个不同的事物: 一种 总体设备架构,或是适用于该设计架构的 CUDA 编程模型,或是扩展高级语言(如 C 语言)以添加该编程模型的 CUDA 软件平台

CUDA 的设计愿景在 Lindholm 等人于 2008 年 发布的白皮书中进行了阐述。我们强烈推荐这篇论文,它是 NVIDIA 文档中许多观点、图表乃至特定表述的原始出处。

本文重点关介绍 CUDA _软件平台_。 虽然 CUDA 软件平台也也存在其他语言(如 FORTRAN, Python 和 BASIC)实现,但我们将重点介绍主流的 CUDA C++ 版本。

该平台大致可分为用于 _构建_ 应用程序的组件 (如 NVIDIA CUDA 编译器驱动 工具链),以及在应用程序中 _使用_ 或 _调用_ 的组件(如 CUDA Driver APICUDA Runtime API),如下图所示。

CUDA 工具包。改编自《Professional CUDA C Programming Guide》。

在这些 API 之上构建的是用于为通用和高性能 内核 (kernel) 的库,例如用于线性代数的 cuBLAS 和用于深度神经网络的 cuDNN。 以及用于自行构建此类核函数的工具,例如 CUTLASSCuTe DSL

英文原文(Modal GPU Glossary)

The CUDA software platform is a collection of software for developing CUDA programs.

CUDA stands for _Compute Unified Device Architecture_. Depending on the context, "CUDA" can refer to multiple distinct things: a high-level device architecture, a parallel programming model for architectures with that design, or a software platform that extends high-level languages like C to add that programming model.

The vision for CUDA is laid out in the Lindholm et al., 2008 white paper. We highly recommend this paper, which is the original source for many claims, diagrams, and even specific turns of phrase in NVIDIA's documentation.

Here, we focus on the CUDA _software platform_. Though CUDA software platforms exist for other languages, like FORTRAN, Python, and BASIC, we will focus on the dominant CUDA C++ version.

This platform can be roughly divided into the components used to _build_ applications, like the NVIDIA CUDA Compiler Driver toolchain, and the components used _within_ or _from_ applications, like the CUDA Driver API and the CUDA Runtime API, diagrammed below.

Built on top of these APIs are libraries of high-performance kernels for general and specific domains, like cuBLAS for linear algebra and cuDNN for deep neural networks and tools for composing such kernels yourself, like CUTLASS and CuTe DSL.

相关词条

本词条改编自 Modal GPU Glossary(CC BY 4.0)· 中文翻译 miter6/gpu-glossary-zh,MAE 整理排版。