BLAS

From HP-SEE Wiki

Jump to: navigation, search

Contents

Information

Authors/Maintainers

  • Jack Dongarra and collaborators at the University of Tennessee at Knoxville, supported by the US National Science Foundation under Grant No. ASC-9313958 and US Department of Energy Grant No. DE-FG03-94ER25219.

Summary

The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS routines perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix- vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example. Machine-specific optimized BLAS libraries are available for a variety of computer architectures. These optimized BLAS libraries are provided by the computer vendor or by an independent software vendor. There is a Fortran77 reference implementation too which is not optimized. The BLAS source code was contributed by many before FOSS licenses were established; there are both free and commercial versions/implementations available.

Features

  • Level 1 BLAS performs scalar, vector and vector-vector operations
  • Level 2 BLAS performs matrix-vector operations
  • Level 3 BLAS performs matrix-matrix operations
  • Supports both Fortran and C interface

Architectural/Functional Overview

Usage Overview

  • C interface

Dependencies

  • None.

HP-SEE Applications

  • HMLQCD (Hadron Masses from Lattice QCD)
  • NUQG (Numerical study of ultra-cold quantum gases)
  • GENETATOMIC (Genetic algorithms in atomic collisions)
  • PCACIC (Principal component analysis of the conformational interconversions in large-ring cyclodextrins)

Resource Centers

  • BG, BG
  • HPCG, BG
  • IFIN_BC, RO
  • IFIN_Bio, RO
  • InfraGRID, RO
  • NCIT-Cluster, RO
  • NIIFI SC, HU
  • PARADOX, RS

Usage by other projects and communities

  • This library is by far the most basic and most used numerical library, and is used extensively by many communities.

Recommendations for Configuration and Usage

  • BLAS does not have many configurable options, and is basically used as an input to produce optimized and more specialized numerical libraries, such as LAPACK, ScaLAPACK, ATLAS.