HLCM: High Level Component Model

HLCM is a Software Component assembly model designed with High-Performance Computing in mind.


A component based application is typically made of three parts:

  • the components that contain the user written code,
  • an assembly that describes the application architecture
  • and a runtime that provides some services including the interpretation of the assembly.

Usually, component models design make a trade-of between:

  • high portability & high overheads: a heavyweight runtime can use information on the execution platform to handle a high-level view of the architecture;
  • low overheads & low portability: a lightweight runtime can ensure high performance at the price of fewer features.

Both aspects are of high importance for HPC and HLCM tries to offer the best of both worlds.

What is HLCM

HLCM is based on an assembly compilation at deployment. It supports:

  • partial assemblies implementation & (re)use;
  • support for Algorithmic skeletons implementation & (re)use;
  • self adaptation to the platform.

HLCM can use mostly any pre-existing component model as a back-end; however two models are interesting because they have been especially designed with HLCM in mind:

Powered by Heliovista - Création site e-commerce