Comments (9)
Sorry for the late response!
replace the L2 cache with an SRAM and remove the DRAM below completely
I believe the L2 is already implemented as an SRAM. Do you mean that you want to remove the L2 and DRAM and replace them with just the Gemmini scratchpad?
It might be possible to do this, but we haven't tried to build such a self-contained system before. Our memory system is based off of RocketChip; you could try asking them if it's possible to remove the L2 and DRAM. We haven't tried doing that ourselves, and it's not one of our default configuration options.
just have 1 tile of 32x32 PE array
Yes, this change is supported. Just change mesh_rows
and mesh_columns
in the Config options.
from gemmini.
Got it. Thanks for the reply!
from gemmini.
Hi Hasan, should I also change the DIM size in gemmini_params.h as well if I just want to have 1 tile of 32x32 PE array? Thanks!
from gemmini.
Nope; if you compile the Verilator, VCS, or Firesim model after changing the configs, then the DIM
size in gemmini_params.h
should automatically be updated for you.
However, you will need to update Spike's gemmini_params.h
manually, if you're planning to run on Spike.
Running this would be sufficient, after gemmini_params.h
has been updated (assuming that ~/CHIPYARD_DIR
is your path to Chipyard):
cd $CHIPYARD_DIR/toolchains/esp-tools/riscv-isa-sim/
cp $CHIPYARD_DIR/generators/gemmini/software/gemmini-rocc-tests/include/gemmini_params.h gemmini/gemmini_params.h
cd build && make && make install
from gemmini.
Got it! Thank you so much for the response!
from gemmini.
Hi, @hngenc I also want to modify the configuration of the Gemmini and face some similar issues.
Yes, this change is supported. Just change
mesh_rows
andmesh_columns
in the Config options.
So I've changed those parameters in Config.scala
as follow,
tileRows = 2,
tileColumns = 2,
meshRows = 16,
meshColumns = 16,
But it does not work when I try make debug CONFIG=GemminiRocketConfig
under the path /chipyard/ sims/ verilator
. Do I have to change any other parameters as well?
The error message is,
Makefile:214: recipe for target '/chipyard/sims/verilator/generated-src/chipyard.TestHarness.GemminiRocketConfig/chipyard.TestHarness.GemminiRocketConfig/VTestHarness.mk' failed
and
make: ***[/chipyard/sims/verilator/generated-src/chipyard.TestHarness.GemminiRocketConfig/chipyard.TestHarness.GemminiRocketConfig/VTestHarness.mk] Error 137
from gemmini.
@swc1326 That seems to be an issue with Chipyard, rather than with Gemmini. Gemmini provides the RTL, but Chipyard builds the actual cycle-accurate simulators based on that RTL.
Can you try opening an issue on Chipyard's GitHub page and dropping a link to that issue here?
from gemmini.
Turned out the above issue was due to insufficient memory size in Oracle virtual box. Increasing the size of RAM for vbox solved it.
from gemmini.
hi @hngenc , the image below illustrates what i meant by replacing L2 cache. Basically, I'd like to take out the L2 cache completely due to area constraints and just have rocket core, DRAM and gemmini on my SoC. Currently, Im able to compile a version with the configuration i just mentioned. But Im blocked immediately after entering the function tiled_conv_A_stride_auto
. I know this is probably too little information for you to debug but could you provide some high level suggestions as to what I configurations i need to change/documents I should go over ? Thank you very much!
Sorry for the late response!
replace the L2 cache with an SRAM and remove the DRAM below completely
I believe the L2 is already implemented as an SRAM. Do you mean that you want to remove the L2 and DRAM and replace them with just the Gemmini scratchpad?
It might be possible to do this, but we haven't tried to build such a self-contained system before. Our memory system is based off of RocketChip; you could try asking them if it's possible to remove the L2 and DRAM. We haven't tried doing that ourselves, and it's not one of our default configuration options.
just have 1 tile of 32x32 PE array
Yes, this change is supported. Just change
mesh_rows
andmesh_columns
in the Config options.
from gemmini.
Related Issues (20)
- An error occurred while running setup-paths.sh
- Running ONNX Resnet18 model gets stuck with command ‘-O 99’
- Subject: Compilation Error in GemminiSoCConfigs.scala
- error:Installing Chipyard and Spike HOT 9
- im2col module in Gemmini HOT 1
- error: gemmini verilator resnet50 HOT 3
- Compilation stopped when Installing Chipyard and Spike ,What should I do? HOT 1
- Why has it been stopped in this place? [UART] UART0 is here (stdin/stdout).
- How to build a GemminiSoC with multiple clock domains?
- Support for OS Convolution
- iexp function in AccumulatorScale
- Error in running Resnet 50 Inference
- Error in run Transformer test on gemmini 0.7.1
- pipeline stall when the mesh size is set to 2x2 in ConfigsFP.scala
- how to correctly configure a gemmini with a smaller spad, 32Kb, 16kb. HOT 1
- The float32 configuration fails to pass even the simplest test in Verilator
- Changing the value of scratchpad does not change the cycles run by workloads. Why is this? HOT 4
- CHANGE HARDWARE
- Firesim running transformer hangs in Q * K HOT 1
- About RISCV gnu
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gemmini.