# Install clblast with Homebrew, apt, dnf, MacPorts, Nix, pacman

Tuned OpenCL BLAS library. Version 1.7.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:clblast
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install clblast
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install clblast
```

  Evidence: MacPorts ports tree: math/clblast/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install clblast-tests
```

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

- dnf (92%):

```sh
sudo dnf install clblast
```

  Evidence: Fedora Rawhide package metadata: clblast from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#clblast
```

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

- pacman (92%):

```sh
sudo pacman -S clblast
```

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

## Package facts

- **Package key:** brew:clblast
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/clblast>
- **Version:** 1.7.0
- **Source summary:** Tuned OpenCL BLAS library
- **Homepage:** <https://github.com/CNugteren/CLBlast>
- **Repository:** <https://github.com/CNugteren/CLBlast>
- **Upstream docs:** <https://cnugteren.github.io/clblast/clblast.html>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/CNugteren/CLBlast/archive/refs/tags/1.7.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- clblast_tuner_copy_fast (cli)
- clblast_tuner_copy_pad (cli)
- clblast_tuner_invert (cli)
- clblast_tuner_routine_xgemm (cli)
- clblast_tuner_routine_xtrsv (cli)
- clblast_tuner_transpose_fast (cli)
- clblast_tuner_transpose_pad (cli)
- clblast_tuner_xaxpy (cli)
- clblast_tuner_xconvgemm (cli)
- clblast_tuner_xdot (cli)
- clblast_tuner_xgemm (cli)
- clblast_tuner_xgemm_direct (cli)
- clblast_tuner_xgemv (cli)
- clblast_tuner_xger (cli)
- clblast_tuner_copy_fast (alias)
- clblast_tuner_copy_pad (alias)
- clblast_tuner_invert (alias)
- clblast_tuner_routine_xgemm (alias)
- clblast_tuner_routine_xtrsv (alias)
- clblast_tuner_transpose_fast (alias)
- clblast_tuner_transpose_pad (alias)
- clblast_tuner_xaxpy (alias)
- clblast_tuner_xconvgemm (alias)
- clblast_tuner_xdot (alias)
- clblast_tuner_xgemm (alias)
- clblast_tuner_xgemm_direct (alias)
- clblast_tuner_xgemv (alias)
- clblast_tuner_xger (alias)

## Build dependencies

- cmake

## 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-08
- Package-manager version: 1.7.0
- Local data: ok
- Upstream repository: https://github.com/CNugteren/CLBlast
- Upstream latest detected: 1.7.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

CLBlast is a lightweight, tunable OpenCL BLAS library written in C++11. Its README frames it as an alternative to clBLAS and cuBLAS for users who want vendor-neutral OpenCL support, inspectable kernels, device-specific tuning, and support for a wide range of GPUs, CPUs, embedded GPUs, and accelerators.

### Project history

The changelog starts with version 0.1.0 as the initial preview release on GitHub, supporting a small set of level-1 and level-3 routines. Later pre-1.0 releases added broader BLAS coverage, a C API, Travis CI, MSVC support, thread safety, testing against clBLAS and CPU BLAS libraries, and tuned device parameters.

CLBlast reached 1.0.0 after adding correctness fixes, Mesa Clover and ROCm support, external performance reports, and more tuned parameters. The README cites a 2017 GTC presentation, an IWOCL 2018 presentation, and the paper 'CLBlast: A Tuned OpenCL BLAS Library' as deeper background.

### Adoption history

The upstream changelog says version 1.4.0 added Ubuntu PPA and macOS Homebrew package-manager availability, and the batch metadata lists Homebrew, Debian, Fedora, MacPorts, Nix, Arch, and Ubuntu package names. Adoption was driven by users needing a tunable OpenCL BLAS on devices not well served by fixed vendor libraries.

The README asks users with poor out-of-the-box performance to run tuners and contribute results, which made the project partly a packaged library and partly a community database of device-specific OpenCL tuning.

### How it is used

CLBlast users compile the library with CMake, include either clblast.h or clblast_c.h, pass OpenCL buffers to routines, and optionally build samples, benchmarks, tests, and tuners. The API is intentionally close to Netlib BLAS and cuBLAS/clBLAS conventions while avoiding a library initialization step.

### Why package nerds care

CLBlast is package-nerd bait because it combines portable C++ packaging, OpenCL ICD dependencies, optional CUDA backend support, Python bindings, tuners, samples, benchmarks, and a built-in tuning database. It also offers a clean contrast with clBLAS: same problem domain, but newer, more tunable, and more explicit about cross-vendor device coverage.

### Timeline

- 2017: CLBlast is presented at NVIDIA GTC and the first arXiv version of the CLBlast paper appears.
- 2018: CLBlast is presented at IWOCL and the paper is published as 'CLBlast: A Tuned OpenCL BLAS Library'.
- 1.0.0: The project reaches a stable major release with ROCm/Mesa support and external performance reports.
- 1.4.0: Ubuntu PPA and macOS Homebrew packaging are added upstream.
- 1.7.0: Parallel kernel compilation for faster tuning and CMake 4.0 compatibility are added.

### Related projects

- clBLAS is the older OpenCL BLAS library that CLBlast explicitly compares against and offers migration-compatible APIs for.
- cuBLAS is the NVIDIA CUDA BLAS library used as a contrast in the README.
- CLTune inspired the included auto-tuner according to the README's paper references.
- Netlib BLAS provides the routine model, while OpenCL provides the device API.

### Sources

- <https://github.com/CNugteren/CLBlast#readme>
- <https://raw.githubusercontent.com/CNugteren/CLBlast/master/CHANGELOG>
- <https://cnugteren.github.io/clblast/clblast.html>
- <https://arxiv.org/abs/1705.05249>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - clblast-tests - 1.6.3-1+b1: normalized package name match | Debian stable package indexes: clblast-tests from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tests for CLBlast | https://cnugteren.github.io/clblast/clblast.html
- Debian apt - clblast-utils - 1.6.3-1+b1: normalized package name match | Debian stable package indexes: clblast-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utilities for CLBlast | https://cnugteren.github.io/clblast/clblast.html
- Debian apt - libclblast-dev - 1.6.3-1+b1: normalized package name match | Debian stable package indexes: libclblast-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tuned OpenCL BLAS library (development files) | https://cnugteren.github.io/clblast/clblast.html
- Debian apt - libclblast1 - 1.6.3-1+b1: normalized package name match | Debian stable package indexes: libclblast1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tuned OpenCL BLAS library | https://cnugteren.github.io/clblast/clblast.html
- Nix - clblast: normalized package name match | nixpkgs package indexes: pkgs/by-name/cl/clblast/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - clblast-tests - 1.6.2-1: normalized package name match | Ubuntu 24.04 LTS package indexes: clblast-tests from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tests for CLBlast | https://cnugteren.github.io/clblast/clblast.html
- Ubuntu apt - clblast-utils - 1.6.2-1: normalized package name match | Ubuntu 24.04 LTS package indexes: clblast-utils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Utilities for CLBlast | https://cnugteren.github.io/clblast/clblast.html
- Ubuntu apt - libclblast-dev - 1.6.2-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libclblast-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tuned OpenCL BLAS library (development files) | https://cnugteren.github.io/clblast/clblast.html
- Ubuntu apt - libclblast1 - 1.6.2-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libclblast1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tuned OpenCL BLAS library | https://cnugteren.github.io/clblast/clblast.html
- dnf - clblast - 1.6.3-8.fc44: normalized package name match | Fedora Rawhide package metadata: clblast from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tuned OpenCL BLAS routines | https://cnugteren.github.io/clblast/clblast.html
- dnf - clblast-clients - 1.6.3-8.fc44: normalized package name match | Fedora Rawhide package metadata: clblast-clients from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Clients for clblast | https://cnugteren.github.io/clblast/clblast.html
- dnf - clblast-devel - 1.6.3-8.fc44: normalized package name match | Fedora Rawhide package metadata: clblast-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Headers and libraries for CLBlast | https://cnugteren.github.io/clblast/clblast.html
- dnf - clblast-tuners - 1.6.3-8.fc44: normalized package name match | Fedora Rawhide package metadata: clblast-tuners from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tuners for clblast | https://cnugteren.github.io/clblast/clblast.html
- pacman - clblast - 1.7.0-1: normalized package name match | Arch Linux sync databases: clblast from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Tuned OpenCL BLAS library | https://github.com/CNugteren/CLBlast
- MacPorts - clblast: normalized package name match | MacPorts ports tree: math/clblast/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [clblas](https://www.automicvault.com/pkg/brew/clblas/) - Shares av.db curated category or tags: blas, cli, gpu, linear-algebra, numerical-computing.
- [flexiblas](https://www.automicvault.com/pkg/brew/flexiblas/) - Shares av.db curated category or tags: blas, cli, linear-algebra, numerical-computing, science.
- [gsl](https://www.automicvault.com/pkg/brew/gsl/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [ibex](https://www.automicvault.com/pkg/brew/ibex/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [itpp](https://www.automicvault.com/pkg/brew/itpp/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [octave](https://www.automicvault.com/pkg/brew/octave/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [qd](https://www.automicvault.com/pkg/brew/qd/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [numpy](https://www.automicvault.com/pkg/brew/numpy/) - Shares av.db curated category or tags: cli, linear-algebra, numerical-computing, science.

## Combined YAML source

View the package source record on GitHub. [combined/clblast.yml](https://github.com/automic-vault/db/blob/main/combined/clblast.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
