百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
N

NumSharp

> 编程语言
开源

在 .NET 中的 N-D 张量高性能计算, API 与 NumPy 类似。

1.5K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

在 .NET 中的 N-D 张量高性能计算, API 与 NumPy 类似。

NumSharp

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](https://scisharp.github.io/NumSharp/docs/il-generation.html) and [fused kernels](https://scisharp.github.io/NumSharp/docs/NDIter.html) translating to assembly generated with [JIT optimizations](https://learn.microsoft.com/en-us/dotnet/standard/managed-execution-process#compilation-by-the-jit-compiler) and [SIMD CPU acceleration](https://en.wikipedia.org/wiki/Hardware_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](#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](https://scisharp.github.io/NumSharp/docs/intro.html) and [NDArray](https://scisharp.github.io/NumSharp/docs/NDArray.html). - **Broadcasting** - NumPy-style shape expansion without materializing repeated values. See [Broadcasting](https://scisharp.github.io/NumSharp/docs/broadcasting.html). - **Dtype-aware operations** - 15 core dtypes with NumPy-oriented promotion and conversion behavior. See [Dtypes](https://scisharp.github.io/NumSharp/docs/dtypes.html) and [NumPy compliance](https://scisharp.github.io/NumSharp/docs/compliance.html). - **Broad `np.*` API surface** - Creation, manipulation, math, reductions, comparisons, logic, random sampling, I/O, and formatting. Browse the [API reference](https://scisharp.github.io/NumSharp/api/index.html). - **Generated IL and SIMD kernels** - Runtime-specialized kernels for supported dtype and layout combinations. See [IL generation](https://scisharp.github.io/NumSharp/docs/il-generation.html). - **Iterator and fusion infrastructure** - NDIter-style execution and fused `np.evaluate` expressions for reducing intermediate allocations. See [NDIter](https://scisharp.github.io/NumSharp/docs/NDIter.html). - **Tracked performance reports** - Release snapshots with dashboard summaries, raw reports, and subsystem matrices. See the [benchmark dashboard](https://scisharp.github.io/NumSharp/docs/benchmarks-dashboard.html). ## Features Support and Implementation Map [NumSharp's Coverage & Support Dashboard](https://scisharp.github.io/NumSharp/docs/coverage-support-dashboard.html) 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](https://scisharp.github.io/NumSharp/docs/benchmarks-dashboard.html) 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: ```bash dotnet add package NumSharp ``` Use familiar NumPy-style calls: ```csharp 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: ```python import numpy as np a = np.arange(12).reshape(3, 4) window = a[:, 1::2] print(window.sum(axis=0)) ``` Build: ```bash dotnet build test/NumSharp.Tests/NumSharp.Tests.csproj --configuration Release ``` Run the normal CI-style unit test filter: ```bash 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](https://github.com/SciSharp/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](LICENSE). NumSharp is part of the [SciSharp](https://github.com/SciSharp) ecosystem for machine learning, mathematics, science, and engineering on .NET.

GitHub Issues· 56 开放

在 GitHub 查看全部
  • #448

    Debug.Assert(...) causes tests to stop the entire process

    buginfrastructure更新于 2026年9月7日
  • #116

    Intel Math Kernel Library (MKL)

    enhancementhelp wanted更新于 2026年9月7日
  • #627

    [OpenBLAS] Port the LAPACK factorisations to a native managed C# backend

    enhancementarchitectureNumPy 2.x Compliance更新于 2026年8月14日
  • #626

    [NumPy Parity] Neural Networks Project to fully train byte-identical weights on training

    bugNumPy 2.x Compliancecoreapi更新于 2026年7月26日
  • #615

    Intermittent AccessViolation (unmanaged-storage lifetime race) — shift/bitwise kernel is the victim, not the cause

    更新于 2026年6月29日
  • #614

    [Performance] SIMD Vector512 Coverage Gaps

    enhancementperformancecore更新于 2026年6月26日
  • #592

    [Core] NumPy String support in NumSharp

    enhancementmissing feature/sNumPy 2.x Compliancecoreapi更新于 2026年6月20日
  • #516

    Very helpful work. Keep at it

    更新于 2026年4月12日
  • #595

    [Performance] ClipNDArray with @out does redundant copy

    performanceapi更新于 2026年3月23日
  • #580

    [Goal] LinearRegression: Near-Identical Python→C# Translation

    enhancement更新于 2026年2月21日

> 标签

C#aimachine-learningnumpynumsharp

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言