欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
OpenCL
来自开放百科 - 灰狐
(版本间的差异)
小 (→图集) |
小 (→图集) |
||
第24行: | 第24行: | ||
==图集== | ==图集== | ||
<gallery> | <gallery> | ||
+ | image:OpenCL-as-Parallel-Language-Backend.png|OpenCL作为后端 | ||
image:SPIR-V-Ecosystem.png|SPIR-V生态 | image:SPIR-V-Ecosystem.png|SPIR-V生态 | ||
</gallery> | </gallery> |
2017年3月4日 (六) 23:04的版本
您可以在Wikipedia上了解到此条目的英文信息 OpenCL Thanks, Wikipedia. |
Open Computing Language (OpenCL)
目录 |
简介
OpenCL 标准是第一个开放、免版税、统一的编程模型,能够在异构系统上加速算法实现。OpenCL 支持在不同的平台上使用基于 C 的编程语言来开发代码,例如,中央处理单元 (CPU)、图形处理单元 (GPU)、数字信号处理器 (DSP),以及现场可编程门阵列 (FPGA)。
对于软件工程师而言,OpenCL 是编程模型,对于系统规划人员而言则是一种方法。它基于标准 ANSI C (C99),扩展了并行功能。OpenCL 还包括应用程序接口 (API),一般通过 PCI Express 实现主机与硬件加速器的通信,或者一个内核与另一个没有主机控制的内核进行通信。除此之外,作为供应商扩展功能,我们还提供 I/O 通道 API,将数据从 10Gb 以太网等流 I/O 接口直接输入到内核中。OpenCL 的关键优势在于它是可移植、开放、免版税的标准,这也是它与专用编程模型的关键不同。
在 OpenCL 模型中,用户规划任务来控制队列,每个器件至少有一个队列。OpenCL 运行时功能会将数据并行任务分解成片,将其发送给器件中的处理单元。这是主机与任何硬件加速器进行通信的方法。由每一硬件加速器供应商抽象出供应商相关的内容。面向 OpenCL 的 英特尔 FPGA SDK 完成这一工作,并且符合 OpenCL 1.0 标准。
指南
项目
文档
- Creating Dense Mixed GPU and FPGA Systems With Tegra K1 Using OpenCL
- In-Depth Performance Analysis for OpenACC/CUDA/OpenCL Applications with Score-P and Vampir
- Parallelism with OpenCL in Bee Smalltalk
图集
链接
分享您的观点