我是学生。我的问题可能很愚蠢,但我想澄清一下。我有一个带有Vivante GPU和openCL 1.1版本的设备。我想在GPU上运行支持SYCL的tensorflow示例代码。但在尝试Tensorflow示例代码之前,我想在GPU上尝试使用openCL 1.1的SYCL示例代码。
我见过几个SYCL实现,比如computeCPP,triSYCL,sycl-gtx。 所有实施都支持openCL 1.2或更高版本。
有谁知道SYCL不支持openCL 1.1的原因?
尝试修改SYCL开源代码以支持openCL 1.1的可行性如何?
答案 0 :(得分:1)
SYCL 1.2要求OpenCL 1.2的主要原因是因为Khronos中间表示SPIR 1.2 requires它。如果没有SPIR或任何其他中间表示,SYCL实现无法将C ++代码编译到设备二进制文件中,并且需要将C ++转换为OpenCL C,这是非常有问题的。