OpenBLAS  by OpenMathLib

Optimized BLAS library for linear algebra subprograms

created 14 years ago
6,887 stars

Top 7.5% on sourcepulse

GitHubView on GitHub
Project Summary

OpenBLAS is a highly optimized Basic Linear Algebra Subprograms (BLAS) library, serving as a drop-in replacement for GotoBLAS2. It provides accelerated linear algebra routines for scientific computing, machine learning, and high-performance applications across a wide range of architectures.

How It Works

OpenBLAS leverages architecture-specific assembly optimizations for various CPUs, including x86, ARM, POWER, and RISC-V. It dynamically detects the target CPU at runtime or can be configured to optimize for a specific CPU during compilation. This approach ensures maximum performance by utilizing instruction sets like AVX, AVX2, AVX512, and FMA where available.

Quick Start & Requirements

  • Installation: Build from source using make or cmake. Binary packages are available for Windows.
  • Dependencies: GNU Make or CMake, C compiler (GCC/Clang), optional Fortran compiler. Specific CPU targets may require newer compiler versions.
  • Resources: Compilation time varies by target and system.
  • Docs: openmathlib.org/OpenBLAS/docs/

Highlighted Details

  • Supports a vast array of CPU architectures and instruction sets.
  • Dynamic architecture detection (DYNAMIC_ARCH=1) for broad compatibility.
  • Optional integration with IBM MASS library for POWER CPUs.
  • Includes LAPACK routines.

Maintenance & Community

Licensing & Compatibility

  • BSD 3-Clause License. Permissive for commercial use and closed-source linking.

Limitations & Caveats

  • Experimental support for macOS/iOS and some BSD variants.
  • Building for multiple architectures (e.g., x86_64 and ARM64) in a single library is not supported.
  • Compiler version requirements exist for certain CPU optimizations (e.g., AVX512 requires GCC/LLVM 6+).
Health Check
Last commit

3 days ago

Responsiveness

1 day

Pull Requests (30d)
46
Issues (30d)
18
Star History
168 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
2 more.

gpu.cpp by AnswerDotAI

0.2%
4k
C++ library for portable GPU computation using WebGPU
created 1 year ago
updated 2 weeks ago
Starred by Bojan Tunguz Bojan Tunguz(AI Scientist; Formerly at NVIDIA), Mckay Wrigley Mckay Wrigley(Founder of Takeoff AI), and
8 more.

ggml by ggml-org

0.3%
13k
Tensor library for machine learning
created 2 years ago
updated 3 days ago
Feedback? Help us improve.