AI 詞彙表
人工智能完整詞典
Kernel
在GPU上由大量线程同时执行的CUDA函数。内核从CPU启动,并在GPU设备上按照特定的网格和块配置并行执行。
Thread
CUDA中的基本执行单元,代表在GPU处理器核心上执行的单个指令序列。线程被组织成块,并在不同数据上执行相同的代码。
Block
线程的集合,可以通过共享内存相互通信并同步执行。块被组织成网格,并在同一个流式多处理器(SM)上执行。
Grid
构成CUDA内核完整执行配置的线程块集合。网格代表了CUDA中线程组织的最高层次结构。
Warp
由32个线程组成的组,在CUDA SM上以SIMT(单指令多线程)模式同时执行。一个warp中的所有线程在同一时钟周期执行相同的指令。
Shared Memory
由同一块中所有线程共享的快速、小容量内存,支持线程间高效通信。共享内存比全局内存快得多,但每个块的容量有限。
Global Memory
所有线程和CPU均可访问的主内存,容量大但延迟高。全局内存在内核启动之间持久存在,是主要的数据存储区域。
CUDA Runtime API
高级编程接口,通过自动管理初始化、模块加载和内存管理来简化CUDA应用程序开发。它提供cudaMalloc、cudaMemcpy和cudaLaunchKernel等函数。
流
在GPU上按确定顺序执行的操作序列,允许实现计算操作和内存传输之间的并行性。流支持内核的并发执行和传输重叠。
异步执行
CUDA的一种执行模式,其中操作立即返回给CPU而无需等待其在GPU上完成。异步执行允许计算和传输重叠,以最大化GPU利用率。
纹理内存
针对具有2D或3D空间局部性的访问优化的内存,具有自动数据缓存功能。纹理内存对于图像处理和缺乏一致性的访问特别有效。
常量内存
针对广播访问优化的只读内存,所有线程同时读取相同的值。当warp中的所有线程访问相同地址时特别有效。
占用率
活动warp数量与可在流多处理器上驻留的最大warp数量之比的度量。高占用率不一定保证更好的性能,但有助于隐藏延迟。
原子操作
在全局或共享内存上原子执行的读-修改-写操作,确保线程之间无冲突。对于归约操作和数据的并发更新至关重要。
cuBLAS
CUDA基础线性代数子程序库,为基本线性代数操作提供优化的GPU实现。cuBLAS在NVIDIA架构上显著加速矩阵和向量计算。
cuFFT
CUDA快速傅里叶变换库,为离散傅里叶变换提供高性能GPU实现。cuFFT支持具有不同精度和大小的1D、2D和3D变换。