Automatic parallelization of irregular applications

The ATLaS project is being carried out by the Trasgo Group, Departamento de Informática, Universidad de Valladolid, Spain.

The ATLaS (Applied Thread-Level Speculation) project aims to add support for Speculative Parallelization to the OpenMP specification. To do so, we have developed both a GCC plugin and a runtime library.

We have augmented the GCC OpenMP implementation with a new clause, called SPECULATIVE, to be used when the programmer does not really know if a given variable is either STATIC or PUBLIC. Our runtime system guarantees that all access to SPECULATIVE variables will follow sequential semantics, thus allowing a safe parallelization of any loop.

Please refer to the Download page to freely download our solution. If you are interested in understanding in more detail how our solution works, please refer to the following paper:

An OpenMP Extension that Supports Thread-Level Speculation. Sergio Aldea, Alvaro Estebanez, Diego R. Llanos, Arturo Gonzalez Escribano. IEEE Transactions on Parallel and Distributed Systems, 27(1), January 2016. ISSN 1045-9219, IEEE Press.

The ATLaS system is the result of more than ten years research activities in the field of speculative parallelization of irregular loops. Our research covers all the main related issues, such as loop scheduling, squash management, robustness, associated data structures, and compile-time analysis.

The ATLaS project is partly supported by the Castilla-Leon Regional Government (VA172A12-2, PIRTU); Ministerio de Industria, Spain (CENIT OCEANLIDER); MICINN (Spain) and the European Union FEDER (MOGECOPP project TIN2011-25639, CAPAP-H4 network TIN2011-15734-E, CAPAP-H5 network TIN2014-53522).