Research Output
libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions
  We present libVersioningCompiler, a C++ library designed to support the dynamic generation of multiple versions of the same compute kernel in a HPC scenario. It can be used to provide continuous optimization, code specialization based on the input data or on workload changes, or otherwise to dynamically adjust the application, without the burden of a full dynamic compiler. The library supports multiple underlying compilers but specifically targets the llvm framework.

We also provide examples of use, showing the overhead of the library, and providing guidelines for its efficient use.

  • Type:

    Article

  • Date:

    31 January 2018

  • Publication Status:

    Published

  • Publisher

    Elsevier BV

  • DOI:

    10.1016/j.softx.2018.03.006

  • Cross Ref:

    10.1016/j.softx.2018.03.006

  • ISSN:

    2352-7110

  • Funders:

    European Commission

Citation

Cherubin, S., & Agosta, G. (2018). libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions. SoftwareX, 7, 95-100. https://doi.org/10.1016/j.softx.2018.03.006

Authors

Keywords

Dynamic compilation, Versioning compiler, Continuous optimization

Monthly Views:

Available Documents