AI 词汇表
人工智能完整词典
Work-item
OpenCL中的基本执行单元,类似于其他并行模型中的线程。每个work-item执行内核的一个实例,具有唯一标识符以访问数据的不同部分。
Work-group
共享特定资源并能通过屏障同步执行的work-item集合。Work-group是OpenCL计算单元的调度单位,优化了本地内存的使用。
NDRange
定义内核要执行的完整work-item网格的N维索引空间。NDRange决定了数据如何被划分为work-group和work-item以进行并行计算。
Context
包含设备、内存对象和相关命令的OpenCL执行环境。Context确保同一OpenCL平台中设备间共享资源的一致性。
Command Queue
将OpenCL操作(内存传输、内核执行)排序到特定设备的机制。根据队列创建参数,命令可以按顺序或乱序执行。
Memory Model
包含全局、本地、私有和常量空间的OpenCL分层内存结构。该模型根据数据的位置和work-item的使用频率优化数据访问。
Local Memory
同一work-group中work-item之间共享的内存,为协作提供极快的访问速度。它支持实现高效的算法,如归约和不规则访问模式。
Private Memory
每个work-item独有的内存空间,通常通过寄存器或本地栈实现。它存储临时变量并确保并发work-item之间的隔离。
事件对象
细粒度的OpenCL命令同步机制,允许定义操作之间的依赖关系。事件通过创建复杂的执行图来优化并行性。
平台模型
OpenCL抽象定义,通过驱动程序连接主机与一个或多个设备。平台模型标准化了主机CPU与加速器之间的交互,确保代码的可移植性。
缓冲区对象
OpenCL内存容器,用于存储内核可访问的线性数据。缓冲区支持多种分配和主机与设备间传输策略以优化性能。
共享虚拟内存(SVM)
OpenCL 2.0扩展,允许主机和设备之间共享指针,具有统一的虚拟地址空间。SVM消除了显式传输,简化了嵌入式架构的编程。
标准便携中间表示(SPIR)
OpenCL二进制中间格式,允许在没有源代码的情况下分发内核。SPIR确保不同OpenCL实现之间的可移植性,同时保留设备特定的优化。
向量类型
OpenCL原生SIMD数据类型(float4、int8等),在并行架构上优化向量操作。向量类型原生利用GPU的SIMD单元以最大化计算吞吐量。
屏障同步
同步原语,强制工作组中的所有工作项在继续执行前达到某个点。屏障在协作算法中确保本地内存中共享数据的一致性。