1

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

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

4

3 回答 3

2

我是 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 问题跟踪器中告诉我们!

于 2019-05-21T10:07:57.273 回答
1

HipSYCL 不能在 Windows 上运行,因为这里的线程中列出的原因,但是可以在带有旧 AMD 驱动程序的 Windows 上或带有 OpenCL 驱动程序的 Intel 处理器上将 SYCL 与 ComputeCpp 一起使用。您可以在https://developer.codeplay.com找到有关 ComputeCpp 和 SYCL 的更多信息

于 2019-05-21T09:20:45.887 回答
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,您可以参考wiki

于 2021-05-17T16:36:00.570 回答