Show simple item record

dc.contributor.authorRoyuela, Sara
dc.contributor.authorDuran González, Alejandro
dc.contributor.authorMartorell Bofill, Xavier
dc.contributor.otherUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.date.accessioned2014-11-07T14:35:47Z
dc.date.created2013
dc.date.issued2013
dc.identifier.citationRoyuela, S.; Duran, A.; Martorell, X. Compiler automatic discovery of OmpSs task dependencies. A: International Workshop on Languages and Compilers for Parallel Computing. "Languages and Compilers for Parallel Computing: 25th International Workshop, LCPC 2012, Tokyo, Japan, September 11-13, 2012: revised selected papers". Tokyo: Springer, 2013, p. 234-248.
dc.identifier.isbn978-364237657-3
dc.identifier.urihttp://hdl.handle.net/2117/24605
dc.description.abstractDependence 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.
dc.format.extent15 p.
dc.language.isoeng
dc.publisherSpringer
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Spain
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subjectÀrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
dc.subjectÀrees temàtiques de la UPC::Informàtica::Enginyeria del software
dc.subject.lcshParallel programming (Computer science)
dc.subject.lcshSoftware engineering
dc.subject.otherProgramming Languages
dc.subject.otherCompilers
dc.subject.otherInterpreters
dc.subject.otherProgramming Techniques
dc.subject.otherSoftware Engineering
dc.subject.otherOperating Systems
dc.subject.otherComputer Imaging
dc.subject.otherVision
dc.subject.otherPattern Recognition and Graphics
dc.subject.otherComputer Imaging
dc.subject.otherVision
dc.subject.otherPattern Recognition and Graphics
dc.titleCompiler automatic discovery of OmpSs task dependencies
dc.typeConference report
dc.subject.lemacProgramació en paral·lel (Informàtica)
dc.subject.lemacEnginyeria de programari
dc.contributor.groupUniversitat Politècnica de Catalunya. CAP - Grup de Computació d'Altes Prestacions
dc.identifier.doi10.1007/978-3-642-37658-0_16
dc.description.peerreviewedPeer Reviewed
dc.relation.publisherversionhttp://link.springer.com/chapter/10.1007%2F978-3-642-37658-0_16
dc.rights.accessRestricted access - publisher's policy
local.identifier.drac15115343
dc.description.versionPostprint (published version)
dc.date.lift10000-01-01
local.citation.authorRoyuela, S.; Duran, A.; Martorell, X.
local.citation.contributorInternational Workshop on Languages and Compilers for Parallel Computing
local.citation.pubplaceTokyo
local.citation.publicationNameLanguages and Compilers for Parallel Computing: 25th International Workshop, LCPC 2012, Tokyo, Japan, September 11-13, 2012: revised selected papers
local.citation.startingPage234
local.citation.endingPage248


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Spain
Except where otherwise noted, content on this work is licensed under a Creative Commons license : Attribution-NonCommercial-NoDerivs 3.0 Spain