Page History
...
80-core processing for ranks 0, 30, and 60
2024-01-17 Test for simulated events with minor modifications
Test variation
- array shape is changed from (3, 1024, 1024) → (3, 8*512, 1024)
- array generation is excluded from time measurement, only indexed subtraction contributes to time measurement
- do not pre-create random arrays, it is generated in each core... requires too much memory for all cores.
- run on sdfmilan047: ana-4.0.58-py3 [dubrovin@sdfmilan047:~/LCLS/con-py3]$ mpirun -n 80 python test-mpi-numpy-hist.py
Time consuming code
Code Block | ||||
---|---|---|---|---|
| ||||
def time_consuming_algorithm(a, b):
gr1 = a>=11
gr2 = (a>9) & (a<11)
gr3 = a<=9
t0_sec = time()
a[gr1] -= b[0, gr1]
a[gr2] -= b[1, gr2]
a[gr3] -= b[2, gr3]
#med = np.median(a)
return time() - t0_sec |
Results
Single core processing
80-core processing for ranks 0, 30, and 60
2024-01-17 Test Summary
- if random array generation is excluded from time measurement, the mean time difference between 1-core and 80-core processing is larger
- the main contribution to time difference comes from reserved host...
- sdfmilan047 - looks like extremely "time-noisy" in multi-core processing...
- sdfmilan031 - in previous test looks pretty "calm"
References
Overview
Content Tools