3 research outputs found
Tareador: a tool to unveil parallelization strategies at undergraduate level
This paper presents a methodology and framework designed to assist students in the process of finding appropriate task decomposition strategies for their sequential program, as well as identifying bottlenecks in the later execution of the parallel program. One of the main components of this framework is Tareador, which provides a simple API to specify potential task decomposition strategies for a sequential program. Once
the student proposes how to break the sequential code into
tasks, Tareador 1) provides information about the dependences
between tasks that should be honored when implementing that
task decomposition using a parallel programming model; and 2)
estimates the potential parallelism that could be achieved in an
ideal parallel architecture with infinite processors; and 3) sim-
ulates the parallel execution on an ideal architecture estimating
the potential speed–up that could be achieved on a number of
processors. The pedagogical style of the methodology is currently
applied to teach parallelism in a third-year compulsory subject in
the Bachelor Degree in Informatics Engineering at the Barcelona
School of Informatics of the Universitat Politècnica de Catalunya
(UPC) - BarcelonaTech.Peer ReviewedPostprint (published version
Le Langage MSL : orchestration de stencils au travers d'un DSL maillage-agnostique
As the computation power of modern high performance architectures increases, their heterogeneity and complexity also become more important. One of the big challenges of exascale is to get programming models which gives access to high performance computing (HPC) to many scientists and not only to a few HPC specialists. One relevant solution to ease parallel programming for scientists is Domain Specific Language (DSL). However, one problem to avoid with DSLs is to not design a new DSL each time a new domain or a new problem has to be solved. This phenomenon happens for stencil-based numerical simulations, for which a large number of languages has been proposed without code reuse between them. The Multi-Stencil Language (MSL) presented in this paper is a language common to any kind of mesh used into a stencil-based numerical simulation. It is said that MSL is mesh-agnostic. Actually, from the description of a numerical simulation, MSL produces an empty parallel pattern, or skeleton, of the simulation which will be filled using other existing parallel languages and libraries. Thus, MSL, by finding a common language for different kinds of stencil-based simulation, facilitates code reuse. MSL is evaluated on a real case simulation which solves shallow-water equations. It is shown that MSL does not introduce overheads on data parallelism up to 16.384 cores, and that the hybrid parallelism (data and task) introduced improves performance of the simulation