Skip to main content

Table 6 Strong scaling comparison: d2o’s relative performance compared to DistArray[7] when increasing the number of processes while fixing the global array size to \((4096, 4096)=128~\mathrm {MiB}\)

From: d2o: a distributed data object for parallel high-performance computing in Python

Processes (local size)

1 (128 MiB)

2 (64 MiB)

3 (42.7 MiB)

4 (32 MiB)

8 (16 MiB)

16 (8 MiB)

32 (4 MiB)

64 (2 MiB)

128 (1MiB)

256 (512 KiB)

copy_empty

23.49

27.70

33.99

40.03

1.11 × 10\(^{\mathrm {2}}\)

1.12 × 10\(^{\mathrm {3}}\)

1.06 × 10\(^{\mathrm {3}}\)

1.91 × 10\(^{\mathrm {3}}\)

5.57 × 10\(^{\mathrm {3}}\)

1.90 × 10\(^{\mathrm {4}}\)

Max

1.05

1.11

1.16

1.20

1.34

5.00

4.74

3.77

3.25

4.17

Sum

1.07

1.20

1.25

1.33

1.48

6.57

5.57

4.20

3.55

4.61

sum(axis\(\,=\,\)0)

1.02

1.09

1.12

1.22

1.03

3.61

3.35

2.75

2.42

3.06

sum(axis\(\,=\,\)1)

1.03

1.15

1.15

1.28

1.63

11.35

12.56

19.29

22.55

42.48

obj \(+\) 0

1.02

1.09

1.20

1.15

0.44

2.88

4.24

7.81

33.94

3.78 × 10\(^{\mathrm {2}}\)

obj \(+\) obj

1.02

1.09

1.20

1.16

0.44

2.90

4.23

8.08

34.40

3.81 × 10\(^{\mathrm {2}}\)

obj \(+=\) obj

2.27

2.38

2.51

2.53

1.60

8.23

14.89

26.24

1.04 × 10\(^{\mathrm {2}}\)

5.35 × 10\(^{\mathrm {2}}\)

Sqrt

1.00

1.03

1.03

1.04

0.81

1.57

2.06

2.59

6.66

16.77

  1. “2” corresponds to the case were d2o is twice as fast as DistArray. Please see "Strong scaling: comparison with DistArray" section for discussion