Multilevel parallelism hierarchy is a key feature of modern parallel computing platforms. It adds a vertical dimension of heterogeneity, which, together with the horizontal heterogeneity resulting from the use of different types of processors and accelerators at the same level, hampers the efforts of programming language designers due to the different programming requirements at each level and of devices at the same level of parallelism. This paper introduces μ Hash, a multilevel parallel component model to address modularity issues related to vertical heterogeneity. It is implemented in a Julia package called Hash.jl with three parallelism levels (multicluster, cluster, and multicore), whose performance is evaluated using two multilevel programs: μ GEMM and NQueens.
No takes yet. Share an insight, caveat, or question.
Carvalho et al. (2023) studied this question.