CUDA安装

CUDA Toolkit 11.7 Downloads

安装好了的路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0

一些文档:

CUDA C++ Programming Guide:https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

CUDA Binary Utilities:https://docs.nvidia.com/cuda/cuda-binary-utilities

NVIDIA CUDA Compiler Driver NVCC:https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#cuda-compilation-trajectory__cuda-compilation-from-cu-to-executable

CUDA Runtime api:https://docs.nvidia.com/cuda/cuda-runtime-api/index.html

CUDA

NVIDIA CUDA Compiler Driver NVCC

CUDA Programming Model

CUDA 工具包针对一类应用程序,其控制部分作为通用计算设备上的进程运行,并使用一个或多个 NVIDIA GPU 作为协同处理器来加速单程序、多数据 (SPMD) 并行作业。此类作业是独立的,因为它们可以由一批 GPU 线程完全执行和完成,而无需主机进程的干预,从而从并行图形硬件中获得最佳收益。

GPU 代码是作为函数集合实现的,语言本质上是 C++,但带有一些用于将它们与主机代码区分开来的注释,以及用于区分 GPU 上存在的不同类型数据存储器的注释。此类函数可能具有参数,并且可以使用与常规 C 函数调用非常相似的语法来调用它们,但为了能够指定必须执行被调用函数的 GPU 线程矩阵而略有扩展。

在其生命周期中,宿主进程可能会分派许多并行的 GPU 任务。

有关 CUDA 编程模型的更多信息,请参阅CUDA C++ Programming Guide

CUDA Sources

CUDA 应用程序的源文件混合了传统的 C++ 主机代码和 GPU 设备函数。

CUDA 将设备函数与主机代码分开编译,使用专有的 NVIDIA 编译器和汇编器编译设备函数,使用可用的 C++ 主机编译器编译主机代码,然后将编译后的 GPU 函数作为 fatbinary 嵌入到宿主对象文件中。

在链接阶段,添加特定的 CUDA 运行时库以支持远程 SPMD 过程调用和提供显式 GPU 操作,例如分配 GPU 内存缓冲区和主机-GPU数据传输。