我想开始使用SYCL,但目前发现需要安装ComputeCpp,而且只支持Ubuntu、CentOS和Windows。在 MacOS Catalina 上使用 SYCL 的替代方法有哪些?
目前,多个 SYCL 实现支持 MacOS,尽管它们只支持 CPU 设备。
GPU 设备支持不可用,因为 Apple 不支持 Linux 或 Windows 上可用的后端依赖项。
triSYCL支持 MacOS,但仅支持 CPU 执行。我经常使用它。您可能需要切换 C++ 编译器,因为本机工具链可能不起作用。 https://github.com/triSYCL/triSYCL
hipSYCL还支持 CPU 执行,应该可以在 MacOS 上运行。 拉取请求 #271应该有详细信息。
我们做了一些工作来让 Intel DPC++ 在 MacOS 上构建(参见问题 #258),但它还没有。问题 #982正在跟踪 MacOS 支持。
我经常在我的 Mac 笔记本电脑上的虚拟机内使用所有适用于 Linux 的 SYCL 编译器,但这仍然是仅 CPU 执行。
在 MacOS 上对 SYCL 的 GPU 支持最有希望的途径需要转换为Metal Shader Language (MSL),因为 Apple OpenCL 不支持 SPIR-V。这可以通过SPIRV-Cross完成,但据我所知,没有人在任何 SYCL 编译器中实现它。
请注意,将内核从 SPIR-V 转换为 MSL 只是答案的一部分。另一个要求是内核加载的运行时支持等。其中一些问题在https://github.com/bobpepin/opencl-osx中很明显,尽管这只是一个问题陈述,而不是解决方案。
如果 Apple 支持 CUDA(不太可能,基于https://gizmodo.com/apple-and-nvidia-are-over-1840015246),那么 hipSYCL 或 DPC++ 的 PTX 后端可能会工作,但我不知道使用支持(ed)CUDA的旧Mac进行这些尝试的任何尝试。
归档时间: |
|
查看次数: |
882 次 |
最近记录: |