BLAS

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
 
Line 3: Line 3:
* Described version: Tuesday Apr 19th 2011 (not versioned in the usual way)
* Described version: Tuesday Apr 19th 2011 (not versioned in the usual way)
* Licensing: Free, http://www.netlib.org/blas/faq.html#2
* Licensing: Free, http://www.netlib.org/blas/faq.html#2
-
* User documentation: [http://www.netlib.org/blas/blasqr.ps Quick refence guide], [http://www.netlib.org/blas/blas3-paper.ps details on Level 3]
+
* User documentation: http://www.netlib.org/blas/blast-forum/
* Download: http://www.netlib.org/blas/archives/
* Download: http://www.netlib.org/blas/archives/
-
* Source code: [http://www.netlib.org/blas/blast-forum/cblas.tgz C], [http://www.netlib.org/blas/blas.tgz Fortran 77]
+
* Source code: [http://www.netlib.org/blas/blas.tgz Fortran 77], [http://www.netlib.org/blas/blast-forum/cblas.tgz C]
== Authors/Maintainers ==
== Authors/Maintainers ==
-
* Also origin, if the software comes from a specific project.
+
* 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 ==
== Summary ==
The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard
The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard
-
building blocks for performing basic vector and matrix operations. The Level 1 BLAS
+
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-
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
vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the
Line 25: Line 25:
== Features ==
== Features ==
-
* Listed 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 ==
== Architectural/Functional Overview ==
-
* high level design info, how it works, performance  - may be a link, or several links
+
* [http://www.netlib.org/blas/blasqr.pdf BLAS quick reference guide]
 +
* [http://www.netlib.org/blas/blas2-paper.ps Details on the level 2 BLAS]
 +
* [http://www.netlib.org/blas/blas3-paper.ps Details on the level 3 BLAS]
== Usage Overview ==
== Usage Overview ==
Line 34: Line 39:
== Dependencies ==
== Dependencies ==
-
* list of all relevant dependencies on other libraries
+
* None.
== HP-SEE Applications ==
== HP-SEE Applications ==
Line 53: Line 58:
== Usage by other projects and communities ==
== Usage by other projects and communities ==
-
* If any
+
* 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 ==
== 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.
-
Please describe here any common settings, configurations or conventions that would make the usage of this resource (library or tool) more interoperable or scalable across the HP-SEE resources. These recommendations should include anything that is related to the resource and is agreed upon by administrators and users, or across sites and applications. These recommendations should emerge from questions or discussions opened by site administrators or application developers, at any stage, including installation, development, usage, or adaptation for another HPC centre.
+
-
 
+
-
Provided descriptions should describe general or site specific aspects of resource installation, configuration and usage, or describe the guidelines or convention for deploying or using the resource within the local (user/site) or temporary environment (job). Examples are:
+
-
 
+
-
* Common configuration settings of execution environment
+
-
* Filesystem path or local access string
+
-
* Environment variables to be set or used by applications
+
-
* Options (e.g. additional modules) that are needed or required by applications and should be present
+
-
* Minimum quantitative values (e.g. quotas) offered by the site
+
-
* Location and format of some configuration or usage hint instructing applications on proper use of the resource or site specific policy
+
-
* Key installation or configuration settings that should be set to a common value, or locally tweaked by local site admins
+
-
* Conventions for application or job bound installation and usage of the resource
+

Latest revision as of 16:50, 5 August 2011

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.