OpenMathLib/OpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 17th, 2024
Created on January 24th, 2011
Open Issues & Pull Requests: 114 (+0)
Number of forks: 1,714
Total Stargazers: 7,558 (+0)
Total Subscribers: 200 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.5 hours
Mean response time: 244.0 days
90th percentile: 719.8 days
Tracked items: 464

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 9% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 71
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 1,417 days
Stale 30+ days: 68
Stale 90+ days: 60

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 8
Events in 7 days: 8

Top labels

  • Support (119)
  • Bug (78)
  • Feature request (57)
  • Bug in other software (23)
  • bounty (10)
  • Waiting for answer (9)
  • Distribution packaging problem (7)
  • Documentation (7)

Detailed Description

OpenBLAS is an optimized BLAS library derived from GotoBLAS2 1.13 BSD version, providing high-performance implementations of Basic Linear Algebra Subprograms for scientific computing and numerical algorithms. Written primarily in C, the library serves as a critical component in the computational mathematics ecosystem, with documented connections to major projects including Julia, SciPy, and Microsoft Visual Studio Code through overlapping contributor networks.

OpenBLAS includes LAPACK, the Linear Algebra Package, as an integrated component, offering both basic and higher-level linear algebra functionality. The library supports an extensive range of CPU architectures and operating systems, spanning x86/x86-64 processors from Intel Westmere through Sapphire Rapids and AMD architectures from Bobcat through Zen5, as well as ARM variants including ARMv6, ARMv7, and comprehensive ARM64 support covering Cortex processors, AWS Graviton variants, and Apple Vortex architectures. Additional platform support extends to MIPS32 and MIPS64, PPC/PPC64 including POWER8 through POWER10, IBM zEnterprise systems, RISC-V architectures, and LoongArch64.

The build system offers flexibility through both GNU Make and CMake, with automatic CPU detection and explicit target specification capabilities. Cross-compilation is supported through environment variable configuration, and the library can be compiled with optional MASS support on Power CPUs for mathematical acceleration. Debug builds are available, and installation can be directed to custom directories through PREFIX configuration.

Official binary packages are provided for Windows x86, x86-64, and ARM64 platforms, distributed through SourceForge and GitHub Releases. The library is additionally packaged across numerous package managers, with installation details documented in the official documentation. Building from source requires GNU Make or CMake, a C compiler such as GCC or Clang, and optionally a Fortran compiler for full LAPACK support, though machine-translated C versions of LAPACK are available when Fortran compilation is unavailable.

The repository maintains continuous integration testing across multiple platforms through Cirrus CI, OSUOSL POWERCI, and OSUOSL IBMZ-CI, ensuring reliability across the supported architecture spectrum. Documentation is hosted at openmathlib.org, with comprehensive build instructions and platform-specific guidance available for developers and users implementing OpenBLAS in their scientific computing workflows.