BSC releases OmpSs-2 version 2020.11

18 November 2020

The Programming Models group at BSC has published a new release (version 2020.11) of the OmpSs-2 programming model. 

In this release, the default dependency system has changed from regions to discrete, a new configuration file has replaced environment variables to set runtime options, array reductions can be used in CUDA kernels, the LLVM compiler has been extended and the CTF tracing infrastructure now support unified tracing of kernel and user space events. Moreover, the nanos6 runtime has been tested and tuned for several ARM systems (Graviton2, Kunpeng, AFX64). Finally, this release also includes several bug fixes related to OmpSs-2@cluster and performance improvements for systems with hyper-threading.    .    

1. New configuration file

This release includes a new configuration file based on TOML to specify all runtime options in a centralized way. All previous environment variables have been deprecated and now only NANOS6_CONFIG and NANOS6_CONFIG_OVERRIDE are available. The former can be used to specify the location of the config file and the latter can be used to override any of the configuration options found in the config file. Additionally, a new clause has been added to programmatically check runtime options from applications’ code.

2. LLVM compiler

The LLVM compiler has been extended to support all OmpSs-2 features so now it supports the same features set as Mercurium for C and C++ languages. The only missing feature is the support for devices (CUDA, OpenACC, FPGAs, etc) that will be added in the future.

3. CTF Integrated tracing library

The Nanos6 CTF lightweight tracing module that generates traces in the Common Trace Format (CTF) has been extended to support tracing of kernel events. Now, both user-space and kernel space events can be visualized and analyzed together within Paraver. A new set of Paraver config files has been added to facilitate the analysis of applications.

4. General performance enhancements and bug fixes

Most of the new features in this release have been developed in the context of the DEEP-EST and Lo-Sync (PRACE-6IP) projects. The bug-fixes and performance improvements of OmpSs@cluster has been developed in the context of the EuroExa project.