blacs

Version:

1.1 patch 03

Category:

math

Cluster:

Loki

Author / Distributor

http://www.netlib.org/blacs/

Description

BLACS (Basic Linear Algebra Communication Subprograms) is a linear algebra-oriented message-passing interface designed for high efficiency and uniformity across a broad range of distributed memory platforms.

The goal of BLACS is to simplify the implementation and portability of distributed-memory linear algebra algorithms. Due to the high cost of rewriting applications for each new architecture, BLACS provides an abstraction layer that standardizes communication, enabling reuse and scalability.

BLACS is used as the communication layer for ScaLAPACK, and its key design concepts include:

  • Standardized communication interface

  • Process grids and scoped operations

  • Contexts for isolating communication environments

  • Array-based communication patterns

  • ID-less communication mechanisms

Documentation

  • Load the BLACS module:

    $ module load numlib/blacs/1.1-patch03-mpichge-intel-64
    
  • Check the loaded modules:

    $ module list
    
  • List available modules:

    $ module avail numlib/blacs/1.1-patch03-mpichge-intel-64
    
  • Unload the BLACS module:

    $ module unload numlib/blacs/1.1-patch03-mpichge-intel-64
    

Examples/Usage

Topics typically covered in usage guides include:

  • Referencing BLACS routines in applications

  • Example subroutines and communication patterns

  • Topology configuration and grid creation

  • Integration with ScaLAPACK

CALL BLACS_PINFO(MYID, NPROCS)
CALL BLACS_GET(-1, 0, CONTEXT)
CALL BLACS_GRIDINIT(CONTEXT, 'Row', NPROW, NPCOL)
CALL BLACS_GRIDINFO(CONTEXT, NPROW, NPCOL, MYROW, MYCOL)
! Matrix distribution and computation calls follow...

Installation