《OpenCL实战》一1.5 OpenCL标准和扩展

简介: 当你在通过网站www.khronos.org/opencl了解OpenCL时,你会看到一个名为opencl-1.1.pdf的重要文件。这其中包含了OpenCL1.1的标准,它所包含的是大量关于编程语言的内容。

本节书摘来异步社区《OpenCL实战》一书中的第1章,第1.5节,作者: 【美】Matthew Scarpino 译者: 陈睿 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 OpenCL标准和扩展

当你在通过网站www.khronos.org/opencl了解OpenCL时,你会看到一个名为opencl-1.1.pdf的重要文件。这其中包含了OpenCL1.1的标准,它所包含的是大量关于编程语言的内容。它不仅仅定义了OpenCL的函数和数据结构,还对厂商所提供的开发工具提出了功能上的要求。除此之外,它还设定了一系列的标准来判定设备的兼容性。

但是兼容软件和硬件所能提供的功能已经超出了标准所设定的内容。这些额外的特性需要通过扩展(extensions)的方式供OpenCL应用程序使用。有两种主要类型的扩展:一种和厂商的软件包(叫做平台)相关,一种和设备相关。第2章将讨论如何编写代码来确认这些软件平台扩展和设备扩展。

每个OpenCL扩展都有特定的名字,而这也反映了它的兼容度。如果一个扩展为OpenCL工作组所认可,它的名字就会像cl_khr_一样,如果它只是发布在开发商的SDK中,还没有得到工作组的认可,它的名字则形如cl__。

例如,在我的Linux中,AMD平台所支持的扩展便是cl_khr_icd。这个扩展就是软件平台扩展。而这也让开发工具能够找到安装在系统里,针对特定厂商的OpenCL库文件。ICD表示的是Installable Client Driver(可安装的用户驱动),附录A会更深入地讨论这个问题。

相关文章
|
4月前
|
开发工具 C语言 git
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
|
9月前
|
存储 API 开发工具
AMD 开源 “HIP-RT” 光线追踪库
AMD 开源 “HIP-RT” 光线追踪库
176 0
|
自然语言处理 并行计算 PyTorch
PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持
PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持
453 0
|
编解码 并行计算 开发工具
FFmpeg引入NVIDIA硬件编解码扩展
FFmpeg引入NVIDIA硬件编解码扩展
782 0
|
人工智能 并行计算 Ubuntu
英伟达正式宣布开源 GPU 内核模块代码
近日,英伟达(NVIDIA)宣布,将 Linux GPU 内核模块作为开放源代码发布。早在几天前,NVIDIA 开始在 GitHub 上陆续公开相关代码,目前该项目已经收获 7.7k star,众多网友对本次开源纷纷表示难以置信。
354 0
英伟达正式宣布开源 GPU 内核模块代码
|
openCL Java C++
《OpenCL实战》一第一部分 OpenCL编程基础
第一部分展示的是OpenCL语言,我们将详细讨论OpenCL的数据结构和函数,并通过例子来了解它们在应用程序中的作用。
2357 0
|
分布式计算 并行计算 openCL
《OpenCL实战》一 导读
1997年的夏天,我被震惊了。除了能在自己的专业(微电子工程)做实习生,我所能找到的最好的工作就是在一个专门研究高速信号处理的实验室做事,负责用C和MPI(Message Passing Interface,消息传递接口)编程实现二维快速傅里叶变换(fast Fourier transform,FFT)。
2491 0