OpenCL

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(指南)
(项目)
 
(未显示1个用户的10个中间版本)
第2行: 第2行:
  
 
Open Computing Language (OpenCL)  
 
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-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-35x35.png 您可以在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-api.png

[编辑] 指南

[编辑] 项目

[编辑] 文档

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱