Xavier Teruel 's publication

Extending Nanos RTL for OpenMP Task Support

Xavier Teruel, Xavier Martorell, Alejandro Duran, Roger Ferrer and Eduard Ayguadé. Extending Nanos RTL for OpenMP Task Support. Proceedings of ACACES 2007. Advanced Computer Architecture and Compilation for Embedded Systems. L'Aquila, ITALY.


Tasks are a new feature which will be included in the OpenMP 3.0 future standard. This new feature will allow exploiting new types of parallelism that can not be exploited with the current standard such as recursive traversal of data structures or unbounded loops. A task is defined as a unit of work that can be deferred and executed as an independent piece of code.

In this paper we describe the experience of extending an existing programming model environment (the Nano-threads library and the Mercurium compiler) in order to support this new feature. Nano-threads library is an OpenMP Run Time Library (RTL) which gives support to compiler transformations, offering services such as fork/join, thread synchronization, dependence control, etc. Mercurium compiler is a source-to-source compiler which translates OpenMP directives into a sequence of library calls.

This paper is focused on the Nano-threads (Nanos) RTL modifications. We discuss about the main topics that appear during the implementation process and different decisions that have been taken in order to implement the new OpenMP Task specification.

Follow me at:

News & Events

OpenMP F2F 2018-2

A good week in Bordeaux, France focused on closing different open topics in the specification and many of those who have been discussed during past weeks have been shaping up and they are in good condition to go through the committee’s votes.

OpenMP tasking at ISC 2018

An advanced tutorial using the tasking model of the OpenMP standard. This course includes recent addition of OpenMP 4.5, being all the lecturers part of the OpenMP language committee.


Last Face to Face meeting before the end of the project and we have report the work progress for the different work packages and several technical sessions in a one-and-a-half-day meeting in Stockholm, Sweden.

PATC (May, 2017)

The tutorial will motivate the audience on the need for portable, efficient programming models that put less pressure on program developers while still getting good performance for clusters and clusters with GPUs.

OpenMP F2F 2018-1

We have done a very good progress towards the future of the OpenMP 5.0 specification. We have discussed many issues and voted several tickets that finally have already been included in the specification (or will do in the short term).

OmpSs demos at SC 2017

Two short demos at the exhibition center showing the basic concepts of the OmpSs programming model. See you in the BSC booth (#1975).