使用docker配置gem5-gcn3環(huán)境
3步:拉取鏡像,編譯gcn,測試square
1、拉取鏡像
默認(rèn)主機(jī)有梯子/代理,根據(jù)官網(wǎng)步驟 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上設(shè)置一下token信息,參考鏈接 關(guān)于容器注冊表支持。設(shè)置步驟:
vim ~/.bashrc
export CR_PAT=YOUR_TOKEN
### 退出重新進(jìn)入終端,或者
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 。發(fā)現(xiàn)目前沒有v23-1的版本,改為已經(jīng)發(fā)布的最新的v23-0,重新拉取
docker pull ghcr.io/gem5-test/gcn-gpu:v23-0
2、環(huán)境編譯
根據(jù)鏡像創(chuàng)建一個gcn3-gpu的容器,然后進(jìn)入容器。
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
上面的一些參數(shù)說明:
docker run:
--net="bridge": 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型;
-i : 以交互模式運行容器,通常與 -t 同時使用;
-t : 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--volume , -v: 綁定一個卷
docker exec:
-i :即使沒有附加也保持STDIN 打開
-t :分配一個偽終端
-w :指定初始化的工作目錄
描述一下后面的文件夾結(jié)構(gòu)
gem5-space
|--gem5
|--gem5-resources
gem5的源碼,可以從github gem5的歷史版本中下載相應(yīng)的源碼壓縮包,然后解壓
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
編譯的輸出如下
其他的一些說明:
如果想實現(xiàn)快速創(chuàng)建,進(jìn)入或者刪除容器,可以在主機(jī)的環(huán)境變量~/.bashrc
中添加下面內(nèi)容
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'
在主機(jī)終端分別執(zhí)行cgn3/egcn3/dgcn3
可以實現(xiàn),對容器的創(chuàng)建/進(jìn)入/刪除操作。
進(jìn)入容器,可以通過下面操作修改終端的顯示彩色
apt update & apt install vim
vim ~/.barshrc
# 在vim命令中輸入: j 64,跳轉(zhuǎn)到第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,而且也需要等待一小段時間。文章來源:http://www.zghlxwxcb.cn/news/detail-787925.html
其他的情況說明
docker官網(wǎng)有一個版本的gem5-gcn3
, 地址docker官網(wǎng) gcn3。這個版本可以編譯,但是運行起來會有報錯,不太清楚這個docker里面環(huán)境什么情況。而且是兩年前的一個版本。文章來源地址http://www.zghlxwxcb.cn/news/detail-787925.html
到了這里,關(guān)于服務(wù)器上使用docker搭建gem5-gcn3環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!