《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会更深入地讨论这个问题。

相关文章
|
2月前
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
80 1
NVIDIA Triton系列02-功能与架构简介
|
7月前
|
开发工具 C语言 git
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块
146 0
|
存储 API 开发工具
AMD 开源 “HIP-RT” 光线追踪库
AMD 开源 “HIP-RT” 光线追踪库
204 0
|
自然语言处理 并行计算 PyTorch
PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持
PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持
479 0
|
编解码 并行计算 开发工具
FFmpeg引入NVIDIA硬件编解码扩展
FFmpeg引入NVIDIA硬件编解码扩展
839 0
|
机器学习/深度学习 并行计算 数据可视化
CUDA C/C++ 教程一:加速应用程序(上)
CUDA C/C++ 教程一:加速应用程序(上)
CUDA C/C++ 教程一:加速应用程序(上)
|
并行计算 API C++
CUDA C/C++ 教程一:加速应用程序(下)
CUDA C/C++ 教程一:加速应用程序(下)
CUDA C/C++ 教程一:加速应用程序(下)
|
NoSQL 安全 IDE
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础
本文着重从问题定位的角度来介绍如何定位嵌入式软件系统中的问题,并结合AliOS Things提供的部分维测手段来介绍。
结合AliOS Things谈嵌入式系统通用问题定位方法(1):CPU相关基础
|
openCL Java C++
《OpenCL实战》一第一部分 OpenCL编程基础
第一部分展示的是OpenCL语言,我们将详细讨论OpenCL的数据结构和函数,并通过例子来了解它们在应用程序中的作用。
2371 0