HP MLIB for Itanium Linux Version 9.6.1 Release Note Manufacturing Part Number: T1918-96034 E0507 U.S.A. © Copyright 1979-2007 Hewlett-Packard Development Company. L.P.
Legal Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material. Warranty.
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Trademark Notices. UNIX® is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited. Linux is a registered trademark of Linus Torvalds.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Announcement HP MLIB for Itanium Linux Version 9.6.1 Release Note Announcement This release note describes the release of HP MLIB (HP’s high performance mathematical software product) for Itanium® Linux Version 9.6.1. HP MLIB for Itanium® Linux Version 9.6.1 is supported on Hewlett-Packard servers and workstations running Red Hat Enterprise Linux 3 and 4 operating systems on Itanium®2-based systems. HP MLIB for Itanium® Linux Version 9.6.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version What’s in This Version HP MLIB contains mathematical software and computational kernels for engineering and scientific applications involving linear equations, least squares, eigenvalue problems, singular value decomposition, vector and matrix computations, convolutions, and Fourier Transforms. This release of HP MLIB for Itanium® Linux has six components: VECLIB, LAPACK, ScaLAPACK, SuperLU_DIST, SOLVERS, and VMATH.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version Platforms Supported HP MLIB for Itanium® Linux Version 9.6.1 is available as archive and shared libraries, and is supported on the following systems: Table 1 System Type Itanium®2 Supported Libraries Address Width 64-bit Installation Directory Libraries /opt/mlib/[intel_8.1|intel_9.1]/ hpmpi_2.2/lib/64 libveclib.a libveclib.so libveclib8.a libveclib8.so libveclibsc8.a libveclibsc8.so liblapack.a liblapack.so liblapack8.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version Benefits and Features HP MLIB for Itanium® Linux Version 9.6.1 incorporates algorithmic improvements and several tunable parameter adjustments for improved execution performance. VECLIB is optimized by using highly-efficient implementations of both dense and sparse BLAS—levels 1, 2, and 3. LAPACK fully conforms with the public-domain version 3.0 of LAPACK.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version Previous MLIB releases and legacy CXML had some overlapping functionality. LAPACK and ScaLAPACK are contained in both products. This MLIB release supports unique CXML extensions to the legacy BLAS and for the array math functions in CXML. However, the additional support of CXML is not exhaustive. For more information about the supported functions see the HP MLIB User’s Guide.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version Research Projects Agency, and the Department of Energy supported the development of the public domain version of LAPACK, from which HP MLIB LAPACK was derived. HP MLIB LAPACK is fully compliant with the LAPACK 3.0 Standard. Although LAPACK was designed for use with Fortran programs, C programs may call LAPACK subprograms, as described in Appendix A of the HP MLIB User's Guide.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version • Sparse symmetric ordinary and generalized eigensystems solutions. • Full METIS functionality This implementation provides the METIS Version 4.0.1 library. It is based on the public-domain METIS, which was developed at the University of Minnesota, Department of Computer Science, and the Army HPC Research Center.
HP MLIB for Itanium Linux Version 9.6.1 Release Note What’s in This Version 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. The MPI parallel libraries ScaLAPACK and SuperLU_DIST in HP MLIB were built and tested with HP-MPI Version 2.2.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds Known Problems and Workarounds The following section describes known problems with HP MLIB, and suggests workarounds you can use to avoid them.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds $ $ FORTRAN_FILE_IO_SUPPORT =1, C_FILE_IO_SUPPORT =2) mlib_file_io_support = FORTRAN_FILE_IO_SUPPORT return end subroutine mlib_io_msg( output, s) character*(*) s integer output write (output,*) s return end As of this release, HP MLIB for Itanium® Linux does not support Fortran file manipulation operations.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds The order is critical for both performance and accuracy. Explicit use of -lm, in some cases, causes -lm to be emitted into the generated linker command before -limf. It is recommended that end users generating new makefiles or scripts temporarily insert the option -# on the link command line, which will cause the expanded gnu ld command to be echoed but not executed.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds Table 2 Command Line/Entry Point Relationship (Continued) Command Line Fragment Entry Point ifort -us xerbla.f ... xerbla_ ifort -nus xerbla.f ... xerbla Note that the option -us (complimentary to -nus) is provided by the compiler but is totally redundant. The compiler also allows the option -nus to be applied to specified names rather than all names in the source file.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds SUBROUTINE XERBLA (SRNAME,INFO) ENTRY XERBLA_ (SRNAME,INFO) !DEC$ ATTRIBUTES ALIAS : 'xerbla' :: XERBLA !DEC$ ATTRIBUTES ALIAS : 'xerbla_' :: XERBLA_ ... If the above syntax is rejected by the compiler, try using the following SUBROUTINE XERBLA (SRNAME,INFO) ENTRY XERBLA_ (SRNAME,INFO) !DEC$ ALIAS : 'xerbla',XERBLA !DEC$ ALIAS : 'xerbla_',XERBLA_ ...
HP MLIB for Itanium Linux Version 9.6.1 Release Note Known Problems and Workarounds User and Library Subprogram Name Conflicts Some applications make use of some MLIB subprograms, but not others. For example, an application may use the MLIB matrix-multiplication subprogram DGEMM, but have its own subprogram DCOPY. A subroutine name conflict occurs because DGEMM calls DCOPY and expects the functionality of the MLIB DCOPY subprogram. DGEMM fails if the user’s version of DCOPY performs a different operation.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information Compatibility Information Compiling and Linking This section outlines compiling and linking information for MLIB libraries. HP MLIB 9.6.1 can be used as archive or shared libraries. • Use the -Bstatic flag on your compiler command line to link with archive libraries. • Use the -Bdynamic flag to link with shared libraries.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information If your program uses subprograms from VECLIB, LAPACK, SOLVERS, and VMATH specify -lveclib -llapack -lsolvers and -lvmath on the compiler command line. For ScaLAPACK with Intel V8.1 or V9.1 compilers for Fortran use: % mpif90 [options] file ... -L/opt/mlib/[intel_8.1|intel_9.1]/ hpmpi_2.2/lib/64 -lscalapack -openmp For ScaLAPACK with Intel V8.1 or V9.1 compilers for C/C++ use: % mpicc [options] file ... -L/opt/mlib/[intel_8.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information If your program uses subprograms from both ScaLAPACK and SuperLU_DIST, specify both libscalapack.a and libsuperlu_dist.a on the compiler command line. • The following command line examples show how to compile and link your programs for use with the VECLIB8 libraries: For the Intel V8.1 or V9.1 compiler for Fortran: % ifort -i8 [options] file ... -L/opt/mlib/[intel_8.1|intel_9.1]/ hpmpi_2.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information NOTE HP-MPI 2.2 scripts mpif77 and mpif90 default to Intel compiler ifort in your path, and scripts mpicc and mpiCC default to Intel compiler icc in your path. If you don’t want to use the Intel compilers set in your path, you need to set the environment variables MPI_F77, MPI_F90, MPI_CC, and MPI_CXX, respectively, to use the desired Intel compilers. For example, to use the Intel V9.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information The following command lines show the C-like shell syntax and Bourne-like shell syntax to use when setting the variable to two processors: For C-like shells: % setenv MLIB_NUMBER_OF_THREADS 2 For Bourne-like shells: % export MLIB_NUMBER_OF_THREADS=2 MLIB_NUMBER_OF_THREADS is examined on the first call to a parallelized VECLIB subprogram to establish the default parallel action within VECLIB.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information 2. Call MLIB subprograms in an OpenMP parallelized loop or region. To use this mechanism, you must be familiar with the techniques of parallel processing. Refer to the OpenMP documentation at http://www.openmp.org for more information. MLIB routines may also be called within regions that are parallelized via pthread calls. 3. Use the Message Passing Interface (MPI) explicit parallel model.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Compatibility Information HP MLIB man pages The HP MLIB man pages are installed in the directory /opt/mlib/[intel_8.1|intel_9.1]/hpmpi_2.2/man for Intel V8.1 or V9.1. Set this path in your MANPATH environment variable to access man pages for VECLIB, LAPACK, ScaLAPACK, SuperLU_DIST, and SOLVERS. HP MLIB for Itanium Linux Version 9.6.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Installation Requirements Installation Requirements HP MLIB for Itanium® Linux is built with and requires the Intel compiler. However, the Intel compiler is not a prerequisite for installation. Installation Instructions 1. Become root by running the su command and entering the super-user password. 2. Place the downloaded file into the /tmp directory (or another suitable directory). For example: % mv MLIB-LINUX-9.6.1-1.ia64.rpm /tmp/MLIB-LINUX-9.6.1-1.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Software Availability in Native Languages Software Availability in Native Languages There is no information on non-English languages for HP MLIB. HP MLIB for Itanium Linux Version 9.6.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Associated Documentation Associated Documentation The following documents provide additional HP MLIB for Itanium® Linux product information: • mlib(3m) man pages—installed in the directory /opt/mlib/intel_8.1/hpmpi_2.2/man for Intel V8.1, and in directory /opt/mlib/intel_9.1/hpmpi_2.2/man for Intel V9.1. Set this path in your MANPATH environment variable to access man pages for VECLIB, LAPACK, ScaLAPACK, and SuperLU.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Associated Documentation http://docs.hp.com/en/T1919-90009/index.html • GNU project documentation is available online at http://www.fsf.org • Intel compiler documentation is installed by default with the compiler at /opt/intel*/. HP MLIB for Itanium Linux Version 9.6.
HP MLIB for Itanium Linux Version 9.6.1 Release Note Support Information Support Information All users can access Hewlett-Packard’s Electronic Support Center on the World Wide Web, where you can search for bug descriptions, updates, and available patches. The electronic support center is available at http://www.hp.com/go/support. To display the release version of your HP MLIB library, execute the following command: % ident /opt/mlib/[intel_8.1|intel_9.1]/hpmpi_2.2/lib/64/libveclib.