Skip to content

Repository files navigation

Logo .NET Quality Gate Status Lines of Code Coverage Bugs Security Rating Vulnerabilities Technical Debt Code Smells

Sci.NET (Early Development)

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.

Currently Supported Features:

  • Arithmetic operations
  • Contractions
  • Reductions
  • Trigonometric functions
  • Automatic differentiation (Reverse Mode, WIP)

License

Apache License 2.0

Some packages include third-party components with specific licensing requirements

Requirements

Base Requirements

  • .NET 8 SDK
  • That's it!

Packages

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.

Build Locally

Setup your environment with the build scripts:

  git clone https://github.com/SciDotNet-Foundation/Sci.NET.git
  cd Sci.NET
  ./build-dev.cmd

Or to build a release version:

  git clone https://github.com/SciDotNet-Foundation/Sci.NET.git
  cd Sci.NET
  ./build-release.cmd

Documentation

Documentation (Not yet available, depends on the build pipeline)

Roadmap

  • 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.

Third Party

About

A fast, portable and familar scientific computing library for .NET

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages