首页 > 解决方案 > 用于 Windows 的 HipSYCL

问题描述

我刚刚开始阅读有关 hipSYCL 的 SYCL 实现,但没有太多关于它的信息。所以我的问题是 hipsycl 支持 windows 吗?它还支持所有现代英特尔 GPU 吗?感谢帮助

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

标签: sycl

解决方案


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

  • hipSYCL 支持 NVIDIA GPU、AMD GPU 和 CPU。我们目前不支持英特尔 GPU。这是因为 hipSYCL 不依赖 OpenCL 作为底层技术,而是依赖于仅由 NVIDIA 和 AMD 实现的 HIP/CUDA。
  • 对于 AMD GPU,我们依赖 AMD 的 ROCm 平台,目前 AMD 在 Windows 上不支持该平台。
  • 对于 NVIDIA GPU,我们使用 CUDA,它也适用于 Windows。因此,原则上我们应该能够支持 N​​VIDIA GPU 的窗口。然而:
    • 当前的 hipSYCL 开发人员都没有 Windows 开发环境,因此可能没有人真正尝试在 Windows 上使用 hipSYCL。由于不同的路径约定等,可能会出现一些小问题。
    • hipSYCL 默认使用 clang 作为 CUDA 编译器。目前,clang CUDA 实现在 Windows 上维护得不好,请参见此处
    • 目前,hipSYCL 原则上也可以使用 nvcc 作为 CUDA 编译器(nvidia on windows 支持),但不建议这样做,因为 nvcc 对 lambdas 等现代 C++ 特性有一定的限制,这可能是也可能不是问题您的 SYCL 代码。
  • CPU 后端也应该在 Windows 上工作,尽管它目前更多用于调试。因此,性能不会是最佳的。我计划在接下来的几周内进行这项工作,但现在如果你只对 CPU 感兴趣,triSYCL 或 ComputeCpp 可能是你更好的选择。

如果您想在 Windows 上尝试 hipSYCL 并大胆地去以前没有人去过的地方,我会对您的体验非常感兴趣。如果我们可以帮助您,请在项目的 GitHub 问题跟踪器中告诉我们!


推荐阅读