Programming Models and Tools for Heterogeneous Systems

This catalogue provides BSC software  to simplify the development and execution of parallel applications for  distributed heterogeneous platforms.

OmpSs is an effort to integrate features from the StarSs programming model developed at BSC into a single programming model. In particular, our objective is to extend OpenMP with new directives to support asynchronous parallelism and heterogeneity (devices like GPUs). However, it can also be understood as new directives extending other accelerator based APIs like CUDA or OpenCL. Our OmpSs environment is built on top of our Mercurium compiler and Nanos++ runtime system.

Asynchronous parallelism is enabled in OmpSs by the use data-dependencies between the different tasks of the program. To support heterogeneity a new construct is introduced: the target construct.

In OmpSs the task construct also allows the annotation of function declarations or definitions in addition to structured-blocks. When a function is annotated with the task construct each invocation of that function becomes a task creation point. Note that only the execution of the function itself is part of the task not the evaluation of the task arguments (which are firstprivatized). Another restriction is that the task is not allowed to have any return value, that is, the return must be void.

Reference Architecture:
  • SDK/IDE
Technologies
  • C/C++ Fortran OpenMP CUDA OpenCL
Type:
Tags:
Version:

The COMP Superscalar (COMPSs) framework is mainly compose of a programming model which aims to ease the development of applications for distributed infrastructures, such as Clusters, Grids and Clouds and a runtime system that exploits the inherent parallelism of applications at execution time. The framework is complemented by a set of tools for facilitating the development, execution monitoring and post-mortem performance analysis.

Reference Architecture:
  • SDK/IDE
Technologies
  • Java
  • Python
  • C++
Type:
Version:
All
Anonymous's picture Anonymous has Create COMP Superscalar
(1 year 2 months)
Anonymous's picture Anonymous has Create OMP Superscalar
(1 year 2 months)
Anonymous's picture Anonymous has Create OMP Superscalar
(1 year 2 months)
Anonymous's picture Anonymous has Create OMP Superscalar
(1 year 2 months)
Anonymous's picture Anonymous has Update COMP Superscalar
(1 year 2 months)
Anonymous's picture Anonymous has Create COMP Superscalar
(1 year 2 months)