# numba/numba

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/numba-numba).**

10,918 stars · 1,230 forks · Python · bsd-2-clause

## Links

- GitHub: https://github.com/numba/numba
- Homepage: https://numba.pydata.org/
- awesome-repositories: https://awesome-repositories.com/repository/numba-numba.md

## Topics

`compiler` `cuda` `llvm` `numba` `numpy` `parallel` `python`

## Description

Numba is a just-in-time compiler that translates high-level Python functions into optimized machine code at runtime. By leveraging the LLVM compiler infrastructure, it provides a framework for accelerating numerical data processing and mathematical computations, enabling performance levels comparable to statically compiled languages.

The project distinguishes itself through its ability to perform type-inference-based specialization, which generates machine instructions tailored to the specific data types used during execution. It employs a lazy compilation pipeline that defers translation until the moment of invocation, minimizing startup overhead while maintaining consistent performance across diverse processor architectures and operating systems.

Beyond core compilation, the toolkit provides extensive support for hardware acceleration by distributing iterative operations and array expressions across multiple CPU cores and graphics processing units. It utilizes vectorization and parallelization strategies to maximize throughput for large-scale numerical datasets, allowing developers to target specialized hardware directly from standard code.

## Tags

### Programming Languages & Runtimes

- [Python Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/python-compilers.md) — Translates Python functions into optimized machine code at runtime to accelerate numerical computations.
- [Execution Performance Optimizers](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/dynamic-scripting-languages/python/execution-performance-optimizers.md) — Translates high-level mathematical functions into machine code at runtime to achieve native-like execution speeds.
- [Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compilers.md) — Leverages compiler infrastructure to generate specialized machine instructions for diverse CPU and GPU architectures.
- [Intermediate Representations](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations.md) — Uses modular compiler infrastructure to transform code into intermediate formats for cross-platform optimization.

### Scientific & Mathematical Computing

- [Numeric Data Processing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/numeric-data-processing.md) — Optimizes array operations and mathematical calculations to maximize efficiency for scientific and analytical workflows.
- [High-Performance and Parallel Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing.md) — Distributes array operations and complex loops across multiple processor cores to improve performance.
- [Vectorized Array Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/vectorized-array-operations.md) — Optimizes numerical array operations by generating specialized machine instructions for large datasets. ([source](https://numba.pydata.org/))
- [Numerical Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-libraries-and-utilities/mathematics/numerical-computing.md) — Accelerates numerical computations by compiling mathematical functions into machine code at runtime. ([source](https://numba.pydata.org/numba-examples/))
- [Parallel Processing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallel-processing.md) — Distributes array expressions and loops across multiple processor cores and graphics units to improve speed.
- [Numerical Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/numerical-libraries.md) — Generates efficient machine code for mathematical functions to achieve high-performance numerical computing.
- [Parallelizing Compilers](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallelizing-compilers.md) — Automatically transforms code into parallel execution formats to ensure consistent performance across architectures.

### Software Engineering & Architecture

- [Just-in-Time Compilation Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/compiler-optimizations/just-in-time-compilation-pipelines.md) — Defers the translation of functions into machine code until the moment of first invocation to minimize startup overhead and optimize execution paths.
- [Just-in-Time Compilers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines/just-in-time-compilers.md) — Translates high-level code into optimized native machine instructions at runtime for performance acceleration.
- [Parallel Processing](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/computational-efficiency/parallel-processing.md) — Distributes iterative operations across multiple processor cores and utilizes SIMD instructions to maximize throughput.
- [Runtime Specialization](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-data-handling/type-inference-engines/runtime-specialization.md) — Generates highly optimized machine code tailored to the specific data types used in each function call.

### Hardware & IoT

- [GPU Computations](https://awesome-repositories.com/f/hardware-iot/integration-performance/gpu-performance/gpu-computations.md) — Executes parallel algorithms on graphics hardware by targeting processing units directly within standard code.

### Operating Systems & Systems Programming

- [GPU Acceleration](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/gpu-acceleration.md) — Enables GPU acceleration by executing parallel algorithms on specialized hardware directly within standard functions. ([source](https://numba.pydata.org/))

### Artificial Intelligence & ML

- [CPU Optimizations](https://awesome-repositories.com/f/artificial-intelligence-ml/cpu-optimizations.md) — Distributes array expressions and loops across multiple processor cores using threading and vectorization techniques. ([source](https://numba.pydata.org/))
- [GPU Kernel Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-kernel-implementations.md) — Offloads intensive computational workloads to graphics hardware by compiling standard code into parallel kernels.
- [Portable Application Distributions](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/agent-orchestration-multi-agent/deployment-architectures/portable-application-distributions.md) — Facilitates portable application deployment by distributing source code that compiles automatically at runtime. ([source](https://numba.pydata.org/))

### Part of an Awesome List

- [Scientific Computing](https://awesome-repositories.com/f/awesome-lists/ai/scientific-computing.md) — JIT compiler for scientific Python.
- [Data Manipulation Libraries](https://awesome-repositories.com/f/awesome-lists/data/data-manipulation-libraries.md) — JIT compiler for fast Python and NumPy code.
- [Computation and Optimization](https://awesome-repositories.com/f/awesome-lists/devtools/computation-and-optimization.md) — Compiler for Python array and numerical functions.
- [Parallel and High-Performance Computing](https://awesome-repositories.com/f/awesome-lists/devtools/parallel-and-high-performance-computing.md) — JIT compiler for high-performance Python code.
- [Scientific Computing](https://awesome-repositories.com/f/awesome-lists/learning/scientific-computing.md) — Listed in the “Scientific Computing” section of the Awesome Python awesome list.
