You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tensorium_lib is still in the early development phase, and many of its features work, but I'm not yet convinced of the solidity of some of them (especially the tensor manipulations).
5
5
The python binding is usable without any other python librairy, but I'm still working on it to make it all clean and usable using a simple pip3 install (see the Jupiter Notebook).
6
6
7
7
**Tensorium_lib** is a high-performance scientific C++ library designed for demanding computational domains such as **numerical relativity**, **machine learning (ML)**, **deep learning (DL)** and general **scientific simulations**.
8
8
9
-
Here is the full documentation : https://tensoriumcore.github.io/Tensorium_lib/
9
+
## Documentation
10
10
11
+
> Here is the full documentation : https://tensoriumcore.github.io/Tensorium_lib/
12
+
13
+
## Highlight
11
14
It provides a modern, extensible infrastructure for efficient vector, matrix, and tensor computations by leveraging:
12
15
-**SIMD acceleration** (SSE, AVX2, AVX512),
13
16
-**Multithreading** with OpenMP,
@@ -24,6 +27,70 @@ This library is built with the goal of empowering projects that require both spe
24
27
- Fast manipulation of large scientific datasets and image matrices (not atm),
25
28
- Research and education projects needing intuitive yet high-performance numerical tools.
26
29
30
+
## Requirements
31
+
32
+
> **Recommended:** build and use with **LLVM/Clang** for maximum performance.
33
+
34
+
### Core Dependencies
35
+
-**C++17/20 compiler** with `AVX2` / `FMA` support
36
+
→ `AVX512` is automatically detected and enabled if available
37
+
→ Recommended: **Clang ≥ 17** or **LLVM ≥ 20**
38
+
-**OpenMP** (`fopenmp`)
39
+
-**MPI** (for distributed parallelism)
40
+
-**libmemkind-dev***(required only for Intel Xeon Phi Knight Landing CPUs)*
41
+
-**CMake ≥ 3.16**
42
+
-**Python ≥ 3.10** (for Python bindings)
43
+
-**pybind11**
44
+
- Arch Linux: `sudo pacman -S python-pybind11`
45
+
- Other: `pip install pybind11 --user`
46
+
-**OpenBLAS***(optional)* — used for benchmarking against BLAS kernels
47
+
48
+
---
49
+
## Build Instructions
50
+
51
+
### Recommended LLVM/Clang Toolchain
52
+
53
+
If you want the best performance, use **LLVM/Clang 20+**.
Then you can compile the Tensorium_lib. If you want to use it on your own projects, simply change the Test rule to Srcs (or another) and set the recommended options in the CmakeLists.txt file in the `
76
+
Tests` folder, or add a src rule and create a src folder :
0 commit comments