【MD编辑器使用学习opencl】

提示:导入一个MD新手模板


前言

提示:这篇文章引用记录转载各种优秀博文:

例如:openCL 高性能计算 图像处理。


提示:以下是本篇文章正文内容,下面案例可供参考

一、OpenCL是什么?

示例:OpenCL全称为Open Computing Language(开放计算语言),先由Apple设计,后来交由Khronos Group维护,是异构平台并行编程的开放的标准,也是一个编程框架。

1.OpenCL构成

居中并且带尺寸的图片: Alt

  1. 是OpenCL C语言(OpenCL 2.1将开始使用OpenCL C++作为内核编程语言)和主机端API1
  2. 二是硬件架构的抽象。

二、OpenCL标准

OpenCL标准分为四部分,每一部分都用“模型”来定义:

1.平台模型

指定一个host处理器,用于任务的调度。以及一个或多个device处理器,用于执行OpenCL任务(OpenCL C Kernel)。这里将硬件抽象成了对应的设备(host或device)。

2.执行模型

定义了OpenCL在host上运行的环境应该如何配置,以及host如何指定设备执行某项工作。这里就包括host运行的环境,host-device交互的机制,以及配置内核时使用到的并发模型。并发模型定义了如何将算法分解成OpenCL工作项和工作组。

3.内核编程模型

定义了并发模型如何映射到实际物理硬件。

4.内存模型

定义了内存对象的类型,并且抽象了内存层次,这样内核就不用了解其使用内存的实际架构。其也包括内存排序的要求,并且选择性支持host和device的共享虚拟内存。


通常情况下,OpenCL实现的执行平台包括一个x86 CPU主处理器,和一个GPU设备作为加速器。主处理器会将内核放置在GPU上运行,并且发出指令让GPU按照某个特定的并行方式进行执行。内核使用到的内存数据都由编程者依据层级内存模型分配或开辟。运行时和驱动层会将抽象的内存区域映射到物理内存层面。最后,由GPU开辟硬件线程来对内核进行执行,并且将每个线程映射到对应的硬件单元上。这些模型的细节将会在之后进行详细的讨论。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了opencl。
链接: OpenCL 教程
链接: 移动端算法优化


  1. zhushi ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值