Sci.NET is a scientific computing library for .NET with a familiar API similar to NumPy and PyTorch. Currently, the library is in early development and is not ready for production use.
Currently, only the managed CPU backend is working which is used as a proof of concept and regression testing for other backends.
- Arithmetic operations
- Contractions
- Reductions
- Trigonometric functions
- Automatic differentiation (Reverse Mode, WIP)
Some packages include third-party components with specific licensing requirements
- .NET 8 SDK
- That's it!
There are a number of packages offered with Sci.NET. The base package is the Sci.NET.Mathematics package.
Work has been started on the CUDA backend, but is not yet ready. There will be redistributable packages for CUDA for Windows and Linux.
Setup your environment with the build scripts:
git clone https://github.com/SciDotNet-Foundation/Sci.NET.git
cd Sci.NET
./build-dev.cmdOr to build a release version:
git clone https://github.com/SciDotNet-Foundation/Sci.NET.git
cd Sci.NET
./build-release.cmdDocumentation (Not yet available, depends on the build pipeline)
- Vectorized operations for CPU backend.
- Re-implement the machine learning API for
Sci.NET.MachineLearning. - Better hardware acceleration using intrinsics.
- CUDA, Vulkan and MKL backend (quite far in the future).
- More comprehensive documentation.
- Better support for datasets and data loading.