Skip to content

Commit aefee4e

Browse files
committed
Merge branch 'main' into adapter
2 parents 468791b + 86682a3 commit aefee4e

7 files changed

Lines changed: 50 additions & 86 deletions

File tree

accelforge/frontend/arch/components.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import copy
2+
import enum
23
import itertools
34
import logging
45
from numbers import Number
@@ -1303,6 +1304,10 @@ def _render_node_color(self) -> str:
13031304
return "#E0EEFF"
13041305

13051306

1307+
class TopologySpec(str, enum.Enum):
1308+
MESH = "mesh"
1309+
1310+
13061311
class Network(Component, Leaf):
13071312
"""
13081313
Defines a network component.
@@ -1325,6 +1330,11 @@ class Network(Component, Leaf):
13251330
value for the bits_per_action of all actions of this component.
13261331
"""
13271332

1333+
topology: TopologySpec = TopologySpec.MESH
1334+
"""
1335+
The topology of the network.
1336+
"""
1337+
13281338
def _render_node_shape(self) -> str:
13291339
return "Msquare"
13301340

accelforge/model/_looptree/reuse/symbolic/_symbolic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ def analyze_compute(
943943
result_accumulator.compute_stats[compute_key] = ComputeStats(
944944
computes,
945945
computes,
946-
1,
946+
computes,
947947
)
948948

949949
if info.is_copy_operation:

tests/input_files/networked/flat.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ arch:
77
leak_power: 0
88
tensors: {keep: All}
99
actions:
10-
- {name: read, energy: 0, latency: 0}
11-
- {name: write, energy: 0, latency: 0}
10+
- {name: read, energy: 0, throughput: inf}
11+
- {name: write, energy: 0, throughput: inf}
1212

1313
- !Network
1414
name: NoC
@@ -29,8 +29,8 @@ arch:
2929
leak_power: 0
3030
tensors: {keep: ~MainMemory, may_keep: All}
3131
actions:
32-
- {name: read, energy: 0, latency: 0}
33-
- {name: write, energy: 0, latency: 0}
32+
- {name: read, energy: 0, throughput: inf}
33+
- {name: write, energy: 0, throughput: inf}
3434

3535
- !Memory
3636
name: RowBuffer
@@ -39,8 +39,8 @@ arch:
3939
leak_power: 0
4040
tensors: {keep: ~MainMemory, may_keep: All}
4141
actions:
42-
- {name: read, energy: 0, latency: 0}
43-
- {name: write, energy: 0, latency: 0}
42+
- {name: read, energy: 0, throughput: inf}
43+
- {name: write, energy: 0, throughput: inf}
4444
spatial:
4545
- {name: X, fanout: 4}
4646

@@ -51,8 +51,8 @@ arch:
5151
leak_power: 0
5252
tensors: {keep: ~MainMemory, may_keep: All}
5353
actions:
54-
- {name: read, energy: 0, latency: 0}
55-
- {name: write, energy: 0, latency: 0}
54+
- {name: read, energy: 0, throughput: inf}
55+
- {name: write, energy: 0, throughput: inf}
5656
spatial:
5757
- {name: Y, fanout: 4}
5858

@@ -63,8 +63,8 @@ arch:
6363
leak_power: 0
6464
tensors: {keep: ~MainMemory, may_keep: All}
6565
actions:
66-
- {name: read, energy: 0, latency: 0}
67-
- {name: write, energy: 0, latency: 0}
66+
- {name: read, energy: 0, throughput: inf}
67+
- {name: write, energy: 0, throughput: inf}
6868
spatial:
6969
- {name: X, fanout: 2}
7070
- {name: Y, fanout: 2}
@@ -75,12 +75,12 @@ arch:
7575
area: 0
7676
leak_power: 0
7777
actions:
78-
- {name: read, energy: 0, latency: 0}
79-
- {name: write, energy: 0, latency: 0}
78+
- {name: read, energy: 0, throughput: inf}
79+
- {name: write, energy: 0, throughput: inf}
8080

8181
- !Compute
8282
name: MAC
8383
area: 0
8484
leak_power: 0
8585
actions:
86-
- {name: compute, energy: 0, latency: 0}
86+
- {name: compute, energy: 0, throughput: inf}

tests/input_files/networked/hierarchical.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ arch:
77
leak_power: 0
88
tensors: {keep: All}
99
actions:
10-
- {name: read, energy: 0, latency: 0}
11-
- {name: write, energy: 0, latency: 0}
10+
- {name: read, energy: 0, throughput: inf}
11+
- {name: write, energy: 0, throughput: inf}
1212

1313
- !Memory
1414
name: GlobalBuffer
@@ -17,15 +17,15 @@ arch:
1717
leak_power: 0
1818
tensors: {keep: ~MainMemory, may_keep: All}
1919
actions:
20-
- {name: read, energy: 0, latency: 0}
21-
- {name: write, energy: 0, latency: 0}
20+
- {name: read, energy: 0, throughput: inf}
21+
- {name: write, energy: 0, throughput: inf}
2222

2323
- !Network
2424
name: PeArray
2525
area: 0
2626
leak_power: 0
2727
actions:
28-
- {name: hops, energy: 1, latency: 0}
28+
- {name: hops, energy: 1, throughput: inf}
2929

3030
- !Memory
3131
name: Scratchpad
@@ -34,8 +34,8 @@ arch:
3434
leak_power: 0
3535
tensors: {keep: All}
3636
actions:
37-
- {name: read, energy: 0, latency: 0}
38-
- {name: write, energy: 0, latency: 0}
37+
- {name: read, energy: 0, throughput: inf}
38+
- {name: write, energy: 0, throughput: inf}
3939
spatial:
4040
- {name: X, fanout: 2}
4141
- {name: Y, fanout: 2}
@@ -45,14 +45,14 @@ arch:
4545
area: 0
4646
leak_power: 0
4747
actions:
48-
- {name: hops, energy: 1, latency: 0}
48+
- {name: hops, energy: 1, throughput: inf}
4949

5050
- !Compute
5151
name: MAC
5252
area: 0
5353
leak_power: 0
5454
actions:
55-
- {name: compute, energy: 0, latency: 0}
55+
- {name: compute, energy: 0, throughput: inf}
5656
spatial:
5757
- {name: X, fanout: 2}
5858
- {name: Y, fanout: 2}

tests/input_files/networked/hierarchical_1d.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ arch:
77
leak_power: 0
88
tensors: {keep: All}
99
actions:
10-
- {name: read, energy: 0, latency: 0}
11-
- {name: write, energy: 0, latency: 0}
10+
- {name: read, energy: 0, throughput: inf}
11+
- {name: write, energy: 0, throughput: inf}
1212

1313
- !Memory
1414
name: GlobalBuffer
@@ -17,15 +17,15 @@ arch:
1717
leak_power: 0
1818
tensors: {keep: ~MainMemory, may_keep: All}
1919
actions:
20-
- {name: read, energy: 0, latency: 0}
21-
- {name: write, energy: 0, latency: 0}
20+
- {name: read, energy: 0, throughput: inf}
21+
- {name: write, energy: 0, throughput: inf}
2222

2323
- !Network
2424
name: PeArray
2525
area: 0
2626
leak_power: 0
2727
actions:
28-
- {name: hops, energy: 1, latency: 0}
28+
- {name: hops, energy: 1, throughput: inf}
2929

3030
- !Memory
3131
name: Scratchpad
@@ -34,8 +34,8 @@ arch:
3434
leak_power: 0
3535
tensors: {keep: All}
3636
actions:
37-
- {name: read, energy: 0, latency: 0}
38-
- {name: write, energy: 0, latency: 0}
37+
- {name: read, energy: 0, throughput: inf}
38+
- {name: write, energy: 0, throughput: inf}
3939
spatial:
4040
- {name: X, fanout: 4}
4141

@@ -44,13 +44,13 @@ arch:
4444
area: 0
4545
leak_power: 0
4646
actions:
47-
- {name: hops, energy: 1, latency: 0}
47+
- {name: hops, energy: 1, throughput: inf}
4848

4949
- !Compute
5050
name: MAC
5151
area: 0
5252
leak_power: 0
5353
actions:
54-
- {name: compute, energy: 0, latency: 0}
54+
- {name: compute, energy: 0, throughput: inf}
5555
spatial:
5656
- {name: X, fanout: 2}

tests/input_files/networked/rack.yaml

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

tests/regression_reference.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@
257257
},
258258
"latency_per_component": {
259259
"('I', 'MainMemory')": 0.0,
260-
"('I', 'MAC')": 100663296.0,
260+
"('I', 'MAC')": 0.0,
261261
"('V', 'MAC')": 1236950581248.0,
262262
"('V', 'MainMemory')": 0.0,
263263
"('K', 'MAC')": 1236950581248.0,
@@ -409,7 +409,7 @@
409409
},
410410
"latency_per_component": {
411411
"('I', 'MainMemory')": 0.0,
412-
"('I', 'MAC')": 100663296.0,
412+
"('I', 'MAC')": 0.0,
413413
"('V', 'MAC')": 1236950581248.0,
414414
"('V', 'MainMemory')": 0.0,
415415
"('K', 'MAC')": 1236950581248.0,
@@ -561,7 +561,7 @@
561561
},
562562
"latency_per_component": {
563563
"('I', 'MainMemory')": 0.0,
564-
"('I', 'MAC')": 12288.0,
564+
"('I', 'MAC')": 0.0,
565565
"('V_new', 'MAC')": 150994944.0,
566566
"('V_new', 'MainMemory')": 0.0,
567567
"('K_new', 'MAC')": 150994944.0,
@@ -713,7 +713,7 @@
713713
},
714714
"latency_per_component": {
715715
"('I', 'MainMemory')": 0.0,
716-
"('I', 'MAC')": 12288.0,
716+
"('I', 'MAC')": 0.0,
717717
"('V_new', 'MAC')": 150994944.0,
718718
"('V_new', 'MainMemory')": 0.0,
719719
"('K_new', 'MAC')": 150994944.0,
@@ -5347,7 +5347,7 @@
53475347
"latency_per_component": {
53485348
"('I', 'GlobalBuffer')": 4.915200042887591e-05,
53495349
"('I', 'MainMemory')": 0.00016394673730246723,
5350-
"('I', 'ScalarUnit')": 0.00018724572146311402,
5350+
"('I', 'ScalarUnit')": 0.0,
53515351
"('V', 'MAC')": 0.017975589260458946,
53525352
"('V', 'LocalBuffer')": 0.0,
53535353
"('V', 'GlobalBuffer')": 0.0006881279987283051,
@@ -5672,7 +5672,7 @@
56725672
},
56735673
"latency_per_component": {
56745674
"('I', 'MainMemory')": 0.0,
5675-
"('I', 'ScalarUnit')": 0.00018724572146311402,
5675+
"('I', 'ScalarUnit')": 0.0,
56765676
"('V', 'MAC')": 0.017975589260458946,
56775677
"('V', 'LocalBuffer')": 0.0,
56785678
"('V', 'GlobalBuffer')": 0.0006881279987283051,
@@ -5999,7 +5999,7 @@
59995999
"latency_per_component": {
60006000
"('I', 'GlobalBuffer')": 6.000000052353016e-09,
60016001
"('I', 'MainMemory')": 2.001302945586758e-08,
6002-
"('I', 'ScalarUnit')": 2.2857143733290286e-08,
6002+
"('I', 'ScalarUnit')": 0.0,
60036003
"('V_new', 'MAC')": 2.1942857983958675e-06,
60046004
"('V_new', 'LocalBuffer')": 0.0,
60056005
"('V_new', 'GlobalBuffer')": 2.4000000209412065e-08,
@@ -6308,7 +6308,7 @@
63086308
},
63096309
"latency_per_component": {
63106310
"('I', 'MainMemory')": 0.0,
6311-
"('I', 'ScalarUnit')": 2.2857143733290286e-08,
6311+
"('I', 'ScalarUnit')": 0.0,
63126312
"('V_new', 'MAC')": 2.1942857983958675e-06,
63136313
"('V_new', 'LocalBuffer')": 0.0,
63146314
"('V_new', 'GlobalBuffer')": 2.4000000209412065e-08,

0 commit comments

Comments
 (0)