ROCm平台简介及使用汇总

1.ROCm下载

1.1下载安装

安装步骤如下
官网下载amdgpu-install_xxxxxx.xxxxxx_all.deb
amd官网链接: [https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20]
# 更新软件库
sudo apt update && sudo apt upgrade
sudo apt install wget gnupg2 
# 22.04安装这个
wget https://repo.radeon.com/amdgpu-install/5.4/ubuntu/jammy/amdgpu-install_5.4.50400-1_all.deb
sudo apt install ./amdgpu-install_5.4.50400-1_all.deb
# 20.04安装这个
wget https://repo.radeon.com/amdgpu-install/5.4/ubuntu/focal/amdgpu-install_5.4.50400-1_all.deb
sudo apt-get install ./amdgpu-install_5.4.50400-1_all.deb
# 然后安装单个用例
sudo amdgpu-install --usecase=rocm,hip,mllib --no-dkms
##或者
sudo apt install rocm-dev
# 添加用户至render组
sudo usermod -a -G video,render $LOGNAME

1.2验证

验证是否安装成功
# 显示gpu性能监控
rocm-smi
#查看显卡信息的两条命令(直接在终端输入)
/opt/rocm/bin/rocminfo
/opt/rocm/opencl/bin/clinfo
#有一条报错可能是没安装好

2.ROCm介绍

ROCm是AMD的开源GPU计算软件堆栈,旨在提供一个可移植、高性能的GPU计算平台。ROCm支持AMD的GPU和APU,以及x86和ARM架构的处理器,提供了与CUDA相似的编程模型,使得在AMD GPU上编写和运行GPU计算应用程序变得更加容易。

ROCm的主要组成部分包括:

ROCm驱动程序:用于管理AMD GPU和APU的硬件资源,提供GPU计算所需的基本功能。

ROCm编译器:包括AMD的HIP编译器和HCC编译器,用于将HIP和C++ AMP代码编译为底层GPU指令。

ROCm运行时库:包括AMD的HIP运行时库和HCC运行时库,提供GPU计算所需的核心功能,如内存管理、线程调度、并发控制等。

ROCm工具集:包括AMD的GPU调试器、性能分析器、代码优化工具等,用于帮助开发人员调试和优化GPU计算应用程序。

ROCm的目标是成为一个全面的GPU计算平台,支持各种编程语言和应用场景。它已经得到了广泛的应用,尤其是在深度学习、科学计算和大数据分析等领域。

ROCm是AMD的一个软件平台,用来加速GPU计算
A卡上编程模型使用的是HIP或者OpenCL,而运行环境是ROCm
N卡上,编程模型是CUDA,运行环境也是CUDA

链接: [https://rocmdocs.amd.com/en/latest/]
The AMD ROCm Programming-Language Run-Time
在这里插入图片描述Important features include the following
在这里插入图片描述rocFFT:快速傅里叶变换库,用于加速频域计算任务。
rocBLAS:基本线性代数子程序库,用于加速矩阵计算任务。
rocRAND:随机数生成库,用于生成随机数序列。
rocSPARSE:稀疏矩阵计算库,用于加速稀疏矩阵计算任务。

3. HIP

HIP(Heterogeneous-Compute Interface for Portability)是AMD开发的一种GPU编程模型,旨在实现GPU代码的可移植性。HIP提供了一组C++类和函数,允许开发人员在AMD和NVIDIA GPU上编写可移植的代码。HIP的编程模型与CUDA相似,但是它是一个开放的标准,不依赖于任何特定的GPU厂商。

HIP是一种编程模型,对标CUDA编程模型。
HIP 可以说是 CUDA API 的”山寨克隆“版。除了一些不常用的功能(e.g. managed memory)外,几乎全盘拷贝 CUDA API,是 CUDA 的一个子集。
HIP is a C++ runtime API 。我们使用C++语言,可以调用HIP的API来进行编程。
HIP可以运行在ROCm平台,也可以运行在CUDA平台。
所以他可以运行在A卡,但是也可以运行在N卡上(N卡主要还是CUDA) 。
HIP 的API和CUDA非常类似,大多数情况下他们代码稍加修改就可以直接转换。

3.1.CUDA转HIP

HIP提供了移植工具 “hipify”,可以帮助你将cuda源代码转换成HIP。虽然HIP和CUDA具有相似的编程模型,但是它们在一些细节上有所不同,因此转换后的代码可能需要进行一些手动调整和修改,以确保其在AMD GPU上能够正确运行。
此外,由于AMD和NVIDIA GPU具有不同的架构和指令集,因此在不同的GPU上运行HIP和CUDA应用程序时,性能可能会有所差异。因此,在将CUDA应用程序移植到AMD GPU上时,需要进行一些性能测试和优化,以确保其在AMD GPU上能够获得最佳性能。

链接: https://www.anandtech.com/show/9792/amd-sc15-boltzmann-initiative-announced-c-and-cuda-compilers-for-amd-gpus.

cuda代码a卡实现

在这里插入图片描述

3.2 HIPify

链接: [https://docs.amd.com/bundle/HIPify-Reference-Guide-v5.4/page/HIPify.html]

HIPify是AMD ROCm软件堆栈的核心组件之一,也被许多其他GPU软件堆栈所支持。它使得将现有的CUDA代码移植到AMD GPU上变得更加容易,从而加速应用程序的开发和部署。

参考:

下载:
https://blog.csdn.net/qq_44948500/article/details/127346390?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168051145516800215074940%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168051145516800215074940&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-127346390-null-null.142v81koosearch_v1,201v4add_ask,239v2insert_chatgpt&utm_term=rocm%E4%B8%8B%E8%BD%BD&spm=1018.2226.3001.4187

https://blog.csdn.net/qq_51403540/article/details/123951460?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168050586016800180666120%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168050586016800180666120&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-3-123951460-null-null.142v81koosearch_v1,201v4add_ask,239v2insert_chatgpt&utm_term=rocm&spm=1018.2226.3001.4187

介绍:
https://blog.csdn.net/chongbin007/article/details/124043701?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168050586016800180666120%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168050586016800180666120&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-124043701-null-null.142v81koosearch_v1,201v4add_ask,239v2insert_chatgpt&utm_term=rocm&spm=1018.2226.3001.4187

https://blog.csdn.net/JackyTintin/article/details/74637157

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PyTorch是一个广泛使用的机器学习框架,而ROCm是AMD开发的一套用于GPU计算的开源软件平台。将PyTorch与ROCm结合使用可以在AMD的GPU上进行高效的深度学习任务。 要在ROCm平台使用PyTorch,首先需要安装相应的软件包。根据引用,可以通过以下命令安装PyTorch的ROCm版本: ``` pip install http://install.aieater.com/libs/pytorch/rocm3.3/gfx906/torch-1.6.0a0-cp37-cp37m-linux_x86_64.whl torchvision ``` 这将安装PyTorch及其相关的库和工具。请确保你的系统满足安装要求,并且按照引用中提供的链接下载正确的软件包。 安装完成后,你可以按照引用中的指示从GitHub上克隆PyTorch的代码库,并进行进一步的配置和使用。 总结来说,要在ROCm平台使用PyTorch,你需要按照引用中提供的链接安装ROCm版的PyTorch,并根据引用中的指示进行配置和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [不再只有Nvidia | AMD ROCm也可以玩转PyTorch工具](https://blog.csdn.net/gzq0723/article/details/115274530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [AMD 显卡编译 pytorch 指南 ROCM + pytorch](https://blog.csdn.net/znsoft/article/details/109143399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值