Skip to main content

Advertisement

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