Nanos++ is a runtime designed to serve as runtime support in parallel environments. It is mainly used to support OmpSs, a extension to OpenMP developed at BSC. It also has modules to support OpenMP and Chapel. Nanos++ provides services to support task parallelism using synchronizations based on data-dependencies. Data parallelism is also supported by means of services mapped on top of its task support. Task are implemented as user-level threads when possible (currently x86,x86-64,ia64,ppc32 and ppc64 are supported). Nanos++ also provides support for maintaining coherence across different address spaces (such as with GPUs or cluster nodes). It provides software directory and cache modules to this end. The main purpose of Nanos++ is to be used in research of parallel programming environments. As such it is designed to be extensible by means of plugins. Currently, runtime plugins can be added (and selected for each execution) for: Task scheduling policy; Thread barrier; Device support; Instrumentation formats; Dependences approach; Throttling policies.
Keywords for this software
References in zbMATH (referenced in 1 article )
Showing result 1 of 1.
- Bock, Nicolas; Challacombe, Matt; Kalé, Laxmikant V.: Solvers for $\mathcalO(N)$ electronic structure in the strong scaling limit (2016)