The Programming Models group at BSC has published a new release (version 2020.11) of the OmpSs-2 programming model.
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.