Numba 是一个即时(JIT)编译器,可在运行时将高级 Python 函数转换为优化的机器码。通过利用 LLVM 编译器基础设施,它提供了一个加速数值数据处理和数学计算的框架,使性能水平可与静态编译语言相媲美。
numba/numba 的主要功能包括:Python Compilers, Execution Performance Optimizers, Numeric Data Processing, Just-in-Time Compilation Pipelines, Just-in-Time Compilers, GPU Computations, GPU Acceleration, High-Performance and Parallel Computing。
numba/numba 的开源替代品包括: cupy/cupy — CuPy is a CUDA array computing library that implements a NumPy-compatible interface for executing array operations and… dask/dask — Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows… fastai/numerical-linear-algebra — This project is a comprehensive library for numerical linear algebra and scientific computing, designed to provide… higherorderco/bend — Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and… scipy/scipy — SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms… shapely/shapely — Shapely is a library for the manipulation and analysis of planar geometric objects, serving as a Python wrapper for…
CuPy is a CUDA array computing library that implements a NumPy-compatible interface for executing array operations and numerical computing on NVIDIA GPUs. It serves as a GPU-accelerated numerical library and a CUDA-based SciPy implementation, offloading heavy calculations to graphics hardware to increase processing speed for scientific and engineering workloads. The library enables multi-framework tensor exchange, allowing data buffers to be shared between different deep learning frameworks using standardized memory layouts to avoid memory copies. It also supports custom GPU kernel integratio
Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl
This project is a comprehensive library for numerical linear algebra and scientific computing, designed to provide optimized routines for matrix decomposition, statistical modeling, and high-performance data analysis. It serves as both a toolkit for solving complex linear systems and an educational resource for understanding the fundamental algorithms behind matrix factorizations and numerical solvers. The library distinguishes itself through a focus on randomized numerical linear algebra, utilizing probabilistic algorithms and approximate methods to perform dimensionality reduction and matri
Bend is a high-level parallel programming language and compiler designed to execute code across multi-core CPUs and GPUs automatically. By translating functional source code into a graph-based intermediate representation, it enables massive parallel execution without requiring manual management of threads, locks, or atomic operations. The runtime operates as an interaction net engine, where computations are represented as networks of nodes that reduce through local rewriting rules. This model utilizes a work-stealing scheduler to distribute tasks across thousands of hardware threads, ensuring