Procedure

  1. Download and unpack the library source.

    wget -O scalapack-2.0.2.tgz http://www.netlib.org/scalapack/scalapack-2.0.2.tgz
    tar -zxvf scalapack-2.0.2.tgz
    cd scalapack-2.0.2
    
  2. Make a copy of SLmake.inc.example, and rename it as SLmake.inc.

    Note: ScaLAPACK requires a SLmake.inc file which is tuned for the target machine, and is based on the example SLmake.inc.example that is included in the distribution.

  3. Modify the SLmake.inc file for the Arm HPC compiler and Arm Performance Libraries as follows:

    Set trailing underscores for calling Fortran subroutines from C:

    CDEFS = -DAdd_ 

    Set the C and Fortran flags:

    FCFLAGS = ‑O3‑mcpu=native
    CCFLAGS = ‑O3‑mcpu=native ‑fsimdmath

    Link to the ArmPL libraries for BLitAS and LAPACK calls by removing the definitions of BLASLIB and LAPACKLIB, and setting LIBS:

    LIBS = $(ARMPL_DIR)/lib/libarmpl_lp64_mp.so

    Note: ARMPL_DIR is the location of the ArmPL installation. For example:

    /opt/arm/armpl-19.0.0_ThunderX2CN99_RHEL-7_arm-hpc-compiler_19.0_aarch64-linux
  4. Build the ScaLAPACK library:

    make lib
  5. Copy the libscalapack.a static library, created by the make lib command, to your preferred installation directory.

Previous Next