Skip to main content

Advertisement

Table 5 Strong scaling: d2o’s relative performance to a single process 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 (32MiB) (%) 8 (16 MiB) (%) 16 (8 MiB) (%) 32 (4 MiB) (%) 64 (2 MiB) (%) 128 (1 MiB) (%) 256 (512 KiB) (%)
initialization 100.0 40.3 23.7 17.1o 6.80 2.55 0.89 0.29 0.10, 0.03
copy .empty 100.0 47.8 33.5 26.3 23.2 12.1 6.16 3.09 1.55 0.79
max 100.0 99.0 96.7 94.0 80.1 64.3 29.6 9.10 2. 41 0.60
sum 100.0 100.4 95.4 91.7 74.1 60.9 24-4 7.05 1.82 0.45
sum(axis\(\,=\,\)0) 100.0 98.0 94.2 89.9 62.2 45.3 19.8 6.34 1.78: 0.45
sum(axis\(\,=\,\)1) 100.0 100.5 92.3 92.6 79.0 77.7 47.1 20.6 4. 27 1.25
obj[::-2] 100.0 65.4 62.4 58.5 40.7 33.1 26.6 18.3 8. 78 3.25
copy 100.0 103.6 105.9 98.0 145.1 156.4 155.3 152.3 157.5 306.7
obj \(+\) 0 100.0 105.9 109.1 100.4 59.0 97.3 75.7 79.2 79.4 149.8
obj \(+\) obj 100.0 106.2 109.2 100.3 59.0 97.6 74.9 79.0 80.1 150.2
obj \(+=\) obj 100.0 103.1 101.3 98.0 97.8 124.0 122.8 117.9 108.1 94.4
sqrt 100.0 101.8 99.4 98.7 95.7 88.8 76.0 56.0 37.1 16.4
bincount 100.0 102.3 99.5 98.0 111.1 107.3 84.2 40.5 13.2 3.57
  1. “100 %” corresponds to the case were the speedup is equal to the number of processes. Example: the 94.4 % for obj+=obj on 256 processes correspond to a speedup-factor of 241.7. In order to guide the eye, values <30 % are printed italic, values ≥90 % are printed bold-italics. Please see "Strong scaling: varying number of processes with a fixed size of data" section for discussion