The purpose of PT-SCOTCH is to apply graph theory, with a divide and conquer approach, to scientific computing problems such as graph and mesh partitioning, static mapping, and sparse matrix ordering. For its stability and scalability, it is the recommended matrix reordering library to be used with PEXSI and ELSI.
ELSI users may choose to use PT-SCOTCH redistributed with the current ELSI package. Alternatively, source code of PT-SCOTCH may be downloaded from here. The library can be installed following these steps:
- In the
srcdirectory, create a
EXE = .x LIB = .a OBJ = .o AR = ar ARFLAGS = cr CAT = cat CCS = gcc CCP = mpicc CCD = mpicc CFLAGS = -O3 -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME \ -Wrestrict -DIDXSIZE32 -DINTSIZE32 -DSCOTCH_METIS_VERSION=5 CP = cp LDFLAGS = -lz -lm -lrt LEX = flex -Pscotchyy -olex.yy.c LN = ln MAKE = make MKDIR = mkdir MV = mv RANLIB = ranlib YACC = bison -pscotchyy -y -b y
CCS should be set to the (serial, no MPI) C compiler of user's choice.
CCD should be set to the MPI-wrapped C compiler.
Make sure that the
libscotchmetis.a libraries are created in the
lib directory, and the
parmetis.h header files are copied into the
include directory. These files are stubs for compatibility with the (Par)METIS library. If any of the above is missing, go to
src/libscotchmetis and do