Skip to content

Commit b9a5434

Browse files
committed
Merge branch 'main' into hops
2 parents fc4fced + 4b0b4af commit b9a5434

8 files changed

Lines changed: 51 additions & 82 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.
@@ -1339,6 +1344,11 @@ class Network(Component, Leaf):
13391344
value for the bits_per_action of all actions of this component.
13401345
"""
13411346

1347+
topology: TopologySpec = TopologySpec.MESH
1348+
"""
1349+
The topology of the network.
1350+
"""
1351+
13421352
def _render_node_shape(self) -> str:
13431353
return "Msquare"
13441354

accelforge/model/_looptree/latency/memory.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@
1414

1515
from accelforge.model._looptree.reuse.symbolic import BuffetStats
1616
from accelforge.util._eval_expressions import MATH_FUNCS, eval_expression
17-
<<<<<<< HEAD
1817
from accelforge.util._sympy.broadcast_max import Max, Min, MaxGeqZero
19-
=======
20-
from accelforge.util._sympy.broadcast_max import Max, Min
2118
from accelforge.util._basetypes import EvalableList
22-
>>>>>>> main
2319
import symengine as se
2420

2521

accelforge/model/run_model.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ def run_model(
4343
)
4444

4545
latency = component_latency(reuse, job.flattened_arch, pmapping, spec)
46-
print(latency)
4746
try:
4847
overall_latency = MaxGeqZero(*latency.values())
4948
except Exception as e:

tests/input_files/networked/flat.yaml

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

1313
- !Array
1414
name: Array
1515
spatial:
1616
- {name: X, fanout: 4}
1717
- {name: Y, fanout: 4}
1818
nodes:
19+
- !Memory
20+
name: GlobalBuffer
21+
size: inf
22+
area: 0
23+
leak_power: 0
24+
tensors: {keep: ~MainMemory, may_keep: All}
25+
actions:
26+
- {name: read, energy: 0, throughput: inf}
27+
- {name: write, energy: 0, throughput: inf}
28+
1929
- !Memory
2030
name: RowBuffer
2131
size: inf
2232
area: 0
2333
leak_power: 0
2434
tensors: {keep: input, may_keep: input}
2535
actions:
26-
- {name: read, energy: 5, latency: 1}
27-
- {name: write, energy: 5, latency: 0}
36+
- {name: read, energy: 5, throughput: 1}
37+
- {name: write, energy: 5, throughput: inf}
2838
spatial:
2939
- {name: X, fanout: 4}
3040

@@ -35,8 +45,8 @@ arch:
3545
leak_power: 0
3646
tensors: {keep: output, may_keep: output}
3747
actions:
38-
- {name: read, energy: 5, latency: 0}
39-
- {name: write, energy: 5, latency: 0}
48+
- {name: read, energy: 5, throughput: inf}
49+
- {name: write, energy: 5, throughput: inf}
4050
spatial:
4151
- {name: Y, fanout: 4}
4252

@@ -47,8 +57,8 @@ arch:
4757
leak_power: 0
4858
tensors: {keep: weight, may_keep: weight}
4959
actions:
50-
- {name: read, energy: 5, latency: 1}
51-
- {name: write, energy: 5, latency: 0}
60+
- {name: read, energy: 5, throughput: inf}
61+
- {name: write, energy: 5, throughput: inf}
5262
spatial:
5363
- {name: X, fanout: 2}
5464
- {name: Y, fanout: 2}
@@ -58,8 +68,7 @@ arch:
5868
area: 0
5969
leak_power: 0
6070
actions:
61-
- {name: hops, energy: 1, latency: 0}
62-
71+
- {name: hops, energy: 1, throughput: inf}
6372

6473
- !Memory
6574
name: Scratchpad
@@ -68,12 +77,12 @@ arch:
6877
leak_power: 0
6978
tensors: {keep: weight, may_keep: weight}
7079
actions:
71-
- {name: read, energy: 1, latency: 0}
72-
- {name: write, energy: 1, latency: 0}
80+
- {name: read, energy: 1, throughput: inf}
81+
- {name: write, energy: 1, throughput: inf}
7382

7483
- !Compute
7584
name: MAC
7685
area: 0
7786
leak_power: 0
7887
actions:
79-
- {name: compute, energy: 1, latency: 0}
88+
- {name: compute, energy: 1, 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: 100, latency: 1e-9}
11-
- {name: write, energy: 100, latency: 1e-9}
10+
- {name: read, energy: 0, throughput: 1e9}
11+
- {name: write, energy: 0, throughput: 1e9}
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: 10, latency: 1e-9/4}
21-
- {name: write, energy: 10, latency: 1e-9/4}
20+
- {name: read, energy: 0, throughput: 4e9}
21+
- {name: write, energy: 0, throughput: 4e9}
2222

2323
- !Network
2424
name: PeArray
2525
area: 0
2626
leak_power: 0
2727
actions:
28-
- {name: hops, energy: 5, latency: 1e-9/4}
28+
- {name: hops, energy: 1, throughput: 4e9}
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: 2, latency: 1e-9/16}
38-
- {name: write, energy: 2, latency: 1e-9/16}
37+
- {name: read, energy: 0, throughput: 16e9}
38+
- {name: write, energy: 0, throughput: 16e9}
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: 1e-9/16}
48+
- {name: hops, energy: 1, throughput: 16e9}
4949

5050
- !Compute
5151
name: MAC
5252
area: 0
5353
leak_power: 0
5454
actions:
55-
- {name: compute, energy: 1, latency: 1e-9}
55+
- {name: compute, energy: 0, throughput: 1e9}
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,16 +17,16 @@ 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
total_latency: "max_hops"
2828
actions:
29-
- {name: hops, energy: 1, latency: 1}
29+
- {name: hops, energy: 1, throughput: 1}
3030

3131
- !Memory
3232
name: Scratchpad
@@ -35,8 +35,8 @@ arch:
3535
leak_power: 0
3636
tensors: {keep: All}
3737
actions:
38-
- {name: read, energy: 0, latency: 0}
39-
- {name: write, energy: 0, latency: 0}
38+
- {name: read, energy: 0, throughput: inf}
39+
- {name: write, energy: 0, throughput: inf}
4040
spatial:
4141
- {name: X, fanout: 4}
4242

@@ -45,13 +45,13 @@ 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}

tests/input_files/networked/rack.yaml

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

tests/test_network.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def test_flat(self):
2727
spec = af.Spec.from_yaml(
2828
INPUT_FILES_DIR / "flat.yaml",
2929
)
30+
print(spec.arch.nodes["NoC"])
3031
self.assertIn("NoC", spec.arch.nodes)
3132
self.assertEqual(spec.arch.nodes["NoC"].get_fanout(), 1)
3233
self.assertEqual(

0 commit comments

Comments
 (0)