SciSharp/NumSharp
SciSharp/NumSharp has 1,484 GitHub stars and 206 forks. GitHot measured +1 in 7 days. Last checked 2026-11-10 03:34 UTC. Last push 2026-11-02.
High Performance Computation for N-D Tensors in .NET, identical API to NumPy.
What you can do
- NumPy-style NDArray - N-dimensional arrays with shape, strides, offsets, slicing, and view semantics. Start with NDArray fundamentals and NDArray.
- Broadcasting - NumPy-style shape expansion without materializing repeated values. See Broadcasting.
- Dtype-aware operations - 15 core dtypes with NumPy-oriented promotion and conversion behavior. See Dtypes and NumPy compliance.
- Broad np.* API surface - Creation, manipulation, math, reductions, comparisons, logic, random sampling, I/O, and formatting. Browse the API reference.
Crecimiento de estrellas medido
- in 24h
- Actualización retrasada
- in 7 days
- +1
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
OriginalNumSharp
NumPy for .NET
NumSharp is a native .NET array library with a NumPy-shaped API: NDArray,
broadcasting, slicing views, dtype-aware np.* functions, unmanaged storage,
and runtime-generated kernels with cpu-acceleration for performance-sensitive numerical code.
The compatibility target is NumPy 2.x. When NumSharp behavior and NumPy behavior differ, NumPy is treated as the source of truth and aligns.
What Is NumSharp?
NumSharp lets C# and F# code use a NumPy-like programming model without embedding CPython. It is intended for scientific computing, numerical utilities, machine learning infrastructure, and projects that want NumPy-style array operations in ordinary .NET code.
NumSharp's edge is utilizing the power of C#'s dynamic IL generation and fused kernels translating to assembly generated with JIT optimizations and SIMD CPU acceleration. This edge leads the design of NumSharp's backend and by that to higher performance mark than NumPy on many functions as can be seen in Performance.
NumSharp focuses on:
- NumPy-shaped API names and behavior.
- N-dimensional arrays with shape, stride, offset, and view metadata.
- Broadcasting without materializing repeated values.
- Dtype-aware math, comparisons, reductions, random sampling, and formatting.
- Runtime IL generation and SIMD fast paths where layout and dtype allow it.
Click here to see code Getting Started
Features
- NumPy-style
NDArray- N-dimensional arrays with shape, strides, offsets, slicing, and view semantics. Start with NDArray fundamentals and NDArray. - Broadcasting - NumPy-style shape expansion without materializing repeated values. See Broadcasting.
- Dtype-aware operations - 15 core dtypes with NumPy-oriented promotion and conversion behavior. See Dtypes and NumPy compliance.
- Broad
np.*API surface - Creation, manipulation, math, reductions, comparisons, logic, random sampling, I/O, and formatting. Browse the API reference. - Generated IL and SIMD kernels - Runtime-specialized kernels for supported dtype and layout combinations. See IL generation.
- Iterator and fusion infrastructure - NDIter-style execution and fused
np.evaluateexpressions for reducing intermediate allocations. See NDIter. - Tracked performance reports - Release snapshots with dashboard summaries, raw reports, and subsystem matrices. See the benchmark dashboard.
Features Support and Implementation Map
NumSharp's Coverage & Support Dashboard is presenting the full implementation roadmap to complete 100% NumPy porting with an explorer allowing you to quickly check your favorite functions!
Performance
NumSharp benchmarks are published as tracked release snapshots, not ad hoc numbers. The latest checked-in snapshot compares NumSharp with NumPy 2.4.2 across the operation matrix, supported dtypes, three size tiers, and the NDIter, layout, operand, cast, and fusion subsystems.
Build, Test and Install
Install the core package:
dotnet add package NumSharp
Use familiar NumPy-style calls:
using NumSharp;
var a = np.arange(12).reshape(3, 4);
var window = a[":, 1::2"];
Console.WriteLine(window);
Console.WriteLine(np.sum(window, axis: 0));
For Python readers, the intended shape is deliberately close:
import numpy as np
a = np.arange(12).reshape(3, 4)
window = a[:, 1::2]
print(window.sum(axis=0))
Build:
dotnet build test/NumSharp.Tests/NumSharp.Tests.csproj --configuration Release
Run the normal CI-style unit test filter:
dotnet test test/NumSharp.Tests/NumSharp.Tests.csproj \
--configuration Release \
--no-build \
--framework net8.0 \
--filter "TestCategory!=OpenBugs&TestCategory!=HighMemory"
CI runs on Windows, Linux, and macOS for net8.0 and net10.0.
Related Projects
If you need to call the full CPython NumPy runtime from .NET, including Python extension modules NumSharp does not implement, see Numpy.NET. NumSharp is a native .NET implementation with a NumPy-shaped API; Numpy.NET bridges into Python.
License
NumSharp is released under the Apache License 2.0.
NumSharp is part of the SciSharp ecosystem for machine learning, mathematics, science, and engineering on .NET.
Explorar proyectos relacionados
tensorflow/tensorflow
Un framework de código abierto de aprendizaje automático para todos
201,427 estrellashuggingface/transformers
🤗 Transformers: el framework de definición de modelos para modelos de aprendizaje automático de vanguardia en texto, visión, audio y multimodal, tanto para inferencia como para entrenamiento.
168,815 estrellasAUTOMATIC1111/stable-diffusion-webui
Interfaz web de Stable Diffusion
165,289 estrellasComfy-Org/ComfyUI
La GUI, la API y el backend más potentes y modulares para modelos de difusión, con una interfaz de grafos y nodos. El motor de inferencia local más rápido del mundo.
146,271 estrellas


