OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems

摘要:介绍了近年来微处理器的关键架构和特征,描述了OpenCL提供的模型和抽象概念——OpenCL是针对这些架构的新的并行编程标准。

前言:OpenCL的产生(异构计算和并行架构的时代需求),解决的问题(支持异构计算,提供易于编程的API)和优势(可移植性、正确性)

OpenCL的编程模型:提供一种通用语言、编程接口、硬件抽象,用任务并行或数据并行计算加速应用程序(加速方式:任务并行或数据并行;编程接口:用于枚举的函数、上下文管理、内存设备管理、主从数据传输、OpenCL程序编译、内核函数及其他附属功能;支持离线或在线编译)。对指令集没有依赖,硬件的更新或改变不影响OpenCL的编译。

虽然OpenCL是范微处理器设计,但也要求匹配目标框架的编程习惯(底层硬件的性质可使一些编程策略比其他平台更合适)。

OpenCL编程模型以锁步方式执行指令。OpenCL定义了四种类型的内存系统:大型高延迟“全局”内存、小型低延迟只读 "常量 "内存、共享 "本地 "内存以及"私有 "内存或设备寄存器。本地存储器由全局存储器实现(高延迟),也可以使用片上SRAM或共享寄存器文件实现。

应用程序可查询设备属性,以确定可用计算单元和内存系统的属性,并相应地使用它们。应用程序启动前必须要先创建与设备对应的“上下文”,并将内存不足的设备排出在外(否则最大内存分配将受到能力最小的设备的限制)。

新创建的上下文在某些设备上不支持OpenCL运行时所需要的功能,这些设备就需要在上下文中移除。上下文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值