我想开始使用SYCL,但到目前为止,我发现需要安装ComputeCpp,而且它只支持Ubuntu、CentOS和Windows。在MacOS Catalina上使用SYCL的替代方案是什么?
发布于 2020-07-04 18:26:29
摘要
目前,多个SYCL实现支持MacOS,尽管它们只支持CPU设备。
GPU设备支持不可用,因为Apple不支持Linux或Windows上可用的后端依赖项。
详细信息
triSYCL支持MacOS,但只支持CPU执行。我经常用它。您可能需要切换C++编译器,因为本机工具链可能无法工作。https://github.com/triSYCL/triSYCL
hipSYCL还支持CPU执行,并且应该在MacOS上工作。拉动请求#271应该有详细信息。
我们做了一些工作,让英特尔DPC++建立在MacOS上(参见第258号问题),但它还没有出现。第982期正在跟踪MacOS支持。
我经常在我的Mac笔记本上使用虚拟机内所有用于Linux的SYCL编译器,但这仍然是只执行CPU的。
可能性
在MacOS上实现对SYCL的GPU支持最有希望的方法是将其转换为金属着色语言(MSL),因为OpenCL不支持SPIR-V。这可以用SPIRV十字完成,但据我所知,没有人在任何SYCL编译器中实现它。
请注意,将内核从SPIR-V转换为MSL只是答案的一部分。另一个需求是对内核加载的运行时支持,等等。这些问题在https://github.com/bobpepin/opencl-osx中很明显,尽管这只是一个问题陈述,而不是解决方案。
如果苹果支持CUDA (基于https://gizmodo.com/apple-and-nvidia-are-over-1840015246的可能性不大),那么hipSYCL或DPC++的PTX后端可能会起作用,但我不知道有任何类似于支持(Ed) CUDA的旧Mac的尝试。
发布于 2020-06-01 07:55:59
ComputeCpp是几个SYCL实现之一,完整的列表是这里。
目前所有的实现都不支持macOS,这主要是因为苹果计划放弃对OpenCL的支持,只提供对金属作为硬件接口的支持。但是,您可以用Linux双引导您的苹果机器,并使用它来开发任何SYCL实现(包括ComputeCpp)。
https://stackoverflow.com/questions/62110463
复制相似问题