Skip to content

Commit 07cd978

Browse files
committed
sw/saris: Switch to, adapt default config, add bib placeholders
1 parent 6ae46d8 commit 07cd978

File tree

5 files changed

+81
-165
lines changed

5 files changed

+81
-165
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,21 @@ If you use the Snitch cluster or its extensions in your work, you can cite us:
161161
```
162162

163163
</p>
164+
165+
<details>
166+
<summary><b>SARIS: Accelerating Stencil Computations on Energy-Efficient RISC-V Compute Clusters with Indirect Stream Registers</b></summary>
167+
<p>
168+
169+
```
170+
@misc{scheffler2024saris,
171+
title={SARIS: Accelerating Stencil Computations on Energy-Efficient
172+
RISC-V Compute Clusters with Indirect Stream Registers},
173+
author={Paul Scheffler and Luca Colagrande and Luca Benini},
174+
year={2024},
175+
eprint={},
176+
archivePrefix={arXiv},
177+
primaryClass={cs.MS}
178+
}
179+
```
180+
181+
</p>

docs/publications.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,22 @@ If you use the Snitch cluster or its extensions in your work, you can cite us:
118118

119119
</p>
120120

121+
<details>
122+
<summary><b>SARIS: Accelerating Stencil Computations on Energy-Efficient RISC-V Compute Clusters with Indirect Stream Registers</b></summary>
123+
<p>
124+
125+
```
126+
@misc{scheffler2024saris,
127+
title={SARIS: Accelerating Stencil Computations on Energy-Efficient
128+
RISC-V Compute Clusters with Indirect Stream Registers},
129+
author={Paul Scheffler and Luca Colagrande and Luca Benini},
130+
year={2024},
131+
eprint={},
132+
archivePrefix={arXiv},
133+
primaryClass={cs.MS}
134+
}
135+
```
136+
137+
</p>
138+
121139
<!--end-publications-->

sw/saris/README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,20 @@ This directory contains the baseline- and SSSR-accelerated Snitch cluster stenci
55
If you use our code or compare against our work, please cite us:
66

77
```
8-
TODO
8+
@misc{scheffler2024saris,
9+
title={SARIS: Accelerating Stencil Computations on Energy-Efficient
10+
RISC-V Compute Clusters with Indirect Stream Registers},
11+
author={Paul Scheffler and Luca Colagrande and Luca Benini},
12+
year={2024},
13+
eprint={},
14+
archivePrefix={arXiv},
15+
primaryClass={cs.MS}
16+
}
917
```
1018

1119
> [!IMPORTANT]
1220
> - Unlike other software in this repository, compiling this code requires a **custom version of the LLVM 15 toolchain** with some extensions and improvements. The source code for this LLVM fork can be found [here](https://github.com/pulp-platform/llvm-project/tree/15.0.0-saris-0.1.0).
13-
> - The generated example programs are only intended to be used **in RTL simulation of an SSSR-extended cluster**, using the custom cluster configuration `cfg/sssr.json`.
21+
> - The generated example programs are only intended to be used **in RTL simulation of a default, SSSR-extended cluster**, using the cluster configuration `cfg/default.hjson`.
1422
1523
## Directory Structure
1624

@@ -34,10 +42,10 @@ By default, `eval.json` specifies RV32G and SSSR-accelerated test programs for a
3442

3543
## Run Evaluation Programs
3644

37-
Evaluation programs can only be run in RTL simulation of a Snitch cluster using the configuration `cfg/sssr.json`. For example, when building a QuestaSim RTL simulation setup from `target/snitch_cluster`:
45+
Evaluation programs can only be run in RTL simulation of a Snitch cluster using the default, SSSR-enhanced configuration `cfg/default.json`. For example, when building a QuestaSim RTL simulation setup from `target/snitch_cluster`:
3846

3947
```
40-
make CFG_OVERRIDE=cfg/sssr.hjson bin/snitch_cluster.vsim
48+
make CFG_OVERRIDE=cfg/default.hjson bin/snitch_cluster.vsim
4149
```
4250

4351
Then, the built evaluation programs can be run on this simulation setup as usual, for example:

target/snitch_cluster/cfg/default.hjson

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
cluster_base_hartid: 0,
1717
addr_width: 48,
1818
data_width: 64,
19+
user_width: 5, // clog2(total number of clusters)
1920
tcdm: {
2021
size: 128,
2122
banks: 32,
@@ -24,14 +25,28 @@
2425
zero_mem_size: 64, // kB
2526
alias_region_enable: true,
2627
dma_data_width: 512,
27-
dma_axi_req_fifo_depth: 3,
28-
dma_req_fifo_depth: 3,
28+
dma_axi_req_fifo_depth: 24,
29+
dma_req_fifo_depth: 8,
30+
narrow_trans: 4,
31+
wide_trans: 32,
32+
dma_user_width: 1,
33+
// We don't need Snitch debugging in Occamy
34+
enable_debug: false,
35+
// We don't need Snitch (core-internal) virtual memory support
36+
vm_support: false,
37+
// Memory configuration inputs
38+
sram_cfg_expose: true,
39+
sram_cfg_fields: {
40+
ema: 3,
41+
emaw: 2,
42+
emas: 1
43+
},
2944
// Timing parameters
3045
timing: {
31-
lat_comp_fp32: 3,
46+
lat_comp_fp32: 2,
3247
lat_comp_fp64: 3,
33-
lat_comp_fp16: 2,
34-
lat_comp_fp16_alt: 2,
48+
lat_comp_fp16: 1,
49+
lat_comp_fp16_alt: 1,
3550
lat_comp_fp8: 1,
3651
lat_comp_fp8_alt: 1,
3752
lat_noncomp: 1,
@@ -44,7 +59,10 @@
4459
register_core_req: true,
4560
register_core_rsp: true,
4661
register_offload_req: true,
47-
register_offload_rsp: true
62+
register_offload_rsp: true,
63+
register_fpu_req: true,
64+
register_ext_narrow: false,
65+
register_ext_wide: false
4866
},
4967
hives: [
5068
// Hive 0
@@ -94,15 +112,22 @@
94112
xf8alt: true,
95113
xfdotp: true,
96114
xfvec: true,
115+
ssr_nr_credits: 4,
97116
num_int_outstanding_loads: 1,
98117
num_int_outstanding_mem: 4,
99118
num_fp_outstanding_loads: 4,
100119
num_fp_outstanding_mem: 4,
101120
num_sequencer_instructions: 16,
102121
num_dtlb_entries: 1,
103122
num_itlb_entries: 1,
104-
// Enable division/square root unit
105-
// Xdiv_sqrt: true,
123+
// SSSR configuration below
124+
ssr_intersection: true,
125+
ssr_intersection_triple: [0, 1, 2],
126+
ssrs: [
127+
{indirection: true}, // Master 0
128+
{indirection: true}, // Master 1
129+
{}, // Slave
130+
],
106131
},
107132
dma_core_template: {
108133
isa: "rv32imafd",

target/snitch_cluster/cfg/sssr.hjson

Lines changed: 0 additions & 153 deletions
This file was deleted.

0 commit comments

Comments
 (0)