假设我有一个设备,虽然它有能力支持,但目前不支持 OpenCL。我有 ISA、硬件设计文档和许多其他文档。我的设备所在的系统目前有 C 和 C++ 编译器,并且支持许多 linux 发行版。
现在我想为我的设备添加 OpenCL(假设是最新版本,2.2)支持。为了支持我的设备,我实际上需要做什么?我在他们的网站上看到了 SPIR-V 的文档,即:SPIR-V 注册表页面、opencl 扩展指令集概述、普通 spir-V 概述。
现在假设我实现了一个 SPIR-V-to-my-device-ISA 编译器,我现在支持 OpenCL 2.2 吗?我看到另一个 OpenCL 注册表,但我没有看到“如果您实现这些功能,编写执行此操作的代码等。您现在已经在您的系统上实现了 OpenCL 2.2 规范”。
为了为我的设备实施 OpenCL,我需要采取哪些实际步骤?