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.
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.
cuLite (Lightweight gpu acceleration interface): A specialized module for streamlining linear algebra calculations on NVIDIA® accelerators. Currently under development, cuLite will offer a simplified approach to GPU-driven computation upon release.
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.
- 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.

