ROCm

ROCm

开源GPU计算软件栈推动高性能与科学计算

AMD ROCm是一个开源GPU计算软件栈,提供完整的驱动、开发工具和API生态系统。它支持从底层内核到终端应用的全方位GPU编程,专门针对高性能计算、人工智能和科学计算领域优化。ROCm支持多种编程模型,并与主流机器学习框架深度集成。通过HIP技术,ROCm实现了卓越的跨平台可移植性,使开发者能够在各类GPU平台上灵活部署代码,适用范围涵盖从普通游戏GPU到大规模超算集群。

ROCmGPU计算开源软件HIP机器学习Github开源项目

AMD ROCm 软件

ROCm 是一个主要由开源软件组成的开源软件栈,专为图形处理单元(GPU)计算而设计。ROCm 包含一系列驱动程序、开发工具和 API,支持从低级内核到终端用户应用程序的 GPU 编程。

使用 ROCm,您可以根据特定需求定制 GPU 软件。您可以在一个免费、开源、集成和安全的软件生态系统中开发、协作、测试和部署应用程序。ROCm 特别适合 GPU 加速的高性能计算(HPC)、人工智能(AI)、科学计算和计算机辅助设计(CAD)。

ROCm 由 AMD 的异构计算可移植接口(HIP)驱动,这是一个开源的 C++ GPU 编程环境及其相应的运行时。HIP 允许 ROCm 开发人员通过在不同平台上部署代码来创建可移植应用程序,从专用游戏 GPU 到百亿亿次级 HPC 集群。

ROCm 支持 OpenMP 和 OpenCL 等编程模型,并包含所有必要的开源软件编译器、调试器和库。ROCm 完全集成到机器学习(ML)框架中,如 PyTorch 和 TensorFlow。

获取 ROCm 源代码

AMD ROCm 由开源软件构建而成。因此,可以通过下载源代码并重新构建组件来修改 ROCm 的各个组件。可以使用 git 从每个 GitHub 仓库克隆 ROCm 组件的源代码。为了方便访问和下载这些工具的正确版本,ROCm 仓库包含一个名为 default.xml 的 repo 清单文件。您可以使用此清单文件下载 ROCm 软件的源代码。

安装 repo 工具

Google 的 repo 工具允许您同时管理多个 git 仓库。运行以下命令安装 repo 工具:

mkdir -p ~/bin/ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo

注意: 这里使用 ~/bin/ 文件夹作为示例。如果需要,您可以指定不同的文件夹来安装 repo 工具。

安装 git-lfs

一些 ROCm 项目使用 Git 大文件存储(LFS)格式,可能需要您安装 git-lfs。更多信息请参考 Git 大文件存储。例如,要在 Ubuntu 上安装 git-lfs,请使用以下命令:

sudo apt-get install git-lfs

下载 ROCm 源代码

以下示例展示如何使用 repo 工具下载 ROCm 源代码。如果您选择安装 repo 工具的目录不是 ~/bin/,则必须在代码中使用您选择的目录,如下所示:

mkdir -p ~/ROCm/ cd ~/ROCm/ ~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.0.x ~/bin/repo sync

注意: 使用此示例代码将导致 repo 工具下载与指定 ROCm 版本相关的开源代码。在下载之前,请确保已按照 使用 SSH 连接到 GitHub 中的说明在您的机器上为 GitHub ID 配置了 ssh 密钥。

构建 ROCm 源代码

每个 ROCm 组件仓库都包含构建该组件的说明,例如 rocSPARSE 文档中的 Linux 安装和构建。有关构建仓库的说明,请参阅特定组件文档。

ROCm 软件的每个版本都支持特定的硬件和软件配置。有关当前支持的硬件和操作系统,请参阅 系统要求(Linux)

从源代码构建 ROCm

构建过程将使用尽可能多的处理器进行并行构建。某些编译可能消耗高达 10GB 的 RAM,因此请确保有足够的交换空间!

默认情况下,ROCm 构建将针对所有支持的 GPU 架构进行编译,大约需要 500 个 CPU 小时。 如果我们使用环境变量 GPU_ARCHS 限制需要构建的 GPU 架构,构建时间将显著减少,如下所述。

# -------------------------------------- # 步骤1:克隆源代码 # -------------------------------------- mkdir -p ~/WORKSPACE/ # 或任何其他文件夹名称而不是 WORKSPACE cd ~/WORKSPACE/ export ROCM_VERSION=6.1.0 # 或 6.1.1 6.1.2 ~/bin/repo init -u http://github.com/ROCm/ROCm.git -b roc-6.1.x -m tools/rocm-build/rocm-${ROCM_VERSION}.xml ~/bin/repo sync # -------------------------------------- # 步骤 2:准备构建环境 # -------------------------------------- # 选项1:启动 Docker 容器 # 拉取所需的基础 Docker 镜像: # 从 ROCm/tools/rocm-build/docker/ubuntu20/Dockerfile 构建的 Ubuntu20.04 docker pull rocm/rocm-build-ubuntu-20.04:6.1 # 从 ROCm/tools/rocm-build/docker/ubuntu22/Dockerfile 构建的 Ubuntu22.04 docker pull rocm/rocm-build-ubuntu-22.04:6.1 # 启动 Docker 容器并挂载源代码文件夹: docker run -ti \ -e ROCM_VERSION=${ROCM_VERSION} \ -e CCACHE_DIR=$HOME/.ccache \ -e CCACHE_ENABLED=true \ -e DOCK_WORK_FOLD=/src \ -w /src \ -v $PWD:/src \ -v /etc/passwd:/etc/passwd \ -v /etc/shadow:/etc/shadow \ -v ${HOME}/.ccache:${HOME}/.ccache \ -u $(id -u):$(id -g) \ <替换为所需的 Ubuntu 基础 Docker 镜像> bash # 选项2:在主机上安装所需的包 # 对于 Ubuntu20.04 系统 cd ROCm/tools/rocm-build/docker/ubuntu20 bash install-prerequisites.sh # 对于 Ubuntu22.04 系统 cd ROCm/tools/rocm-build/docker/ubuntu22 bash install-prerequisities.sh # -------------------------------------- # 步骤3:运行构建命令行 # -------------------------------------- # 在构建前选择 GPU 目标: # 当未设置 GPU_ARCHS 时,将使用 ROCm6.1 支持的默认 GPU 目标。 # 要针对特定的 GFX 架构子集进行构建,可以使用以下环境变量。 # 支持 MI300(gfx940、gfx941、gfx942)。 export GPU_ARCHS="gfx942" # 示例 export GPU_ARCHS="gfx940;gfx941;gfx942" # 示例 # 在 Docker 容器中选择并运行构建命令: # 构建 rocm-dev 包 make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} rocm-dev # 构建所有 ROCm 包 make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} all # 列出所有 ROCm 组件以查找所需组件 make -f ROCm/tools/rocm-build/ROCm.mk list_components # 构建单个 ROCm 包 make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas # 在 Ubuntu20.04 中找到构建的包: out/ubuntu-20.04/20.04/deb/ # 在 Ubuntu22.04 中找到构建的包: out/ubuntu-22.04/22.04/deb/ # 在 Ubuntu20.04 中找到构建日志: out/ubuntu-20.04/20.04/logs/ # 在 Ubuntu22.04 中找到构建日志: out/ubuntu-22.04/22.04/logs/ # 所有与失败组件相关的日志以 .errors 扩展名结尾。 out/ubuntu-22.04/22.04/logs/rocblas.errors # 示例 # 所有与构建组件相关的日志以 .inprogress 扩展名结尾。 out/ubuntu-22.04/22.04/logs/rocblas.inprogress # 示例 # 所有与通过组件相关的日志使用组件名称。 out/ubuntu-22.04/22.04/logs/rocblas # 示例

注:ROCm.mk 概述

ROCm 文档

本仓库包含 ROCm 发布的清单文件、变更日志和发布信息。

default.xml 文件包含用于构建当前 ROCm 发布版本的所有仓库和相关提交信息;default.xml 使用清单格式仓库

我们文档的源代码位于大多数 ROCm 仓库的 /docs 文件夹中。我们仓库的 develop 分支包含下一个 ROCm 发布版本的内容。

ROCm 文档主页是 rocm.docs.amd.com

构建文档

快速开始构建,请使用以下代码。有关更多选项和详细信息,请参阅构建文档

cd docs pip3 install -r sphinx/requirements.txt python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html

另外,还支持 CMake 构建。

cmake -B build cmake --build build --target=doc

旧版 ROCm 发布

有关旧版 ROCm 发布的信息,请参阅变更日志

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多