All Classes Namespaces Files Functions Variables Typedefs Pages


Configuration of PEXSI is controlled by a single file. Examples of the file are given under the config/ directory.

Find with the most similar architecture, and copy to the main PEXSI directory (using Edison for example, the latest Intel computer at NERSC, a CRAY X30 machine). ${PEXSI_DIR} stands for the main directory of PEXSI.

cp config/

Edit the variables in

PEXSI_DIR     = Main directory for PEXSI
DSUPERLU_DIR  = Main directory for SuperLU_DIST
PARMETIS_DIR  = Main directory for ParMETIS 
PTSCOTCH_DIR  = Main directory for PT-Scotch

Edit the compiler options, for instance

CC           = cc
CXX          = CC
FC           = ftn
LOADER       = CC

Build the PEXSI library

If is configured correctly,

make all

Should build both the PEXSI library under the src directory and the examples under the examples directory. For more information on the examples, see Tutorial.

For examples using FORTRAN interface,

cd fortran/
make all


After example files are compiled

examples$ mpirun -n 1 ./driver_pselinv_complex_(suffix)

should return the diagonal of the matrix

\[ (A + i I)^{-1} \]

saved on the 0-th processor, where \(A\) is the five-point discretization of a Laplacian operator on a 2D domain. The result can be compared with examples/driver_pselinv_complex.out to check the correctness of the result.