A diffusion code's array-form update was characterised in Chapter 1 as moving and…
PHYSICS · Multi-part · Fermi University Physics · Mathematical Methods for Physics · Computational Physics · High-performance and data-driven computational physics
Scientific Computing for Physicists, Ch Many processors: speed-up, decomposition and the cost of communication
Problem
A diffusion code's array-form update was characterised in Chapter 1 as moving 152B and doing 4 floating-point operations per cell. On a node of 28 cores the one-core triad bandwidth is 16GBs−1 and the all-core triad bandwidth is 224GBs−1.
((a)) Assume the stencil streams at the one-core triad bandwidth on one core, and that each added thread adds one core's bandwidth until the node's limit is reached. Predict the thread count at which this stencil stops speeding up on the node.
((b)) A colleague times a true serial (single-process, unthreaded) build at Tserial=8.4s, but reports speed-up using the parallel code run on one process, Tpar,1=9.6s, against the same parallel code on 8 threads, Tpar,8=1.3s, each timed by Chapter 8's rules (warm-up runs, repeats, median and interquartile range). State the colleague's reported speed-up and the correct speed-up by the rule that a scaling study is reported against the best serial code, and say which is right.
((c)) A grid of Ng=1024 cells per side has a summed field total whose terms are bounded by 5.0K in magnitude. Using Chapter 2's summation bound (n−1)(ϵmach/2)∑i∣xi∣, with n=Ng2, find the tolerance, twice that bound, within which a parallel and a serial sum of the field must agree, and state whether a measured difference of 2×10−10K passes it.