我想将我的技能组合扩展到 GPU 计算。我熟悉光线追踪和实时图形(OpenGL),但下一代图形和高性能计算似乎是在 GPU 计算或类似的东西。
我目前在家用电脑上使用 AMD HD 7870 显卡。我可以为此编写 CUDA 代码吗?(我的直觉是否定的,但由于 Nvidia 发布了编译器二进制文件,我可能错了)。
第二个更普遍的问题是,我从哪里开始使用 GPU 计算?我确信这是一个经常被问到的问题,但我看到的最好的问题是从 08 年开始,我认为从那时起这个领域已经发生了很大的变化。
不,您不能为此使用 CUDA。CUDA 仅限于 NVIDIA 硬件。OpenCL将是最好的选择。
Khronos 本身有一个资源列表。StreamComputing.eu 网站也是如此。对于您的 AMD 特定资源,您可能需要查看AMD 的 APP SDK 页面。
请注意,目前有几个举措可以将 CUDA 翻译/交叉编译为不同的语言和 API。一个这样的例子是HIP。但是请注意,这并不意味着 CUDA 可以在 AMD GPU 上运行。
您可以使用Coriander在 Mac 上运行 NVIDIA® CUDA™ 代码,实际上也可以在 OpenCL 1.2 GPU 上运行。披露:我是作者。示例用法:
cocl cuda_sample.cu
./cuda_sample
是的。:) 您可以使用 Hipify 非常轻松地将 CUDA 代码转换为 HIP 代码,这些代码可以编译在 AMD 和 nVidia 硬件上运行得很好。这里有一些链接
GPUOpen 非常酷的站点,由 AMD 提供,拥有大量工具和软件库,可帮助处理 GPU 计算的不同方面,其中许多都适用于两个平台
2021 年更新:AMD 更改了网站链接转到 ROCm 网站
您不能将 CUDA 用于 GPU 编程,因为 CUDA 仅受 NVIDIA 设备支持。如果你想学习 GPU 计算,我建议你同时开始 CUDA 和 OpenCL。这对你很有好处。说到 CUDA,你可以使用 mCUDA。它不需要NVIDIA的GPU..
我认为这将很快在 AMD FirePro GPU 中成为可能,请参阅此处的新闻稿,但对开发工具的支持将于 2016 年第一季度推出:
计划在 2016 年第一季度推出“玻尔兹曼倡议”工具的早期访问计划。
这些是我能找到的一些基本细节。
Linux
ROCm 支持 TensorFlow 和 PyTorch 等主要 ML 框架,并通过持续开发来增强和优化工作负载加速。
似乎支持仅适用于 Linux 系统。(https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html)
ROCm支持TensorFlow 和 PyTorch 等主要 ML 框架,并通过持续开发来增强和优化工作负载加速。基于HIP
用于可移植性的异构计算接口 (HIP) 是一种 C++ 方言,旨在简化 CUDA 应用程序到可移植 C++ 代码的转换。它提供了 C 风格的 API 和 C++ 内核语言。C++ 接口可以跨主机/内核边界使用模板和类。HIPify 工具通过执行从 CUDA 到 HIP 的源到源转换来自动化大部分转换工作。HIP 代码可以在 AMD 硬件(通过 HCC 编译器)或 NVIDIA 硬件(通过 NVCC 编译器)上运行,与原始 CUDA 代码相比没有性能损失。
Tensorflow ROCm 端口是 https://github.com/ROCmSoftwarePlatform/tensorflow-upstream,他们的 Docker 容器是https://hub.docker.com/r/rocm/tensorflow
苹果电脑
对macOS 12.0+ 的支持(根据他们的声明)
Apple 在 2020 年 10 月和 2020 年 11 月使用量产的 3.2GHz 16 核英特尔至强 W 型 Mac Pro 系统、32GB RAM、AMD Radeon Pro Vega II Duo 显卡、64GB HBM2 和 256GB SSD 进行了测试。
您现在可以在 TensorFlow v2.5 中利用 Apple 的 tensorflow-metal PluggableDevice直接使用 Metal 在 Mac GPU 上进行加速训练。
截至 2019_10_10 我还没有测试过,但是有“GPU Ocelot”项目
根据其广告,它试图为各种目标编译 CUDA 代码,包括 AMD GPU。