TY - JOUR
AU - Ernstsson, August
AU - Vandenbergen, Nicolas
AU - Keller, Jörg
AU - Kessler, Christoph
TI - A Deterministic Portable Parallel Pseudo-Random Number Generator for Pattern-Based Programming of Heterogeneous Parallel Systems
JO - International journal of parallel programming
VL - 50
IS - 3-4
SN - 0091-7036
CY - Dordrecht [u.a.]
PB - Springer Science + Business Media B.V.
M1 - FZJ-2022-03907
SP - 319 - 340
PY - 2022
AB - SkePU is a pattern-based high-level programming model for transparent program execution on heterogeneous parallel computing systems. A key feature of SkePU is that, in general, the selection of the execution platform for a skeleton-based function call need not be determined statically. On single-node systems, SkePU can select among CPU, multithreaded CPU, single or multi-GPU execution. Many scientific applications use pseudo-random number generators (PRNGs) as part of the computation. In the interest of correctness and debugging, deterministic parallel execution is a desirable property, which however requires a deterministically parallelized pseudo-random number generator. We present the API and implementation of a deterministic, portable parallel PRNG extension to SkePU that is scalable by design and exhibits the same behavior regardless where and with how many resources it is executed. We evaluate it with four probabilistic applications and show that the PRNG enables scalability on both multi-core CPU and GPU resources, and hence supports the universal portability of SkePU code even in the presence of PRNG calls, while source code complexity is reduced.
LB - PUB:(DE-HGF)16
UR - <Go to ISI:>//WOS:000771886000001
DO - DOI:10.1007/s10766-022-00726-5
UR - https://juser.fz-juelich.de/record/910525
ER -