【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 ↩︎

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...