当前位置: 首页 > news >正文

【Chipyard】修改Gemmini 中PE的数量

实战目标

PE数量扩大到原来4倍

原来配置

 tileRows: Int = 1,tileColumns: Int = 1,meshRows: Int = 16,meshColumns: Int = 16,

改后配置

 tileRows: Int = 1,tileColumns: Int = 1,meshRows: Int = 32,meshColumns: Int = 32,

修改配置

1. 修改gemmini的scala配置文件,用于构建 chipyard rtl和测试程序

修改配置文件,chipyard/generators/gemmini/src/main/scala/gemmini/GemminiConfigs.scala

的 GemminiArrayConfig  内容

  1. meshRows/meshColumns 的数值
  2. Scratchpad and accumulator memory parameters ,同倍数放大

修改后如下:

object GemminiConfigs {val defaultConfig = GemminiArrayConfig[SInt, Float, Float](// DatatypesinputType = SInt(8.W),weightType = SInt(8.W),accType = SInt(32.W),spatialArrayInputType = SInt(8.W),spatialArrayWeightType = SInt(8.W),spatialArrayOutputType = SInt(20.W),// Spatial array size optionstileRows = 1,tileColumns = 1,// meshRows = 16,// meshColumns = 16,meshRows = 32,//扩大两倍meshColumns = 32,//扩大两倍// Spatial array PE optionsdataflow = Dataflow.BOTH,// Scratchpad and accumulator//sp_capacity = CapacityInKilobytes(256), //acc_capacity = CapacityInKilobytes(64),sp_capacity = CapacityInKilobytes(1024), //扩大四倍acc_capacity = CapacityInKilobytes(256),//扩大四倍

2 . 修改 spike 的Gemmini 配置文件,用于更新gemmini spike

有两处gemmini_params.h 文件需要更新,他们分别位于 chipyard、generators/gemmini/software/gemmini-rocc-tests/include和/chipyard/generators/gemmini/software/libgemmini 中,修改后的关键内容如下:

#define XCUSTOM_ACC 3
//#define DIM 16
#define DIM 32 // 扩大到两倍
#define ADDR_LEN 32
#define BANK_NUM 4
#define BANK_ROWS 4096
#define ACC_ROWS 1024
//#define MAX_BYTES 64
#define MAX_BYTES 128 //扩大到两倍
#define MAX_BLOCK_LEN (MAX_BYTES/(DIM*1))
#define MAX_BLOCK_LEN_ACC (MAX_BYTES/(DIM*4))

重和新编译

因为是重新编译,-s 1 表示跳过第一条

cd $CY_DIR
./build-setup.sh -s 1 -s 6 -s 7 -s 8 -s 9

更新libgemmini

source env.shcd $CY_DIR/generators/gemmini
make -C software/libgemmini install

重新编译仿真器

cd $CY_DIR/sims/verilator
#make CONFIG=GemminiRocketConfig# Or, if you want a simulator that can generate waveforms, run this:
make -j$(nproc) debug CONFIG=GemminiRocketConfig

重新编译测试程序

cd $CY_DIR/generators/gemmini/software/gemmini-rocc-tests
rm -rf build
./build.sh

运行用例

对比结果

http://www.xdnf.cn/news/1012933.html

相关文章:

  • JDK版本如何丝滑切换
  • 42 C 语言随机数生成详解:rand/srand 使用技巧、随机数范围控制、真实场景应用
  • Unity Assembly的灵活用法总结
  • 一块开发板多少钱?如何花最少的钱入门?
  • 【大模型02---Megatron-LM】
  • Node.js特训专栏-基础篇:2. JavaScript核心知识在Node.js中的应用
  • Flink 系列之二十八- Flink SQL - 水位线和窗口
  • 【计算机组成原理 第5版】白、戴编著 第七章 总线系统 课后题总结
  • 为什么电流、电压相同,功率却不同
  • ETLCloud中数据脱敏规则的使用技巧
  • 【有源医疗器械检测的常见问题、整改方法、送检了解】
  • HALCON第六讲->测量和检测
  • leetcode0721. 账户合并-medium
  • 推荐一个 github加速器
  • 探索MCP Server Chart:AI赋能的统计图表自动生成工具
  • Docker|简单入门
  • SAP BTP连接SAP,云连接器
  • 安装 LibreOffice
  • LangGraph高级教程:构建规划执行型智能体
  • 高动态范围成像
  • TSC TTP-244 打印机TSPL PUTBMP指令图片打印失败
  • 树莓派5实现串口通信教程
  • odoo 维护模块维护团队实践指南
  • Windows 操作系统 - 打开任务管理器的不同方式
  • 高保真组件库:获取验证码
  • C++中的RAII技术:资源获取即初始化
  • 3.4_1 流量控制、可靠传输与滑动窗口机制
  • COHERENT Chameleon™Ultra、Vision和Vision-S激光系统操作员手侧
  • pyhton基础【6】容器介绍一
  • 【Create my OS】0 前置知识