# Install halide with Homebrew, apt, Nix, pacman

Language for fast, portable data-parallel computation. Version 21.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:halide
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install halide
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install halide19-api-doc
```

  Evidence: Debian stable package indexes: halide19-api-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#halide
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ha/halide/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- Ubuntu apt (92%):

```sh
sudo apt install halide17-api-doc
```

  Evidence: Ubuntu 24.04 LTS package indexes: halide17-api-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- pacman (92%):

```sh
sudo pacman -S gengen
```

  Evidence: Arch Linux sync databases: gengen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:halide
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/halide>
- **Version:** 21.0.0
- **Source summary:** Language for fast, portable data-parallel computation
- **Homepage:** <https://halide-lang.org>
- **Repository:** <https://github.com/halide/Halide>
- **Upstream docs:** <https://halide-lang.org/docs>
- **License:** MIT
- **Source archive:** <https://github.com/halide/Halide/archive/refs/tags/v21.0.0.tar.gz>
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- adams2019_retrain_cost_model (cli)
- adams2019_weightsdir_to_weightsfile (cli)
- anderson2021_retrain_cost_model (cli)
- anderson2021_weightsdir_to_weightsfile (cli)
- featurization_to_sample (cli)
- gengen (cli)
- get_host_target (cli)
- adams2019_retrain_cost_model (alias)
- adams2019_weightsdir_to_weightsfile (alias)
- anderson2021_retrain_cost_model (alias)
- anderson2021_weightsdir_to_weightsfile (alias)
- featurization_to_sample (alias)
- gengen (alias)
- get_host_target (alias)

## Dependencies

- flatbuffers
- jpeg-turbo
- libpng
- lld@21
- llvm@21
- openssl@3
- python@3.14
- wabt

## Build dependencies

- cmake
- pybind11

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 21.0.0
- Local data: ok
- Upstream repository: https://github.com/halide/Halide
- Upstream latest detected: v21.0.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Halide is a language and compiler system for fast, portable image and array processing. It is embedded in C++ and also provides Python bindings, letting developers define the algorithm separately from the schedule that controls locality, vectorization, parallelism, and target-specific code generation.

### Project history

MIT News introduced Halide in 2012 as a programming language for image-processing software, reporting that MIT researchers used it to express common image-processing algorithms with shorter code and significant speedups. The Halide site presents the same core idea in tool form: write a pipeline in C++ using Halide's API, then JIT-compile it or compile it ahead of time.

The research lineage is central to the project. The Halide site lists publications on decoupling algorithms from schedules, the 2013 PLDI language and compiler paper, automatic scheduling work from 2016, differentiable programming work from 2018, and machine-learning-based autoscheduling in 2019. Those papers explain why Halide is not just a library of filters but a compiler approach to high-performance pipelines.

The release history shows the compiler growing from research artifact into a packaged toolchain. A 2013 GitHub release provided precompiled Halide builds. Later releases added WebAssembly, Direct3D, automatic differentiation, PyTorch custom-op generation, multiple autoschedulers as plugins, C++17 requirements, Vulkan and WebGPU work, RISC-V vector support, Python packaging through PyPI, and alignment of major version numbers with bundled LLVM versions.

### Adoption history

Halide's adoption spans research, imaging applications, compiler experimentation, and performance-sensitive production code. The official site points users to tutorials, example apps, tests, GitHub Discussions, CppCon material, CVPR course notes, and API docs, which reflects a community built around learning the scheduling model as much as installing a binary.

For package managers, Halide became more approachable as upstream added binary tarballs, Homebrew installation instructions, vcpkg support, and PyPI wheels for C++ and Python use. Those distribution paths matter because building Halide from source requires a compatible LLVM toolchain and substantial compiler infrastructure.

### How it is used

Users define Halide Func, Var, and schedule objects in host code, then compile pipelines for CPU, GPU, mobile, and other targets. The official README describes supported CPU architectures, operating systems, GPU compute APIs, C++17 requirements, Python bindings, tutorials, apps, and build instructions.

Installed package binaries are often used by developers who want headers, libraries, tools such as generators, and CMake integration without managing a custom LLVM build. The Homebrew formula is especially useful on macOS where LLVM discovery and CMake presets can otherwise dominate the first build.

### Why package nerds care

Halide is significant because it turns a compiler research system into a package-manager-installable dependency. The formula is not just a CLI; it packages a DSL runtime, compiler libraries, generators, examples, and an LLVM-facing build surface.

It also shows why some packages are hard to reduce to a single executable. Halide's value is in the development workflow: stable headers, linkable libraries, target backends, Python wheels, CMake discovery, and compatibility with the LLVM versions upstream supports.

### Timeline

- 2012: MIT News described Halide as a language for easier and faster image-processing software.
- 2013: PLDI paper described Halide as a language and compiler for optimizing parallelism, locality, and recomputation.
- 2013: GitHub release provided precompiled Halide builds.
- 2016: Automatic scheduling research expanded the Halide scheduling workflow.
- 2018: Halide release added features such as PyTorch custom-op generation, automatic differentiation, and WebAssembly support.
- 2019: SIGGRAPH autoscheduler work applied tree search and random programs to Halide optimization.
- 2021: Halide 13 required C++17 and documented Homebrew and vcpkg package paths.
- 2023: Halide 15 added PyPI-distributed Python builds and RISC-V vector support.
- 2023: Halide 16 added Vulkan support, experimental WebGPU support, and a GPU autoscheduler.
- 2025: Halide 21 aligned the major version with LLVM and continued Python-binding improvements.

### Related projects

- LLVM: compiler infrastructure used by Halide for code generation.
- CMake and vcpkg: build and packaging paths documented by Halide.
- PyPI halide package: binary distribution route for C++ and Python use.
- PyTorch: target ecosystem referenced by Halide release notes for custom operators.
- CUDA, OpenCL, Metal, DirectX, Vulkan, WebAssembly, and Hexagon: target backends or platforms represented in Halide documentation and releases.

### Sources

- <https://dl.acm.org/doi/10.1145/2499370.2462176>
- <https://dl.acm.org/doi/10.1145/3150211>
- <https://github.com/halide/Halide>
- <https://github.com/halide/Halide/releases>
- <https://halide-lang.org/>
- <https://halide-lang.org/docs>
- <https://halide-lang.org/papers/halide_autoscheduler_2019.pdf>
- <https://news.mit.edu/2012/better-programming-language-for-image-processing-0802>
- <https://raw.githubusercontent.com/halide/Halide/main/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** halide
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - halide19-api-doc - 19.0.0-6: normalized package name match | Debian stable package indexes: halide19-api-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors (Doxygen documentation) | https://halide-lang.org/
- Debian apt - libhalide19-0 - 19.0.0-6: normalized package name match | Debian stable package indexes: libhalide19-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors | https://halide-lang.org/
- Debian apt - libhalide19-dev - 19.0.0-6: normalized package name match | Debian stable package indexes: libhalide19-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors -- Development files | https://halide-lang.org/
- Debian apt - libhalide19-doc - 19.0.0-6: normalized package name match | Debian stable package indexes: libhalide19-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors (C++ documentation) | https://halide-lang.org/
- Debian apt - libhalideaot19-0 - 19.0.0-6: normalized package name match | Debian stable package indexes: libhalideaot19-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors (virtual library) | https://halide-lang.org/
- Debian apt - python3-halide - 19.0.0-6: normalized package name match | Debian stable package indexes: python3-halide from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors -- Python3 bindings | https://halide-lang.org/
- Debian apt - python3-halide-doc - 19.0.0-6: normalized package name match | Debian stable package indexes: python3-halide-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors (Python3 documentation) | https://halide-lang.org/
- Debian apt - python3-halide19-dev - 19.0.0-6: normalized package name match | Debian stable package indexes: python3-halide19-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, portable computation on images and tensors (Python3 Bindings Dev files) | https://halide-lang.org/
- Nix - halide: normalized package name match | nixpkgs package indexes: pkgs/by-name/ha/halide/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - halide17-api-doc - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: halide17-api-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors (Doxygen documentation) | https://halide-lang.org/
- Ubuntu apt - libhalide17-1 - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhalide17-1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors | https://halide-lang.org/
- Ubuntu apt - libhalide17-1-dev - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhalide17-1-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors -- Development files | https://halide-lang.org/
- Ubuntu apt - libhalide17-doc - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhalide17-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors (C++ documentation) | https://halide-lang.org/
- Ubuntu apt - libhalideaot17-1 - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libhalideaot17-1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors (virtual library) | https://halide-lang.org/
- Ubuntu apt - python3-halide - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-halide from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors -- Python3 bindings | https://halide-lang.org/
- Ubuntu apt - python3-halide-doc - 17.0.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-halide-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | fast, portable computation on images and tensors (Python3 documentation) | https://halide-lang.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [flatbuffers](https://www.automicvault.com/pkg/brew/flatbuffers/) - Runtime dependency declared by Homebrew.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [llvm@21](https://www.automicvault.com/pkg/brew/llvm-21/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [wabt](https://www.automicvault.com/pkg/brew/wabt/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pybind11](https://www.automicvault.com/pkg/brew/pybind11/) - Build dependency declared by Homebrew.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [lisette](https://www.automicvault.com/pkg/brew/lisette/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [nesc](https://www.automicvault.com/pkg/brew/nesc/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [vala](https://www.automicvault.com/pkg/brew/vala/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [cython](https://www.automicvault.com/pkg/brew/cython/) - Shares av.db curated category or tags: cli, compiler, language-runtime, performance.
- [ldpl](https://www.automicvault.com/pkg/brew/ldpl/) - Shares av.db curated category or tags: c-plus-plus, cli, compiler, language-runtime, programming-language.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, compiler, language, language-runtime, llvm.
- [crystal](https://www.automicvault.com/pkg/brew/crystal/) - Local package facts share a topical domain. Shared terms: cli, compiler, fast, language, language-runtime.
- [harbour](https://www.automicvault.com/pkg/brew/harbour/) - Local package facts share a topical domain. Shared terms: cli, compiler, jpeg, jpeg-turbo, language.

## Combined YAML source

View the package source record on GitHub. [combined/halide.yml](https://github.com/automic-vault/db/blob/main/combined/halide.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
