Generated by GPT-5-mini| BLAS | |
|---|---|
| Name | BLAS |
| Developer | Netlib, AT&T, IBM, Intel Corporation, NVIDIA |
| Released | 1970s |
| Latest release version | implementation-dependent |
| Programming language | Fortran (programming language), C (programming language) |
| Operating system | UNIX, Linux, Microsoft Windows, macOS |
| Genre | numerical library |
| License | varies (public domain, permissive, proprietary) |
BLAS BLAS is a standardized collection of low-level routines for linear algebra that provide building blocks for higher-level LAPACK-based libraries and scientific software. It underpins numerical work in environments associated with Mathematica, MATLAB, SciPy, NumPy, and is optimized by vendors such as Intel Corporation and NVIDIA for use on systems built by IBM, Hewlett-Packard, and Dell Technologies. The interface and functionality originated in the era of mainframes at institutions including Bell Labs and Argonne National Laboratory.
BLAS offers interfaces for vector and matrix operations commonly required by numerical packages like LAPACK, ScaLAPACK, PETSc, Trilinos, and applications deployed on platforms such as Cray Research, SGI, Fujitsu, HPE Apollo. The specification enables portable performance across processors from Intel Corporation and AMD to accelerators by NVIDIA and AMD (company). Implementations range from reference routines maintained at Netlib to highly tuned vendor libraries such as Intel Math Kernel Library, OpenBLAS, AMD BLIS, and proprietary offerings from IBM Research.
BLAS development traces to numerical efforts at Bell Laboratories and the numerical analysis community around Netlib and Argonne National Laboratory during the 1970s and 1980s. Key drivers included projects like LINPACK and EISPACK used on machines from CDC, Cray Research, and IBM System/360. Successive revisions and the adoption by packages such as LAPACK and ScaLAPACK spurred vendor optimization programs at Intel Corporation, IBM, Sun Microsystems, and later NVIDIA and AMD (company). Academic groups at University of Tennessee, Rice University, and University of California, Berkeley contributed algorithmic research that informed later designs like BLIS.
BLAS is organized into three levels to match computational intensity with hardware characteristics. Level 1 covers vector operations used in projects like MINPACK and ARPACK and interacts with codes from Netlib; examples include routines analogous to operations in LAPACK and EISPACK. Level 2 defines matrix-vector operations relevant to libraries such as PETSc and Trilinos and to scientific codes developed at Lawrence Livermore National Laboratory and Los Alamos National Laboratory. Level 3 contains matrix-matrix operations critical to performance in environments like HPC centers run by Oak Ridge National Laboratory and Argonne National Laboratory, and used in software stacks including TensorFlow and PyTorch on clusters provisioned by Amazon Web Services and Google Cloud Platform.
Reference implementations distributed via Netlib prioritize portability, while vendor-optimized libraries such as Intel Math Kernel Library and AMD BLIS exploit microarchitectural features of x86-64 processors developed by Intel Corporation and AMD. Open-source projects like OpenBLAS and BLIS implement algorithmic kernels tuned for processors from ARM (company) used in Apple Inc. systems to accelerators from NVIDIA leveraging CUDA and from AMD using ROCm. Research groups at University of Illinois Urbana–Champaign and University of Texas at Austin have published techniques for blocking, cache tiling, and vectorization that are applied in these implementations.
Bindings exist for languages and environments such as Fortran (programming language), C (programming language), C++, Python (programming language), Julia (programming language), and R (programming language). Python projects like NumPy and SciPy call optimized BLAS via interfaces managed by build systems associated with Anaconda (company) and pip (package manager). High-level frameworks such as TensorFlow and PyTorch dispatch linear algebra to BLAS-compatible backends, and HPC job schedulers like Slurm Workload Manager orchestrate execution on clusters from vendors such as HPE and Dell Technologies.
Benchmark suites including LINPACK and the High Performance Linpack (HPL) benchmark measure BLAS-backed performance on systems ranked by the TOP500 project hosted by Oak Ridge National Laboratory and Lawrence Berkeley National Laboratory. Vendors optimize for peak throughput using instructions sets like AVX, SSE, and architectures from ARM (company), with performance counters provided by Intel VTune and profiling tools from NVIDIA and AMD. Community efforts at NERSC and national laboratories maintain best-practice guides for tuning BLAS implementations on supercomputers such as Summit and Frontier.
BLAS routines are fundamental to scientific computing tasks in domains represented by institutions like CERN, NASA, NOAA, and European Space Agency. They accelerate workloads in computational chemistry packages like Gaussian (software), climate models from groups at Met Office and NCAR, econometric software used at Federal Reserve System and IMF, and machine learning systems deployed by Google LLC, Facebook (Meta Platforms), and Amazon.com. Engineering codes at firms such as Siemens and General Electric and academic packages developed at Massachusetts Institute of Technology and Stanford University rely on BLAS-accelerated linear algebra for simulation, optimization, and data analysis.