文章关键字 ‘concept’

OpenCL系列讲座(二) 基本概念

2009年11月7日,星期六

1、计算设备(Compute Device). 是指系统中支持OpenCL的各类处理器,可以是CPU, GPU,甚至是DSP。一个系统中可以有多个Device连接到主机(Host)上。另外,每个device中会包含多个计算单元(Compute Unit),例如多核的CPU或者GPU中的多处理器(Multi-Processor). 而每个计算单元中还可以包含多个处理单位(PE, Processing Element). CPU中每个计算单元只含有一个PE, 而GPU中则含有多个。我们可以通过clGetDeviceIDs()这个函数来检查系统中是否有支持OpenCL的设备,并且配合clGetDeviceInfo()函数来了解该设备中如设备类型、计算单元个数等信息。

image

2、执行(Execution)
最终在Device上执行的代码成为内核(Kernel),这类代码是C语言的扩展,像下面这样子:

__kernel sum(__global const float* a, __global const float* b,
    __global float* answer)
{
   int xid = get_global_id(0);
    answer[xid] = a[xid] + b[xid];
}

(全文…)