源码安装 AMD GPGPU 生态 ROCm 备忘

news2024/9/23 21:19:08

 

0, 前言

如果初步接触 AMD这套,可以先在ubuntu上使用apt工具安装,并针对特定感兴趣的模块从源码编译安装替换,并开展研究。对整体感兴趣时可以考虑从源码编译安装整个ROCm生态。

1, 预制二进制通过apt 安装

待补。。。

2, 从源码安装

sudo apt-get install git-lfs

rocm也是使用 repo工具管理整个项目代码

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



2.1  Step1: clone source code
 

mkdir -p ~/WORKSPACE/     && \
cd ~/WORKSPACE/  && \
export ROCM_VERSION=6.1.0  && \
~/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.2  Step 2: Prepare build environment


2.2.1Prepare prepare build environment

 

 fatal error: curl/curl.h: No such file or directory

sudo apt-get update
sudo apt-get install libcurl4-openssl-dev


sudo yum install libcurl-devl

fatal error: expat.h: No such file or directory
 

sudo apt-get update
sudo apt-get install libexpat1-dev

sudo yum install expat-devl


msgfmt: not found

sudo apt-get update
sudo apt-get install gettext


sudo yum install gettext
 
 
 
 
pip3: command not found

 

sudo apt-get update
sudo apt install python3-pip

2.2.2 Prepare build environment

# For ubuntu20.04 system
cd ROCm/tools/rocm-build/docker/ubuntu20
bash install-prerequisites.sh
# For ubuntu22.04 system
cd ROCm/tools/rocm-build/docker/ubuntu22
bash install-prerequisities.sh

 这个 install-prerequisities.sh 会下载 (wget、 git clone 等等)很多源代码并编译,如果网速还行的话,运行时间需要按照一个小时左右来预备,跟cpu和内存也有关系 。

截一个几十分钟后的图:


2.3  Step 3: Run build command line

# Select GPU targets before building:
# When GPU_ARCHS is not set, default GPU targets supported by ROCm6.1 will be used.
# To build against a subset of GFX architectures you can use the below env variable.
# Support MI300 (gfx940, gfx941, gfx942).
 

export GPU_ARCHS="gfx942"               # Example
export GPU_ARCHS="gfx940;gfx941;gfx942" # Example

# Pick and run build commands in the docker container:
# Build rocm-dev packages
make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} rocm-dev
# Build all ROCm packages

make -f ROCm/tools/rocm-build/ROCm.mk -j ${NPROC:-$(nproc)} all


# list all ROCm components to find required components
make -f ROCm/tools/rocm-build/ROCm.mk list_components
# Build a single ROCm packages
make -f ROCm/tools/rocm-build/ROCm.mk T_rocblas


# Find built packages in ubuntu20.04:
out/ubuntu-20.04/20.04/deb/
# Find built packages in ubuntu22.04:
out/ubuntu-22.04/22.04/deb/

# Find built logs in ubuntu20.04:
out/ubuntu-20.04/20.04/logs/
# Find built logs in ubuntu22.04:
out/ubuntu-22.04/22.04/logs/
# All logs pertaining to failed components, end with .errrors extension.
out/ubuntu-22.04/22.04/logs/rocblas.errors          # Example
# All logs pertaining to building components, end with .inprogress extension.
out/ubuntu-22.04/22.04/logs/rocblas.inprogress  # Example
# All logs pertaining to passed components, use the component names.
out/ubuntu-22.04/22.04/logs/rocblas             # Example

效果图示:

待补。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1938213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

北京交通大学《深度学习》专业课,实验4循环神经网络实验

一、实验要求 1. 手动实现循环神经网络RNN,并在至少一种数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示) 2. 使用torch.nn.rnn实现循环神经网络,并在至少一种数据集上进行实验…

STM32学习(2)-GPIO输出

GPIO输出 2.1 GPIO输出1.GPIO简介2.GPIO基本结构3.GPIO位结构4.GPIO模式5.硬件电路 2.2LED闪烁&LED流水灯&蜂鸣器1.LED闪烁main函数代码 2.LED流水灯3.蜂鸣器 2.1 GPIO输出 1.GPIO简介 GPIO(General Purpose Input Output)通用输入输出口 可配…

【LeetCode】翻转二叉树

目录 一、题目二、解法完整代码 一、题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root…

人话讲下如何用github actions编译flutter应用-以编译windows为例

actions的脚本看下这个,有简单的说明,有关于编译个平台的脚本: https://github.com/marketplace/actions/flutter-action 打开你要编译的项目点击那个Actions按钮 然后随便点击一个脚本会跳到白框编辑界面 打开上文提到的网址随便抄下就ok …

Web开发:图片九宫格与非九宫格动态切换效果(HTML、CSS、JavaScript)

目录 一、业务需求 二、实现思路 三、实现过程 1、基础页面 2、图片大小调整 3、图片位置调整 4、鼠标控制切换 5、添加过渡 四、完整代码 一、业务需求 默认显示基础图片; 当鼠标移入,使用九宫格效果展示图片; 当鼠标离开&#…

基于术语词典干预的机器翻译挑战赛笔记 Task3 #Datawhale AI 夏令营

书接上回,上回在这捏: 基于术语词典干预的机器翻译挑战赛笔记Task2 #Datawhale AI 夏令营-CSDN博客文章浏览阅读223次,点赞10次,收藏5次。基于术语词典干预的机器翻译挑战赛笔记Task2https://blog.csdn.net/qq_23311271/article/…

华为智慧交通-高速公路视频云联网解决方案

华为高速公路视频云联网解决方案摘要: 智慧高速愿景智慧高速旨在实现人、车、路互信协同,提供更安全、高效、便捷的出行体验。通过全路段感知、全过程管控、全天候通行,以及智慧路段、服务区的建设,实现数字化、知识型、安全型、高…

微服务实战系列之玩转Docker(四)

前言 幸福,就是继续追寻已经拥有的东西。 ——圣奥古斯丁 什么算已经拥有的?比如爱你的人在等你,比如每日热腾腾的三餐,比如身边可爱的同事,又比如此刻的你,看见了这篇博文(😁&#…

搞一个boostrap主题,用django的mtv去对接

nginx的配置,设定这个模板映射的路径 location /assets/{alias /home/luichun/lc/Pyfile/Pyhome/app/statichome_to_nginx/pifu/dist/assets/;}1:设定一个主页的路由【django主要用来设定逻辑】 2:设定主页的响应内容【使用boostrap框架来对前端展示进行…

SVN与Git功能差异对比分析

最近在调研学习Git管理和分支模型相关内容,外延到了SVN和Git差异、工作原理等相关细节,学习整理如下。 SVN(Subversion)与 Git 的最大不同,主要包括以下几个方面: 交流探讨,加入群聊【Java学习…

微信小程序canvas 使用案例(一)

一、cavans 对象获取、上线文创建 1.wxml <!-- canvas.wxml --><canvas type"2d" id"myCanvas"></canvas> 2.js /*** 生命周期函数--监听页面加载*/onLoad(options) {const query wx.createSelectorQuery()query.select(#myCanvas).f…

Github报错:Kex_exchange_identification: Connection closed by remote host

文章目录 1. 背景介绍2. 排查和解决方案 1. 背景介绍 Github提交或者拉取代码时&#xff0c;报错如下&#xff1a; Kex_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository.Please make sure you have the correct ac…

STM32智能安防监控系统教程

目录 引言环境准备智能安防监控系统基础代码实现&#xff1a;实现智能安防监控系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;安防监控与优化问题解决方案与优化收尾与总结 1. 引言 智能安防监控系统通…

【HarmonyOS开发】Navigation使用

简介 Navigation是路由容器组件&#xff0c;包括单栏(Stack)、分栏(Split)和自适应(Auto)三种显示模式。适用于模块内和跨模块的路由切换。 在页面跳转时&#xff0c;应该使用页面路由router&#xff0c;在页面内的页面跳转时&#xff0c;建议使用Navigation达到更好的转场动效…

VSCODE 下 openocd Jlink 的配置笔记

title: VSCODE 下 openocd Jlink 的配置笔记 tags: STM32HalCubemax 文章目录 内容VSCODE 下 openocd Jlink 的配置笔记安装完成后修改jlink的配置文件然后修改你的下载器为jlink烧录你的项目绝对会出现下面的问题那么打开下载的第一个软件 &#xff08;点到这个jlink右键&…

《小程序02:云开发之增删改查》

一、前置操作 // 一定要用这个符号包含里面的${}才会生效 wx.showToast({title: 获取数据成功&#xff1a;${colorLista}, })1.1&#xff1a;初始化介绍 **1、获取数据库引用&#xff1a;**在开始使用数据库 API 进行增删改查操作之前&#xff0c;需要先获取数据库的引用 cons…

手机如何播放电脑的声音?

准备工具&#xff1a; 有线耳机&#xff0c;手机&#xff0c;电脑&#xff0c;远控软件 1.有线耳机插电脑上 2.电脑安装pc版远控软件&#xff0c;手机安装手机端控制版远控软件 3.手机控制电脑开启声音控制 用手机控制电脑后&#xff0c;打开声音控制&#xff0c;电脑播放视频…

【Android】Android模拟器抓包配置

从Android7.0之后开始&#xff0c;用户自行安装的证书在用户目录下&#xff0c;无法进行证书信任&#xff0c;导致Charles无法进行https抓包 方案&#xff1a; 1. 获取手机root权限 有些模拟器可以直接开启root权限&#xff1b; 有些Android手机可以直接开启root权限。 2. …

第二届数据安全大赛“数信杯”数据安全大赛 WP

1.pyc 使用pyc在线反编译得到python源码&#xff1a; #!/usr/bin/env python# visit https://tool.lu/pyc/ for more information# Version: Python 3.8import randomdef encrypt_file(file_path):random.seed(114514)# WARNING: Decompyle incompletefile_path "./flag&…

生成式人工智能落地校园与课堂的15个场景

生成式人工智能正在重塑教育行业&#xff0c;为传统教学模式带来了革命性的变化。随着AI的不断演进&#xff0c;更多令人兴奋的应用场景将逐一显现&#xff0c;为学生提供更加丰富和多元的学习体验。 尽管AI在教学中的应用越来越广泛&#xff0c;但教师们也不必担心会被完全替代…