欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
OpenCL
来自开放百科 - 灰狐
(版本间的差异)
小 |
小 (→项目) |
||
(未显示1个用户的9个中间版本) | |||
第4行: | 第4行: | ||
==简介== | ==简介== | ||
+ | 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 标准。 | ||
+ | |||
[[文件:opencl-api.png]] | [[文件:opencl-api.png]] | ||
==指南== | ==指南== | ||
+ | |||
+ | ==项目== | ||
+ | *[https://github.com/topics/opencl OpenCL GitHub Topics] | ||
+ | *[[DeepCL]] | ||
+ | *[[Haskell]] high-level wrapper for [https://hackage.haskell.org/package/OpenCL OpenCL] | ||
+ | *[https://github.com/opentk/opentk OpenTK] Open Toolkit library is a fast, low-level [[C Sharp|C#]] wrapper for [[OpenGL]], [[OpenAL]] & OpenCL. | ||
==文档== | ==文档== | ||
*[http://docs.huihoo.com/gputechconf/gtc2015/S5429-Creating-Dense-Mixed-GPU-and-FPGA-Systems-With-Tegra-K1-Using-OpenCL.pdf Creating Dense Mixed GPU and FPGA Systems With Tegra K1 Using OpenCL] | *[http://docs.huihoo.com/gputechconf/gtc2015/S5429-Creating-Dense-Mixed-GPU-and-FPGA-Systems-With-Tegra-K1-Using-OpenCL.pdf Creating Dense Mixed GPU and FPGA Systems With Tegra K1 Using OpenCL] | ||
*[http://docs.huihoo.com/gputechconf/gtc2015/S5721-In-Depth-Performance-Analysis-for-OpenACC-CUDA-OpenCL-Applications-with-Score-P-and-Vampir.pdf In-Depth Performance Analysis for OpenACC/CUDA/OpenCL Applications with Score-P and Vampir] | *[http://docs.huihoo.com/gputechconf/gtc2015/S5721-In-Depth-Performance-Analysis-for-OpenACC-CUDA-OpenCL-Applications-with-Score-P-and-Vampir.pdf In-Depth Performance Analysis for OpenACC/CUDA/OpenCL Applications with Score-P and Vampir] | ||
+ | *[http://docs.huihoo.com/smalltalk/esug/ESUG2016/02-Tuesday/1400-1430-Parallelism-with-OpenCL-Bee/ Parallelism with OpenCL in Bee Smalltalk] | ||
==图集== | ==图集== | ||
+ | <gallery> | ||
+ | image:OpenCL-as-Parallel-Language-Backend.png|OpenCL作为后端 | ||
+ | image:SPIR-V-Ecosystem.png|SPIR-V生态 | ||
+ | </gallery> | ||
==链接== | ==链接== | ||
*[https://www.khronos.org/opencl OpenCL官网] | *[https://www.khronos.org/opencl OpenCL官网] | ||
+ | *[http://www.altera.com/education/webcasts/all/source-files/wc-2011-opencl/player.html 采用 OpenCL 实现 FPGA 设计 – 未来展望] | ||
[[category:parallel computing]] | [[category:parallel computing]] | ||
[[category:GPU]] | [[category:GPU]] | ||
+ | [[category:FPGA]] |
2022年3月11日 (五) 06:18的最后版本
您可以在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 标准。
[编辑] 指南
[编辑] 项目
- OpenCL GitHub Topics
- DeepCL
- Haskell high-level wrapper for OpenCL
- OpenTK Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL.
[编辑] 文档
- 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
[编辑] 图集
[编辑] 链接
分享您的观点