https://github.com/simulisoft/simulicore
Compact Software Suite for Scientific Development - Linear Algebra
https://github.com/simulisoft/simulicore
arm64 armpl cublas cusolver cusparse dense-matrix gpu-acceleration intel-mkl linear-algebra linear-system-solver low-rank-matrix mpi numerical-linear-algebra nvidia-cuda pardiso qr-decomposition sparse-matrix svd-decomposition
Last synced: about 2 months ago
JSON representation
Compact Software Suite for Scientific Development - Linear Algebra
- Host: GitHub
- URL: https://github.com/simulisoft/simulicore
- Owner: simulisoft
- License: apache-2.0
- Created: 2025-12-31T10:56:38.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-04-05T10:14:05.000Z (about 2 months ago)
- Last Synced: 2026-04-05T12:10:21.288Z (about 2 months ago)
- Topics: arm64, armpl, cublas, cusolver, cusparse, dense-matrix, gpu-acceleration, intel-mkl, linear-algebra, linear-system-solver, low-rank-matrix, mpi, numerical-linear-algebra, nvidia-cuda, pardiso, qr-decomposition, sparse-matrix, svd-decomposition
- Language: C++
- Homepage: https://www.simulisoft.com/simulicore
- Size: 3.84 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
## Table of contents
1. [About SimuliCore](#about-simulicore)
2. [Build and Install](#build-and-install)
- [Prerequisites](#prerequisites)
- [Installation Guide](#installation-guide)
- [Installation contents](#installation-contents)
3. [License](#license)
4. [Contact](#contact)
# About SimuliCore
**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)**](cla3p.mod/README.md): 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)**](culite.mod/README.md): 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)**](cmpi.mod/README.md): 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.
# Build and Install
To build and install the suite, see the guide below.
## Prerequisites
In order to build **SimuliCore** you will need:
* [CMake](https://cmake.org) 3.12.0 and above.
* For Linux/Windows x86_64:
- [Intel® Math Kernel Library](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html) available for download [here](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html).
- [NVIDIA® CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) 13.0 or later available for download [here](https://developer.nvidia.com/cuda-downloads).
- [NVIDIA® cuDSS](https://developer.nvidia.com/cudss) available for download [here](https://developer.nvidia.com/cudss-downloads).
* For MacOS M-Series (arm64): [Arm Performance Libraries](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries)
available for download [here](https://developer.arm.com/downloads/-/arm-performance-libraries).
* Linux/Windows arm64: Soon to be supported (using ArmPL)
Development process default compilers are:
* [GNU C++ compiler](https://gcc.gnu.org) v11.4.0
* [Microsoft Visual Studio 2022](https://visualstudio.microsoft.com) msvc_x64 v17.8.2
## Installation Guide
For the **SimuliCore** installation guide see [INSTALL.md](INSTALL.md).
## Installation contents
The default installation directories are:
`/install` for Linux and
`/out/install/` for Windows.
In the installation directory you will find the following folders:
```
/include : the SimuliCore include directory
/lib : the SimuliCore library directory
/cmake : directory containing the build & 3rd party cmake configurations
/examples: the SimuliCore examples directory
/license : licensing related documents
```
# License
All open source modules are licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). See [license](LICENSE) and [notice](NOTICE) for more information.
# Contact
info@simulisoft.com
[https://github.com/simulisoft/simulicore/issues](https://github.com/simulisoft/simulicore/issues)