设为首页 加入收藏

TOP

OpenCL 规范
2013-10-07 15:11:38 来源: 作者: 【 】 浏览:67
Tags:OpenCL 规范

OpenCL 规范

OpenCL规范由四个模型组成,总结如下。

1. 平台模型:描述了协同执行的单个处理器(宿主机)及一个或多个能执行OpenCL代码的处理器(设备)。它定义了一个抽象的硬件模型,供编程(www.cppentry.com)人员用于编写能够在这些设备上执行的OpenCL C函数(称作kernel)。

2.  执行模型:定义了在主机上如何配置OpenCL环境以及如何在设备上执行kernel。这包括在主机端建立OpenCL上下文,提供主机-设备之间的交互机制,定义一个并发模型供在设备上执行kernel所用。

3. 内存模型:定义被kernel所用的抽象内存层次(memory hierarchy),无需考虑实际的底层内存架构。尽管内存模型十分接近当前的GPU内存层次,但同样也适用于其他硬件加速器。

4. 编程(www.cppentry.com)模型:定义了如何将并发模型映射到物理硬件上。

在通常情况下,我们可能看到使用GPU设备作为加速器的X86 CPU主机上执行的一个OpenCL实例。OpenCL平台模型定义了主机和设备之间的这种关系。以指定的并行度来实例化它,这就是执行模型。kernel内部的数据由编程(www.cppentry.com)人员分配到抽象内存层级中的指定位置。OpenCL运行时(runtime)和驱动程序将这些抽象内存空间映射到物理层。最后,借助于编程(www.cppentry.com)模型,必定是新建执行kernel的硬件线程上下文并映射到实际的GPU硬件单元。在整个本章中,我们将对此进行更详细的讨论。

本章首先介绍如何编写OpenCL kernel,介绍它们所使用的并行执行模型。紧接着,我们借助于向量相加实例来描述和演示OpenCL主机端API。向量相加实例的完整代码清单在本章结尾处给出。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇新建一个OpenCL程序对象 下一篇4.6 singleton

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: