服务器上使用docker搭建gem5-gcn3环境
创始人
2025-01-20 03:04:01
0

使用docker配置gem5-gcn3环境

3步:拉取镜像,编译gcn,测试square

1、拉取镜像

默认主机有梯子/代理,根据官网步骤 gem5 gpu:AMD VEGA GPU

docker pull ghcr.io/gem5-test/gcn-gpu:v23-1 

报错:

Error response from daemon: Head "https://ghcr.io/v2/gem5-test/gcn-gpu/manifests/v23-1": denied 

解决,需要在github上设置一下token信息,参考链接 关于容器注册表支持。设置步骤:

vim ~/.bashrc export CR_PAT=YOUR_TOKEN ### 退出重新进入终端,或者 source ~/.bashrc echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin ### login success 

重新拉取镜像,

docker pull ghcr.io/gem5-test/gcn-gpu:v23-1 

报错: Error response from daemon: manifest unknown,清单未知。去gem5 github主页,查看gcn的package下的版本列表 gcn-gpu 。发现目前没有v23-1的版本,改为已经发布的最新的v23-0,重新拉取

docker pull ghcr.io/gem5-test/gcn-gpu:v23-0 

2、环境编译

根据镜像创建一个gcn3-gpu的容器,然后进入容器。

docker run --net host -itd --name gcn3-gpu -v /home/wgs/gem5space/:/root/gem5space  ghcr.io/gem5/gcn-gpu:v23-0 bash docker exec -w /root/gem5space -it gcn3-gpu bash 

上面的一些参数说明:

docker run: --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; -i : 以交互模式运行容器,通常与 -t 同时使用; -t : 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --volume , -v: 绑定一个卷 docker exec: -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 -w :指定初始化的工作目录 

描述一下后面的文件夹结构

gem5-space 	|--gem5 	|--gem5-resources 

gem5的源码,可以从github gem5的历史版本中下载相应的源码压缩包,然后解压
gem5-resources可以从github上clone下来,

git clone https://github.com/gem5/gem5-resources.git 

编译gem5-gcn3的部分:

cd gem5 scons build/GCN3_X86/gem5.opt -j 64 

编译的输出如下
在这里插入图片描述
其他的一些说明:
如果想实现快速创建,进入或者删除容器,可以在主机的环境变量~/.bashrc中添加下面内容

alias cgcn3='docker run --net host -itd --name gcn3-gpu -v /home/wgs/gem5space/:/root/gem5space  ghcr.io/gem5/gcn-gpu:v23-0 bash' alias egcn3='docker exec -w /root/gem5space -it gcn3-gpu bash' alias dgcn3='docker stop gcn3-gpu; docker rm -f gcn3-gpu' 

在主机终端分别执行cgn3/egcn3/dgcn3可以实现,对容器的创建/进入/删除操作。
进入容器,可以通过下面操作修改终端的显示彩色

apt update & apt install vim vim ~/.barshrc # 在vim命令中输入: j 64,跳转到第64行 # 取消第39行的注释 #force_color_prompt=yes 

3、测试square

square在github上的介绍和测试流程 square

# pwd: /root/gem5space cd gem5-resources/src/gpu/square make # Warning: The specified HIP target: gfx902 is unknown. Correct compilation is not guaranteed. cd - gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n 3 -c gem5-resources/src/gpu/square/bin/square 

成功运行后的输出如下:

info: check result PASSED! Ticks: 139906310500 Exiting because  exiting with last active thread context 

运行时会有一些warning,而且也需要等待一小段时间。

其他的情况说明

docker官网有一个版本的gem5-gcn3, 地址docker官网 gcn3。这个版本可以编译,但是运行起来会有报错,不太清楚这个docker里面环境什么情况。而且是两年前的一个版本。

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...