安装 运行 gemmini 和chipyard

安装gemmini 和chipyard过程:

2024.2.19日更新

发现别人做的一个文档, 里面也有配置环境的教程
https://hjdzsa51s9.feishu.cn/docx/SOUfdtH11oci8ux5q1tcOIQFntg

安装版本:

​ chipyard 版本是1.8.1 ,gemmini版本0.7.0

​ tip: 如果在base里安装conda-lock觉得缓慢,可以新建新的环境时就指定安装conda-lock

conda create --name yourEnv python=3.7 conda-lock=1.4

到对应的env环境下

conda activate yourEnv

查看是否安装成功 conda-lock

conda-lock --version

安装chipyard:

这里墙裂建议使用魔法

git clone -b 1.8.1 https://github.com/ucb-bar/chipyard.git

cd chipyard
git checkout 1.8.1
./build-setup.sh esp-tools

source env.sh

cd generators/gemmini
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch && git checkout v0.7.0
git submodule update --init --recursive

SPIKE_HASH=$(cat SPIKE.hash)

cd -
cd toolchains/esp-tools/riscv-isa-sim/build
git fetch && git checkout $SPIKE_HASH
make && make install

cd ~/chipyard/generators/gemmini && ./scripts/setup-paths.sh

开启多线程加速

目录:
	/chipyard/generators/gemmini/scripts/buid-verilator.sh
//18行
j="8"  //线程数


目录:

	/chipyard/sims/verilator/Makefile

//107 行
VERILATOR_THREADS ?= 16	 //线程数

//110行
VERILATOR_FST_MODE ?= 1		//加速波形图用的

配置8*8个PE

目录:
		/chipyard/generators/gemmini/src/main/scala/gemmini/CustomConfigs.scala

//在51行加入

  val Mum64Config = defaultConfig.copy(
    meshRows = 8,
    meshColumns = 8,

    has_training_convs = false,
  )
  // Specify which of your custom configs you want to build here
  //把这里修改成Mum64Config 
  val customConfig = Mum64Config 

友情提醒·0

gemmini自带的resnet50循环层数过多,需要等很久。如果只是想验证是否正确可以减少层数!!

resnet50.c路径:

chipyard/generators/gemmini/software/gemmini-rocc-tests/imagenet/resnet50.c

运行Gemmini仿真

每次重新开一个终端,需要先运行此命令,将conda激活

conda activate yourEnv

在chipyard/文件夹下

source env.sh

将为所请求的工具链正确设置PATH、RISCV和LD_LIBRARY_PATH环境变量

build software

cd chipyard/generators/gemmini/software/gemmini-rocc-tests
./build.sh

友情提醒·1

如果运行gemmini仿真之后,再修改

imagenet/resnet50.c

中的代码

就要删除

/chipyard/generators/gemmini/software/gemmini-rocc-tests/build

文件夹,重新执行./build.sh

生成模拟器

 cd generators/gemmini/
 ./scripts/build-verilator.sh --debug

–debug是为了生成波形

运行仿真

./scripts/run-verilator.sh resnet50 --debug

gemmini 波形图路径

Top/TestHarness/chiptop/system/tile_prci_domain/tile_reset_domain/tile/gemmini/ex_controller/mesh
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Gemmini RTL是指Gemmini的硬件设计源代码。通过查看Chipyard文档,可以找到有关如何生成Gemmini RTL的说明。Gemmini的架构模板中包含有空间分布处理元素(PE)的空间架构,每个元素执行点积和累积操作。Gemmini还支持其他常用的DNN内核,例如池化、非线性激活和矩阵标量乘法,并提供一组可配置的外围电路。生成的Gemmini加速器可以与RISC-V主机CPU集成,以对加速器进行编程和配置。Gemmini是一个开源的全栈DNN加速器设计基础架构,提供了灵活的硬件模板、多层软件堆栈和集成的SoC环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [gemmini:伯克利的脉动阵列发生器](https://download.csdn.net/download/weixin_42129005/20704113)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Gemmini介绍](https://blog.csdn.net/weixin_64407323/article/details/127048952)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值