Processing Algorithmic Skeletons at Compile-Time - Archive ouverte HAL Access content directly
Conference Papers Year : 2020

Processing Algorithmic Skeletons at Compile-Time


When developing software in Operational Research (OR), one usually aims at getting the shortest execution time. There are multiple means to achieve this, including improving the algorithmic time complexity (finding better suited algorithms and data structures), optimizing the code (e.g. to avoid cache misses), parallelizing the execution... These improvements can be written by the end developer, requiring some coding effort and knowledge, whereas some of them could be achieved automatically.
In previous work, we proposed a library to ease the building of parallel implementations of OR algorithms from the knowledge of their structure with no runtime overhead. We chose to use algorithmic skeletons in order to describe metaheuristics and make them ready for parallelization. For this purpose, Template Metaprogramming (TMP) techniques are used first to provide facilities to describe a metaheuristic as a composition of algorithmic skeletons, and secondly to analyze and transform the skeleton, at compile-time, into an efficient code to be executed at runtime.
C++ TMP allows writing full algorithms to be executed at compile-time, but it is rare for an end developer to use TMP directly, as its syntax greatly differs from the usual language. Hence, we present here some insights of an intermediary library designed to ease the writing of code to process the algorithmic skeletons at compile-time as trees and vectors.
Fichier principal
Vignette du fichier
roadef2020_article.pdf (230.77 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-02573660 , version 1 (14-05-2020)
hal-02573660 , version 2 (18-12-2020)


  • HAL Id : hal-02573660 , version 2


Alexis Pereda, David R.C. Hill, Claude Mazel, Loïc Yon, Bruno Bachelet. Processing Algorithmic Skeletons at Compile-Time. 21ème congrès de la société française de Recherche Opérationnelle et d'Aide à la Décision (ROADEF), Feb 2020, Montpellier, France. ⟨hal-02573660v2⟩
102 View
47 Download


Gmail Facebook Twitter LinkedIn More