Windows的HipSYCL

时间:2019-05-20 13:39:18

标签: sycl

我刚刚开始阅读有关hipSYCL的SYCL实现,但是关于它的信息并不多。所以我的问题是hipsycl是否支持Windows? 并且它是否支持所有现代英特尔GPU?感谢您的帮助

我已阅读github自述文件和其他几篇文章,但仍然感到困惑

3 个答案:

答案 0 :(得分:1)

由于线程here中概述的原因,HipSYCL在Windows上不起作用,但是可以在具有旧AMD驱动程序的Windows上或在具有OpenCL驱动程序的Intel处理器上将SYCL与ComputeCpp一起使用。您可以在https://developer.codeplay.com

上找到有关ComputeCpp和SYCL的更多信息。

答案 1 :(得分:0)

我是hipSYCL的作者,所以让我澄清一下情况:

  • hipSYCL支持NVIDIA GPU,AMD GPU和CPU。我们目前不支持Intel GPU。这是因为hipSYCL并不依赖于OpenCL作为底层技术,而是依赖于仅由NVIDIA和AMD实现的HIP / CUDA。
  • 对于AMD GPU,我们依靠AMD的ROCm平台,该窗口目前不受Windows支持。
  • 对于NVIDIA GPU,我们使用CUDA,它也可在Windows上使用。因此,原则上 我们应该能够支持NVIDIA GPU的窗口。然而:
    • 当前的hipSYCL开发人员都没有Windows开发环境,因此可能没有人实际尝试过在Windows上使用hipSYCL。可能是由于不同的路径约定等导致一些小问题。
    • hipSYCL默认情况下使用clang作为CUDA编译器。目前,在Windows上无法很好地维护Clang CUDA的实现,请参见here
    • 目前,hipSYCL原则上也可以将nvcc用作CUDA编译器(Windows上的nvidia支持),但是不建议这样做,因为nvcc对现代C ++功能(例如lambdas)有某些限制,这可能会或可能不会您的SYCL代码有问题。
  • CPU后端也应在Windows上运行,尽管目前更多用于调试。因此,性能将不是最佳的。我计划在未来几周内进行处理,但是如果您仅对CPU感兴趣,那么对于您来说,triSYCL或ComputeCpp可能是更好的选择。

如果您想在Windows上尝试hipSYCL并大胆尝试以前没有人去过的地方,那么我会对您的经历非常感兴趣。让我们在项目的GitHub问题跟踪器中知道我们是否可以采取任何措施来帮助您!

答案 2 :(得分:0)

更新 illuhad 的回答:hipSYCL 现在确实有对 Windows 的实验性支持。这目前支持 CPU 和 CUDA 后端,而新添加的零级后端最近也已成功测试。 Windows 不支持 AMD GPU 的 HIP 后端,因为 Windows 不支持 AMD 的 ROCm 平台。

由于 CUDA 后端依赖于 LLVM 的 CUDA 支持,因此预计其成熟度与 Windows 上带有 LLVM 的 CUDA 的成熟度相同:实验性。在 hipSYCL 方面,Windows CPU 和 CUDA 版本会在 CI 中定期测试,只有 CPU 测试在那里运行。

要在 Windows 上使用和安装 hipSYCL,您可以参考the wiki