Kernels matemáticos acelerados por SIMD para distâncias, produtos escalares e operações com matrizes em mais de 15 tipos numéricos, com bindings para Python, Rust, C/C++, JS, Swift e Go.
OpenMathLib/OpenBLAS
Biblioteca open source otimizada de álgebra linear BLAS e LAPACK para várias arquiteturas de CPU, sem suporte a GPUs.
Alternativa open source a:Intel MKL
- Estrelas
- 7,669
- Forks
- 1,751
- Issues abertas
- 163
- Último commit
- há 5 horas
O que é?
OpenBLAS é uma biblioteca que implementa rotinas BLAS (Basic Linear Algebra Subprograms), os blocos básicos padrão de baixo nível para operações com vetores e matrizes usados por softwares numéricos. É baseada no GotoBLAS2 1.13, sob a licença BSD, e também inclui o LAPACK, pacote de álgebra linear de nível mais alto, além de uma interface C LAPACKE.
A biblioteca inclui kernels otimizados para uma ampla variedade de processadores, incluindo gerações Intel x86-64 do Sandy Bridge ao Sapphire Rapids, AMD Zen, núcleos ARM64 como Neoverse e da série Cortex-A, POWER, IBM Z, extensões vetoriais RISC-V e LoongArch. Uma compilação DYNAMIC_ARCH pode incluir vários alvos em uma única biblioteca e selecionar os kernels adequados em tempo de execução. As compilações usam make ou CMake, e há suporte à compilação cruzada.
OpenBLAS funciona em GNU/Linux, Windows (MinGW ou Visual Studio), macOS e várias variantes de BSD, além de poder ser usado com WebAssembly. O número de threads pode ser controlado por variáveis de ambiente ou funções de execução.
Recursos principais
- 01Implementa BLAS e inclui LAPACK com uma interface C LAPACKE.
- 02Oferece kernels otimizados para várias CPUs x86, ARM64, POWER, IBM Z, RISC-V e LoongArch.
- 03Compilações DYNAMIC_ARCH incluem vários alvos de CPU e escolhem os kernels em tempo de execução.
- 04Oferece suporte a compilações com make e CMake, inclusive compilação cruzada.
- 05O número de threads pode ser configurado por variáveis de ambiente ou funções de execução.
- 06Disponível em pacotes binários para Windows e por meio de vários gerenciadores de pacotes.
Casos de uso
- Acelerar cálculos com matrizes e vetores em computação científica e bibliotecas numéricas.
- Fornecer o backend BLAS/LAPACK para R, NumPy, SciPy ou outras pilhas numéricas.
- Desenvolver código de álgebra linear de alto desempenho para CPUs embarcadas ou de servidor de diferentes arquiteturas.
- Executar cargas de trabalho numéricas em navegadores usando compilações WebAssembly.
Início rápido
- 1
Obtenha o código-fonte do GitHub (a branch padrão é develop).
- 2
Compile a biblioteca com make (a CPU é detectada automaticamente).
make - 3
Instale-a no diretório escolhido.
make install PREFIX=your_installation_directory
Antes de usar
- Não oferece suporte a GPUs.
- Para compilar a partir do código-fonte, é necessário um compilador C, e alguns alvos de CPU têm apenas suporte preliminar.
Tópicos
Perguntas frequentes
- O que é OpenBLAS?
- Biblioteca open source otimizada de álgebra linear BLAS e LAPACK para várias arquiteturas de CPU, sem suporte a GPUs. OpenBLAS é uma biblioteca que implementa rotinas BLAS (Basic Linear Algebra Subprograms), os blocos básicos padrão de baixo nível para operações com vetores e matrizes usados por softwares numéricos. É baseada no GotoBLAS2 1.13, sob a licença BSD, e também inclui o LAPACK, pacote de álgebra linear de nível mais alto, além de uma interface C LAPACKE.
- OpenBLAS é gratuito? Qual é a licença?
- OpenBLAS é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- OpenBLAS ainda é mantido?
- Manutenção ativa. O último commit de OpenBLAS foi em 7 de nov. de 2026.
- Para que posso usar OpenBLAS?
- Acelerar cálculos com matrizes e vetores em computação científica e bibliotecas numéricas. Fornecer o backend BLAS/LAPACK para R, NumPy, SciPy ou outras pilhas numéricas. Desenvolver código de álgebra linear de alto desempenho para CPUs embarcadas ou de servidor de diferentes arquiteturas. Executar cargas de trabalho numéricas em navegadores usando compilações WebAssembly.
- Como instalar OpenBLAS?
- Obtenha o código-fonte do GitHub (a branch padrão é develop). Compile a biblioteca com make (a CPU é detectada automaticamente).: make Instale-a no diretório escolhido.: make install PREFIX=your_installation_directory
- Onde consigo OpenBLAS?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/OpenMathLib/OpenBLAS
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
O pacote fundamental de Python para computação científica, centrado em um objeto de array N-dimensional de alto desempenho.
Biblioteca header-only em C++20 para expressões de tensor no estilo NumPy, executadas em GPUs NVIDIA ou CPUs multithread, com fusão opcional de kernels.
Biblioteca de templates CUDA C++ e DSL em Python para criar kernels GEMM e de álgebra linear relacionados, de alto desempenho, em GPUs NVIDIA.
Uma biblioteca padrão fundamental de computação numérica e científica para JavaScript e TypeScript, que roda em navegadores e no Node.js.
Avaliador rápido de expressões em arrays NumPy que calcula expressões como 3*a+4*b em blocos, usando menos memória e vários núcleos.