|
||||||||||||||||
|
BLACS-Basic Linear Algebra Communication Subprograms
|
|
|
Note: This software, like all software in H:\Contrib, is user-contributed and is unsupported by CTC staff. The contributor may be willing to provide some assistance with this software. The BLACS (Basic Linear Algebra Communication Subprograms) project is an ongoing investigation whose purpose is to create a linear algebra oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms. The BLACS package is freely available on netlib and can be obtained via the World Wide Web or anonymous ftp (See references below).
To use BLACS at CTC
At CTC, BLACS is installed in the H:\Contrib\blacs folder. Within H:\Contrib\BLACS there are two folders containing a complete set of functionally equivalent libraries. Intel7 folder- These libraries were built with the Microsoft 13.10 C/C++ compiler and the Intel 7.1 Fortran compiler. They should be used with the Intel Fortran 7.1 compiler. Intel8 folder - These libraries were built with the Intel 8.0 C/C++ and Fortran compilers. They should be used with programs that have been compiled with those compilers. This is version 1.1 of BLACS with a few bug fixes made during porting. The libraries have been built using include files from MPI/Pro, so they probably won't work with other versions of MPI (hence the string "MPIPro" in the library name). FORTRAN Programs that make calls to the BLACS library must be compiled with the option to reference external programs with lowercase names. C programs should use lowercase names for the BLACS functions in the first place. Since this library is basically a FORTRAN library, all function arguments must be passed by reference. Only the cdecl linkage convention is supported. A program that uses this library is a parallel program, so the compiler should be told to reference the Multithreaded runtime libraries. On the other hand, one of the MPI/Pro libraries references the single-thread runtime library, so the linker needs to be told to ignore references to that library (/nodefaultlibc.lib) so that the linker resolves references to runtime functions only once (in the multithread library).
C programs must call MPI_Init() and FORTRAN programs must not (it gets called for them).
A program that makes BLACS calls must link at least four libraries into the executable
1. Blacs_MPIPro-Win32-X.lib
2a. blacsFinit_MPIPro-Win32-X.lib (if the main program is in Fortran) 2b. blacsCinit_MPIPro-Win32-X.lib (if the main program is in C) 3. mpipro.lib 4. mpipro_cdec.lib The placeholder X above must be replaced by either "0" for a "Release" (optimized) version of the library or by "1" for a "Debug" version of the library. Both versions of the library have been built with line numbers and symbols in the object files. Not much computation is done in the BLACS library, so it is doubtful that it makes much difference which version is chosen. Versions are interchangeable. Contributor
This software was built and installed at CTC by John Zollweg. CTC users may email John with questions about using blacs. BLACS References The BLACS Project webpage at www.netlib.org/blacs |
|
![]() |
||