Speed up NumPy or R by linking them against OpenBLAS instead of a slower generic BLAS library
Link your own C or Fortran scientific code against OpenBLAS for faster matrix multiplication
Set up a high-performance computing environment with CPU-tuned math routines for Intel, AMD, or ARM processors
| openmathlib/openblas | maharmstone/btrfs | libfuse/sshfs | |
|---|---|---|---|
| Stars | 7,430 | 7,423 | 7,417 |
| Language | C | C | C |
| Setup difficulty | hard | easy | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Must be compiled from source using make, target CPU is auto-detected or can be specified manually.
OpenBLAS is a high-performance library for mathematical computations, specifically the kind of linear algebra operations that underlie scientific software, data analysis tools, and machine learning frameworks. BLAS stands for Basic Linear Algebra Subprograms, which is a standard set of routines for operations like multiplying matrices together, computing dot products, and scaling vectors. When software like NumPy, R, or other numerical computing tools needs to do heavy math, it typically calls a BLAS library to do the actual computation, because a well-optimized BLAS library can be many times faster than naive code. OpenBLAS is derived from GotoBLAS2, a BLAS implementation originally written by Kazushige Goto at the Texas Advanced Computing Center. OpenBLAS takes that foundation and adds support for newer CPU architectures, continuing development under the BSD license. The library includes hand-tuned, processor-specific routines for Intel chips (including Sandy Bridge and Haswell), AMD processors, ARM chips, MIPS64, and IBM POWER hardware, among others. To use it, you compile the library from source using make, which automatically detects your CPU, or you can specify a target CPU explicitly. You then link your own code against it using libopenblas.a for static linking or the -lopenblas flag for a shared library. The number of CPU threads it uses can be controlled at runtime through environment variables or via function calls in your code. This is a low-level infrastructure library, not an end-user application. You would typically encounter OpenBLAS as a background dependency when setting up a scientific computing environment in Python, R, or a similar language, where it speeds up numerical operations without any direct interaction on your part.
OpenBLAS is a fast math library that speeds up matrix and linear algebra operations, used behind the scenes by NumPy, R, and other scientific tools to make heavy number-crunching run much faster.
Mainly C. The stack also includes C, Fortran, Assembly.
Available under the BSD license, free to use, modify, and distribute for any purpose including commercial, with attribution required.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.