BLACS

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
(Created page with "= Information = * Web site: http://www.netlib.org/blacs/ * Described version: 1.1 * Licensing: Free (not explicitly defined) * User documentation: http://www.netlib.org/blacs/law...")
(HP-SEE Applications)
 
(7 intermediate revisions not shown)
Line 22: Line 22:
easily usable for linear algebra applications as we would like.
easily usable for linear algebra applications as we would like.
The goals of the BLACS project include:
The goals of the BLACS project include:
-
* Ease of programming. Wherever possible, the BLACS will simplify message passing in
+
* Ease of programming. Wherever possible, the BLACS will simplify message passing in order to reduce programming errors.
-
  order to reduce programming errors.
+
* Ease of use. The interface to the BLACS will be at such a level as to be easily usable by linear algebra programmers.
-
* Ease of use. The interface to the BLACS will be at such a level as to be easily usable
+
* Portability. The BLACS must supply an interface which can be supported across a Wide range of parallel computers, including parallel machines built from heterogeneous processors.
-
  by linear algebra programmers.
+
-
* Portability. The BLACS must supply an interface which can be supported across a
+
-
  Wide range of parallel computers, including parallel machines built from
+
-
  heterogeneous processors.
+
This user's guide is supplemented by the BLACS web page. The URL is
This user's guide is supplemented by the BLACS web page. The URL is
http://www.netlib.org/blacs/Blacs.html. This on-line document gives detailed examples,
http://www.netlib.org/blacs/Blacs.html. This on-line document gives detailed examples,
Line 44: Line 40:
== Features ==
== Features ==
-
* Listed features
+
* Array-based communication
 +
* Process Grid and scoped operations
 +
* ID-less communication
 +
* Blocking levels
== Architectural/Functional Overview ==
== Architectural/Functional Overview ==
Line 50: Line 49:
== Usage Overview ==
== Usage Overview ==
-
* If possible with small example - may be a link
+
* Quick Reference Guide to the [http://www.netlib.org/blacs/cblacsqref.ps C] and [http://www.netlib.org/blacs/f77blacsqref.ps Fortran 77] interface for the BLACS.
== Dependacies ==
== Dependacies ==
-
* list of all relevant dependencies on other libraries
+
* C or Fortran 77
 +
* MPI or PVM
== HP-SEE Applications ==
== HP-SEE Applications ==
-
* HMLQCD (Hadron Masses from Lattice QCD)
 
-
 
== Resource Centers ==
== Resource Centers ==
* University of Tirana, Albania
* University of Tirana, Albania
 +
== Resource Centers ==
 +
* '''BG''', BG
 +
* '''HPCG''', BG
 +
* '''NIIFI SC''', HU
 +
* '''PARADOX''', RS
== Usage by other projects and communities ==
== Usage by other projects and communities ==
* If any
* If any
 +
 +
== Recommendations for Configuration and Usage ==

Latest revision as of 20:26, 19 October 2012

Contents

Information

Authors/Maintainers

Summary

The BLACS (Basic Linear Algebra Communication Subprograms) is a package that attempts to provide the same ease of use and portability for distributed memory linear algebra communication that the BLAS provide for linear algebra computation. The concept of concentrating the most used computation into a kernel of highly optimized routines, such as the BLAS, has proven itself in work on LAPACK. LAPACK (Linear Algebra PACKage) provides linear algebra routines for sequential and shared memory machines. There are various packages designed to provide a message passing interface that remains unchanged across multiple platforms, including PICL, PVM and more recently, MPI. These packages are general libraries, however, and thus their interfaces are not as easily usable for linear algebra applications as we would like. The goals of the BLACS project include:

  • Ease of programming. Wherever possible, the BLACS will simplify message passing in order to reduce programming errors.
  • Ease of use. The interface to the BLACS will be at such a level as to be easily usable by linear algebra programmers.
  • Portability. The BLACS must supply an interface which can be supported across a Wide range of parallel computers, including parallel machines built from heterogeneous processors.

This user's guide is supplemented by the BLACS web page. The URL is http://www.netlib.org/blacs/Blacs.html. This on-line document gives detailed examples, as well as providing reference, downloading options, installation instructions, and troubleshooting. If problems still remain after reading this guide and consulting the mosaic page, questions should be mailed to blacs@cs.utk.edu. With distributed memory machines, the basic unit of execution is referred as a process. A process is a thread of execution which minimally includes a stack, registers, and memory. Multiple processes may share a processor. The term processor refers to the actual hardware. In the BLACS, each process is treated as if it were a processor: the process must exist for the lifetime of the BLACS run, and its execution should only affect other processes' execution through the use of message passing calls. The BLACS source code was contributed by many before FOSS licenses were established; there are both free and commercial versions/implementations available.

Features

  • Array-based communication
  • Process Grid and scoped operations
  • ID-less communication
  • Blocking levels

Architectural/Functional Overview

  • high level design info, how it works, performance - may be a link, or several links

Usage Overview

  • Quick Reference Guide to the C and Fortran 77 interface for the BLACS.

Dependacies

  • C or Fortran 77
  • MPI or PVM

HP-SEE Applications

Resource Centers

  • University of Tirana, Albania

Resource Centers

  • BG, BG
  • HPCG, BG
  • NIIFI SC, HU
  • PARADOX, RS

Usage by other projects and communities

  • If any

Recommendations for Configuration and Usage

Personal tools