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 152 B152\,\mathrm{B} and doing 4 floating-point operations per cell. On a node of 28 cores the one-core triad bandwidth is 16 GB s−116\,\mathrm{GB\,s^{-1}} and the all-core triad bandwidth is 224 GB s−1224\,\mathrm{GB\,s^{-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.4 sT_{\rm serial}=8.4\,\mathrm{s}, but reports speed-up using the parallel code run on one process, Tpar,1=9.6 sT_{\rm par,1}=9.6\,\mathrm{s}, against the same parallel code on 8 threads, Tpar,8=1.3 sT_{\rm par,8}=1.3\,\mathrm{s}, 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=1024N_{\rm g}=1024 cells per side has a summed field total whose terms are bounded by 5.0 K5.0\,\mathrm{K} in magnitude. Using Chapter 2's summation bound (n−1)(ϵmach/2)∑i∣xi∣(n-1)(\epsilon_{\rm mach}/2)\sum_i|x_i|, with n=Ng2n=N_{\rm g}^2, 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−10 K2\times10^{-10}\,\mathrm{K} passes it.

Browse the problem library