We currently organize our work around the design of OmpSs, a set of extensions to provide support to asynchronous tasks and heterogeneity. They are integrated into OpenMP as a base language and interoperate with MPI and CUDA (OpenCL and OpenACC interoperability is in progress). This programming model relies on top of:
- Our Mercurium source-to-source compiler provides the necessary support for transforming the high-level directives into a parallelized version of the application.
- Our Nanos++ runtime library provides the parallel services to manage all the parallelism in the user-application, including task creation, synchronization and data movement, and provide support for resource heterogeneity.
- BOTS - The Barcelona OpenMP Task Suite (trac)
- DOCS - OmpSs Documentation Repository (trac)
- BAR - BSC Application Repository (trac)
- DLB - Dynamic Load Balancing
- TaskSim - OmpSs simulation environment (trac)
- Tareador - Supporting task decomposition (trac)
If you have any questions or suggestions you can send an e-mail to pm-tools [at] bsc.es. You can also join the pm-tools-users mailing list by sending an e-mail to pm-tools-users-join [at] bsc.es.