blacs
- Version:
1.1 patch 03
- Category:
math
- Cluster:
Loki
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...