Por favor, use este identificador para citar o enlazar este ítem:http://uvadoc.uva.es/handle/10324/29111
Título
BFCA+: Automatic Synthesis of Parallel Code with TLS Capabilities
Año del Documento
2017
Editorial
Springer
Descripción
Producción Científica
Documento Fuente
The Journal of Supercomputing, 73(1), 88-99, jan 2017, ISSN 0920-8542
Resumo
Parallelization of sequential applications requires extracting information about the loops and how their variables are accessed, and afterwards, augmenting the source code with extra code depending on such information. In this paper we propose a framework that avoids such an error-prone, time-consuming task. Our solution leverages the compile-time information extracted from the source code to classify all variables used inside each loop according to their accesses. Then, our system, called BFCA+, automatically instruments the source code with the necessary OpenMP directives and clauses to allow its parallel execution, using the standard shared and private clauses for variable classification. The framework is also capable of instrumenting loops for speculative parallelization, with the help of the ATLaS runtime system, that defines a new speculative clause to point out those variables that may lead to a dependency violation. As a result, the target loop is guaranteed to correctly run in parallel, ensuring that its execution follows sequential semantics even in the presence of dependency violations. Our experimental evaluation shows that the framework not only saves development time, but also leads to a faster code than the one manually parallelized.
Revisión por pares
SI
Patrocinador
MICINN (Spain) and ERDF program of the European Union: HomProg-HetSys project (TIN2014-58876-P), CAPAPH5 network (TIN2014-53522-REDT), and COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS).
Version del Editor
Propietario de los Derechos
Springer
Idioma
eng
Derechos
restrictedAccess
Aparece en las colecciones
Arquivos deste item
Exceto quando indicado o contrário, a licença deste item é descrito como Attribution 4.0 International