To access the full text documents, please follow this link: http://hdl.handle.net/2117/24605

Compiler automatic discovery of OmpSs task dependencies
Royuela, Sara; Duran González, Alejandro; Martorell Bofill, Xavier
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors; Universitat Politècnica de Catalunya. CAP - Grup de Computació d´Altes Prestacions
Dependence analysis is an essential step for many compiler optimizations, from simple loop transformations to automatic parallelization. Parallel programming models require specific dependence analyses that take into account multi-threaded execution. Furthermore, asynchronous parallelism introduced by OpenMP tasks has promoted the development of new dependency analysis techniques. In these terms, OmpSs parallel programming model extends OpenMP tasks with the definition of intertask dependencies. This extension allows run-time dependency detection, which potentially improves the performance when load balancing or locality rule the execution time. On the other side, the extension requires the user to figure out data-sharing attributes and the type of access to each data in all tasks in order to correctly specify the dependencies. We aim to enhance the programmability of OmpSs with a new methodology that enables the compiler to automatically determine the dependencies of OmpSs tasks, thus releasing users from the task of manually defining these dependencies. In this context, we have developed an algorithm based on the discovery of code concurrent to a task and liveness analysis. The algorithm first finds out all code concurrent with a given task. Then, it computes the data-sharing attributes of the variables appearing in the task. Finally, it analyzes the liveness properties of the task’s shared variables. With this information, the algorithm figures out the proper dependencies of the task. We have implemented this algorithm in the Mercurium source-to-source compiler. We have tested the results with several benchmarks proving that the algorithm is able to correctly find a large number of dependency expressions.
Peer Reviewed
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
Àrees temàtiques de la UPC::Informàtica::Enginyeria del software
Parallel programming (Computer science)
Software engineering
Programming Languages
Compilers
Interpreters
Programming Techniques
Software Engineering
Operating Systems
Computer Imaging
Vision
Pattern Recognition and Graphics
Computer Imaging
Vision
Pattern Recognition and Graphics
Programació en paral·lel (Informàtica)
Enginyeria de programari
Attribution-NonCommercial-NoDerivs 3.0 Spain
http://creativecommons.org/licenses/by-nc-nd/3.0/es/
info:eu-repo/semantics/publishedVersion
info:eu-repo/semantics/conferenceObject
Springer
         

Show full item record

Related documents

Other documents of the same author

Caballero, Diego; Duran González, Alejandro; Martorell Bofill, Xavier
Duran González, Alejandro; Ferrer, Roger; Costa Prats, Juan José; González Tallada, Marc; Martorell Bofill, Xavier; Ayguadé Parra, Eduard; Labarta Mancho, Jesús José
Balart Tarzan, Jairo; Duran González, Alejandro; González Tallada, Marc; Martorell Bofill, Xavier; Ayguadé Parra, Eduard; Labarta Mancho, Jesús José
Ayguadé Parra, Eduard; Blainey, R; Duran González, Alejandro; Labarta Mancho, Jesús José; Martínez, F; Martorell Bofill, Xavier; Silvera, I
Quintana-Ortí, Enrique S.; Planas, Judit; Pérez Cáncer, Josep Maria; Mayo, Rafael; Martorell Bofill, Xavier; Martinell, Lluis; Labarta Mancho, Jesús José; Jiménez González, Daniel; Ayguadé Parra, Eduard; Badia Sala, Rosa Maria; Bellens, Pieter; Cabrera, Daniel; Duran González, Alejandro; Ferrer, Roger; González Tallada, Marc; Igual, Francisco D.
 

Coordination

 

Supporters