Crossed Cubes
Topology
Communication
Computation
Research
Matrix x Matrix
Crossed-cube and hypercube computation schedules
Select Size
4
6
Mode
Matrix × Matrix
Vector × Matrix
Schedule
Non-pipelined
Pipelined
Play Animation
Matrix computation views only. This matrix-matrix page shows the exact per-cycle schedule derived from the computation model. Use the schedule selector to compare the non-pipelined baseline with the pipelined extension.
CQ Matrix x Matrix
Exact model cycle -1
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
Q Matrix x Matrix
Exact model cycle -1
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 0
Task r0: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-4
-4
2
2
2
2
-1
-1
Q Matrix x Matrix
Exact model cycle 0
Task r0: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-4
-4
2
2
2
2
-1
-1
CQ Matrix x Matrix
Exact model cycle 1
Task r0: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-4
2
2
-1
Q Matrix x Matrix
Exact model cycle 1
Task r0: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-4
2
2
-1
CQ Matrix x Matrix
Exact model cycle 2
Task r0: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
Q Matrix x Matrix
Exact model cycle 2
Task r0: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 3
Task r0: column reduce into row r0
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
Q Matrix x Matrix
Exact model cycle 3
Task r0: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 4
Task r0: column reduce into row r0
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
Q Matrix x Matrix
Exact model cycle 4
Task r0: column reduce into row r0
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
CQ Matrix x Matrix
Exact model cycle 5
Task r1: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
2
2
3
3
-3
-3
-4
-4
Q Matrix x Matrix
Exact model cycle 5
Task r0: column reduce into row r0
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
CQ Matrix x Matrix
Exact model cycle 6
Task r1: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
2
3
-3
-4
Q Matrix x Matrix
Exact model cycle 6
Task r0: column reduce into row r0
r0
r1
r2
r3
c0
c1
c2
c3
0000
0001
0011
0010
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 7
Task r1: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
Q Matrix x Matrix
Exact model cycle 7
Task r1: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
2
2
3
3
-3
-3
-4
-4
CQ Matrix x Matrix
Exact model cycle 8
Task r1: column reduce into row r1
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
Q Matrix x Matrix
Exact model cycle 8
Task r1: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
2
3
-3
-4
CQ Matrix x Matrix
Exact model cycle 9
Task r1: column reduce into row r1
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
Q Matrix x Matrix
Exact model cycle 9
Task r1: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 10
Task r2: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-3
-3
2
2
0
0
-2
-2
Q Matrix x Matrix
Exact model cycle 10
Task r1: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 11
Task r2: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-3
2
0
-2
Q Matrix x Matrix
Exact model cycle 11
Task r1: column reduce into row r1
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
CQ Matrix x Matrix
Exact model cycle 12
Task r2: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
Q Matrix x Matrix
Exact model cycle 12
Task r1: column reduce into row r1
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
CQ Matrix x Matrix
Exact model cycle 13
Task r2: column reduce into row r2
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
Q Matrix x Matrix
Exact model cycle 13
Task r1: column reduce into row r1
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
0101
0111
0110
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 14
Task r2: column reduce into row r2
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
Q Matrix x Matrix
Exact model cycle 14
Task r2: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-3
-3
2
2
0
0
-2
-2
CQ Matrix x Matrix
Exact model cycle 15
Task r3: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-4
-4
-3
-3
-4
-4
-2
-2
Q Matrix x Matrix
Exact model cycle 15
Task r2: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-3
2
0
-2
CQ Matrix x Matrix
Exact model cycle 16
Task r3: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-4
-3
-4
-2
Q Matrix x Matrix
Exact model cycle 16
Task r2: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 17
Task r3: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
Q Matrix x Matrix
Exact model cycle 17
Task r2: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 18
Task r3: column reduce into row r3
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
Q Matrix x Matrix
Exact model cycle 18
Task r2: column reduce into row r2
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
CQ Matrix x Matrix
Exact model cycle 19
Task r3: column reduce into row r3
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-1
-2
3
2
Q Matrix x Matrix
Exact model cycle 19
Task r2: column reduce into row r2
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
-1
-2
3
2
CQ Matrix x Matrix
Exact model cycle 20
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 20
Task r2: column reduce into row r2
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
1101
1111
1110
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 21
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 21
Task r3: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-4
-4
-3
-3
-4
-4
-2
-2
CQ Matrix x Matrix
Exact model cycle 22
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 22
Task r3: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-4
-3
-4
-2
CQ Matrix x Matrix
Exact model cycle 23
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 23
Task r3: row broadcast phase
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 24
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 24
Task r3: local multiply on all nodes
LOCAL MULTIPLY IN ALL NODES
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 25
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 25
Task r3: column reduce into row r3
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-1
-1
-1
-2
-2
-2
3
3
3
2
2
2
CQ Matrix x Matrix
Exact model cycle 26
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 26
Task r3: column reduce into row r3
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
-1
-2
3
2
CQ Matrix x Matrix
Exact model cycle 27
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 27
Task r3: column reduce into row r3
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
1001
1011
1010
CQ Matrix x Matrix
Exact model cycle 28
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 28
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
CQ Matrix x Matrix
Exact model cycle 29
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Q Matrix x Matrix
Exact model cycle 29
Idle / pre-start
r0
r1
r2
r3
c0
c1
c2
c3
0000
6
0001
18
0011
-4
0010
-14
0100
-6
0101
-12
0111
23
0110
-9
1100
3
1101
8
1111
1
1110
-14
1000
6
1001
-17
1011
-17
1010
-12
Timings
MM schedule = non-pipelined row schedule CQ row broadcast depth = 2 CQ column broadcast depth = 2 CQ stages = 4 CQ overall completion = 20 Q row broadcast depth = 3 Q column broadcast depth = 3 Q stages = 4 Q overall completion = 28
Speedup
CQ vs Q Running Times
Dimensions 4 through 20, using the row-broadcast and column-reduce trees of our algorithm.
Vector x Matrix Overall Time
0
6
12
18
25
4
6
8
10
12
14
16
18
20
5
6
6
7
8
9
9
11
10
13
11
15
12
17
13
19
14
21
CQ
Q
Matrix x Matrix Overall Time
0
5500
11000
16500
22000
4
6
8
10
12
14
16
18
20
20
24
48
56
128
144
288
352
640
832
1408
1920
3072
4352
6656
9728
14336
21504
CQ
Q