SimuliCore is a comprehensive suite of C++ libraries engineered for advanced scientific and computational development.
While traditional functional scientific programming offers high-performance capabilities, it often presents a steep learning curve characterized by exhaustive documentation and cumbersome API argument structures. SimuliCore is designed to bridge the gap between established computational frameworks and modern object-oriented programming (OOP) paradigms, ensuring high efficiency and robustness without compromising performance.
The current SimuliCore ecosystem includes the following modules:
CLA3P (Compact Linear Algebra Parallel Portable Package): A high-performance linear algebra library. By leveraging sophisticated OOP design patterns and an intuitive API, CLA3P enables developers to produce high-quality code with minimal overhead.
cuLite (Lightweight gpu acceleration interface): A specialized module for streamlining linear algebra calculations on NVIDIA® accelerators. Currently under development on top of CLA3P, cuLite will offer a simplified approach to GPU-driven computation upon release.
CMPI (Compact Message Passing Interface): A modern C++ interface designed to simplify distributed computing and inter-node communication. CMPI is currently in development and will soon be integrated into the SimuliCore suite.
To build and install the suite, see the guide below.
In order to build SimuliCore you will need:
- CMake 3.12.0 and above.
- For Linux/Windows x86_64:
- Intel® Math Kernel Library available for download here.
- NVIDIA® CUDA Toolkit 13.0 or later available for download here.
- NVIDIA® cuDSS available for download here.
- For MacOS M-Series (arm64): Arm Performance Libraries available for download here.
- Linux/Windows arm64: Soon to be supported (using ArmPL)
Development process default compilers are:
- GNU C++ compiler v11.4.0
- Microsoft Visual Studio 2022 msvc_x64 v17.8.2
For the SimuliCore installation guide see INSTALL.md.
The default installation directories are:
<simulicore_root>/install for Linux and
<simulicore_root>/out/install/<build-type> for Windows.
In the installation directory you will find the following folders:
<simulicore_install>/include : the SimuliCore include directory
<simulicore_install>/lib : the SimuliCore library directory
<simulicore_install>/cmake : directory containing the build & 3rd party cmake configurations
<simulicore_install>/examples: the SimuliCore examples directory
<simulicore_install>/license : licensing related documents
All open source modules are licensed under the Apache License, Version 2.0. See license and notice for more information.

