iis服务器助手广告
返回顶部
首页 > 资讯 > 服务器 >ROCm平台简介及使用汇总
  • 311
分享到

ROCm平台简介及使用汇总

ubuntulinux服务器 2023-09-04 08:09:15 311人浏览 安东尼
摘要

AMD ROCm 平台简介及使用 1.ROCm下载1.1下载安装1.2验证 2.ROCm介绍3. HIP3.1.CUDA转HIP3.2 HIPify 参考: 1.ROCm下载 1.

AMD ROCm 平台简介及使用

1.ROCm下载

1.1下载安装

安装步骤如下官网下载amdgpu-install_xxxxxx.xxxxxx_all.debamd官网链接: [https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20]
# 更新软件库sudo apt update && sudo apt upgradesudo apt install wget gnupg2 # 22.04安装这个wget Https://repo.radeon.com/amdgpu-install/5.4/ubuntu/jammy/amdgpu-install_5.4.50400-1_all.debsudo 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.debsudo 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

来源地址:https://blog.csdn.net/weixin_45206081/article/details/129931038

--结束END--

本文标题: ROCm平台简介及使用汇总

本文链接: https://www.lsjlt.com/news/393198.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ROCm平台简介及使用汇总
    AMD ROCm 平台简介及使用 1.ROCm下载1.1下载安装1.2验证 2.ROCm介绍3. HIP3.1.CUDA转HIP3.2 HIPify 参考: 1.ROCm下载 1....
    99+
    2023-09-04
    ubuntu linux 服务器
  • SpringMVC结构简介及常用注解汇总
    目录MVC结构简介 SpringMVC简介 SpringMVC执行流程 常用注解1. @Controller 2. @ResponseBody 3. @RestController ...
    99+
    2024-04-02
  • Java中StringTokenizer的用法简介汇总
    目录StringTokenizer的用法StringTokenizer 构造方法:StringTokenizer 常用方法:补充:下面在介绍下StringTokenizer的使用下文...
    99+
    2024-04-02
  • Onnx简介以及使用
    目录 一、ONNX简介 二、使用场景 三、常见例子  四、使用步骤 1.引入库 2.读入数据 五、如何查看onnx网络结构和参数 六、一个简单例子的实现 七、ONNX 的其他基本操作 1.获取onnx模型的输出层...
    99+
    2023-09-01
    python 开发语言
  • Discuz论坛简介及使用指南
    Discuz论坛简介及使用指南 随着互联网的发展,论坛已经成为许多人们交流和分享信息的重要平台。其中,Discuz是国内最流行的论坛系统之一,它以功能丰富、易用性强而闻名。本文将介绍D...
    99+
    2024-03-03
    论坛 指南 discuz
  • SpringBoot框架中Mybatis-plus的简单使用操作汇总
    Mybatis-plus 官网地址:https://baomidou.com/ 配置mysql 在配置文件连接mysql spring.datasource.driver-class...
    99+
    2024-04-02
  • TIDB简介及TIDB部署、原理和使用介绍
    TiDB简介及TiDB部署、原理和使用介绍 从MySQL架构到TiDB 数据库分类 ​ 介绍TiDB数据库之前,先引入使用场景。如今的数据库种类繁多,RDBMS(关系型数据库)、NoSQL(Not Only SQL)、NewSQL,在数据库...
    99+
    2023-08-17
    tidb 数据库 mysql 大数据 etl工程师
  • Redis中的BloomFilter简介及使用方法
    本篇内容主要讲解“Redis中的BloomFilter简介及使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的BloomFilter简介及使用...
    99+
    2024-04-02
  • Java Jwt库的简介及使用详解
    JWT介绍 JWT概念 JWT , 全写JSON Web Token, 是开放的行业标准RFC7591,用来实现端到端安全验证. 简单来说, 就是通过一些算法对加密字符串和JSON对...
    99+
    2024-04-02
  • MinIO的介绍以及简单的使用
    什么是MinIO MinIO是在GUN Affero通用公共许可证 v3.0 下发布的高性能对象存储.他与AmazonS3云存储服务API兼容.使用MinIO为机器学习,分析和应用程序数据工作负载构建高性能基础架构. MinIO是一个高...
    99+
    2023-10-26
    java Powered by 金山文档
  • ASP.NET Core实时库SignalR简介及使用
    目录何为实时什么是SignalR回落机制三种通信方式long polling(长轮询)server sent events(sse)web socket进入正题何为实时 先从理论上解...
    99+
    2024-04-02
  • Java Jwt库的简介及使用方法
    这期内容当中小编将会给大家带来有关Java Jwt库的简介及使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JWT介绍JWT概念JWT , 全写JSON Web Token, 是开放的行业标准RFC...
    99+
    2023-06-25
  • Httprunner简介、安装及基本使用教程
    目录前言简介主要特点Httprunner2.x和3.x区别安装相关命令基本使用创建项目make转pytest用例run 运行用例前言 本系列文章开始介绍接口开源测试工具 --http...
    99+
    2024-04-02
  • redis简单介绍及安装使用小结
    一:redis介绍 Redis和Memcached类似,也属于k-v数据存储 Redis官网redis.io, 当前最新稳定版4.0.1 支持更多value类型,除了和string外,还支持hash、li...
    99+
    2024-04-02
  • Python中hash加密简介及使用方法
    目录简介概念特点hash有哪些算法碰撞加盐防碰撞加密hashlib主要方法特有方法使用方法加盐crypt使用说明应用密码加密应用一致性校验简介 概念 散列算法(Hash Algori...
    99+
    2024-04-02
  • Go语言在Linux平台的使用及局限性
    Go语言是一种开源的编程语言,以其简洁、高效和强大的特性而备受程序员青睐。在Linux操作系统下,Go语言也被广泛应用于各种开发项目中,但在与Linux系统交互过程中会受到一些限制。本...
    99+
    2024-02-26
    go语言 限制 linux应用 网络编程 linux操作系统 标准库
  • C++中map和set的简介及使用详解
    目录关联式容器键值对setset的介绍set的使用multisetmapmap的介绍map的使用map构造map的插入map的[ ]运算符重载multiset关联式容器 关联式容器包...
    99+
    2024-04-02
  • Python中的pandas库简介及其使用教程
    目录pandas模块SeriesDateFrame常用方法处理缺失数据数据过滤绘图功能pandas模块 pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供...
    99+
    2022-11-13
    Python pandas库 Python pandas库使用 pandas库用法
  • 简单介绍Python虚拟环境及使用方法
    目录一、为什么需要虚拟环境?二、virtualenv三、venv四、pipenv一、为什么需要虚拟环境? 这里的环境,指的就是 Python 代码的运行环境。它应该包含以下信息: ...
    99+
    2024-04-02
  • PHP转化函数简介及使用方法详解
    【PHP转化函数简介及使用方法详解】PHP 作为一种广泛应用于 Web 开发领域的编程语言,其中的转化函数在数据处理过程中发挥着重要作用。转化函数能够帮助开发者将不同类型的数据进行转换...
    99+
    2024-03-07
    函数 php 转化 lsp
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作