9.1.2 MLIB and Module Files

For building and running an application built against MLIB, you must have a consistent environment. Modulefiles can make it easier to access a package; therefore, if you use modulefiles, be sure to use a consistent set of modulefiles.

In particular, modulefiles can be used to select a compiler, both making its command available in the PATH environment variable and making its shared objects available in the LD_LIBRARY_PATH environment variable. MLIB has a modulefile corresponding to each supported compiler, making its shared objects available in $LD_LIBRARY_PATH.

If modulefiles are used to facilitate the user environment, failure to use companion modulefiles can result in build or run time errors, or both. If HP MPI is used as well, it is important to ensure the mpi** compiler scripts use the intended compiler by setting the MPI_CC environment variable, the MPI_F90 environment variable, or both. Failure to do so may cause the compiler scripts to discover an unintended compiler, and thus introduce an inconsistency.

For more information, refer to the MLIB User’s Guide, which is located on the HP XC documentation CD and at the following Web site: http://www.hp.com/go/mlib.

9.2 HP MLIB for the HP XC6000 Platform

The information in this section describes how to use HP MLIB Version 1.5 in the HP XC environment on the HP XC6000 platform.

HP MLIB for the HP XC6000 platform supports VECLIB, LAPACK, ScaLAPACK, SuperLU_DIST, and MPI parallelism. It requires Intel compilers.

For the latest information about this release of HP MLIB, refer to the HP MLIB release notes. HP MLIB directory information is located in the /opt/mlib/README file.

This section concentrates on how to quickly get started using HP MLIB.

9.2.1 Platform Support

HP MLIB V1.5 for HP XC6000 supports 64-bit addressing and 64-bit address libraries with all integer values using 64 bits on HP XC6000 clusters.

9.2.2 Library Support

HP MLIB V1.5 for XC6000 is available as archive and shared libraries. All libraries are installed at /opt/mlib/intel_7.1/hpmpi_2.1/lib/64 for Intel compiler version 7.1, and at /opt/mlib/intel_8.0/hpmpi2.1/lib/64 for Intel compiler version 8.0. This release of HP XC MLIB has the following components: VECLIB, LAPACK, ScaLAPACK, and SuperLU_DIST.

VECLIB

LAPACK

ScaLAPACK

SuperLU_DIST

libveclib.a

liblapack.a

libscalapack.a

libsuperlu_dist.a

libveclib.so

liblapack.so

libscalapack.so

libsuperlu_dist.so

libveclib8.a

liblapack8.a

libscalapack8.a

libsuperlu_dist8.a

libveclib8.so

liblapack8.so

libscalapack8.so

libsuperlu_dist8.so

Note: .a = archive, .so = shared, xxx8.x = int 8 (all integer values using 64 bits)

9.2.3 MPI Parallelism

Internal parallelism in ScaLAPACK and SuperLU_DIST is implemented using MPI — a portable, scalable programming model that gives distributed-memory parallel programmers a simple and flexible interface for developing parallel applications.

9-2Using HP MLIB