HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Manufacturing Part Number: B6061-96035 E1207 © 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.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Announcement HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Announcement This release note describes the release of HP MLIB Version 9.5.6 (HP’s high performance mathematical software product). HP MLIB 9.5.6 is supported on Hewlett-Packard servers and workstations running HP-UX 11i or later operating systems on PA-RISC 2.0 platforms and HP-UX 11i V1.6 or later operating systems on Itanium®-based platforms.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 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. HP MLIB has six components, VECLIB, LAPACK, ScaLAPACK, SuperLU_DIST, SOLVERS, and VMATH.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version Platforms Supported HP MLIB V9.5.6 is available as archive and shared libraries and is supported on the following systems: Table 1 Processor Type PA 2.0 Supported Libraries HP-UX Version 11i or later Address Width 32-bit Installation Directory /opt/mlib/lib/pa2.0 Libraries libveclib.a libveclib.sl liblapack.a liblapack.sl libsolvers.a libsolvers.sl libscalapack.a libscalapack.sl libsuperlu_dist.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version Table 1 Processor Type PA 2.0 8 Supported Libraries (Continued) HP-UX Version 11i or later Address Width 64-bit Installation Directory /opt/mlib/lib/pa20_64 Libraries libveclib.a libveclib.sl libveclib8.a libveclib8.sl libveclibsc8.a libveclibsc8.sl liblapack.a liblapack.sl liblapack8.a liblapack8.sl liblapacksc8.a liblapacksc8.sl libsolvers.a libsolvers.sl libsolvers8.a libsolvers8.sl libscalapack.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version Table 1 Processor Type Itanium Supported Libraries (Continued) HP-UX Version 11i V1.6 or later Address Width 32-bit Installation Directory /opt/mlib/lib/hpux32 Libraries libveclib.a libveclib.so liblapack.a liblapack.so libsolvers.a libsolvers.so libscalapack.a libscalapack.so libsuperlu_dist.a libsuperlu_dist.so libvmath.a libvmath.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version Table 1 Processor Type Itanium NOTE 10 Supported Libraries (Continued) HP-UX Version 11i V1.6 or later Address Width 64-bit Installation Directory /opt/mlib/lib/hpux64 Libraries libveclib.a libveclib.so libveclib8.a libveclib8.so libveclibsc8.a libveclibsc8.so liblapack.a liblapack.so liblapack8.a liblapack8.so liblapacksc8.a liblapacksc8.so libsolvers.a libsolvers.so libsolvers8.a libsolvers8.so libscalapack.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version MPI Requirements The MPI parallel libraries ScaLAPACK and SuperLU_DIST in HP MLIB were built and tested with HP-MPI Version 2.1.1. Refer to “MPI Parallelism” on page 14. Benefits and Features HP MLIB V9.5.6 is optimized for use on both PA-RISC 2.0 and Itanium-based platforms running HP-UX. HP MLIB V9.5.6 incorporates algorithmic improvements and several tunable parameter adjustments for improved execution performance.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version • Sparse vector and matrix operations, including the Sparse BLAS — BLAS 3 routine DGEMM is highly tuned for PA-RISC and Itanium-based platforms. • Discrete Fourier transforms • Convolution and correlation • Miscellaneous tasks such as sorting and generating random numbers • SCILIB calling conventions MLIB contains multiple routines to perform the same mathematical operations using different precisions.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version MLIB contains new VECLIBSC8 and LAPACKSC8 libraries as described in the VECLIB section above. 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 PA-RISC and Itanium HP-UX Version 9.5.6 Release Note What’s in This Version subroutines for graph partitioning, mesh partitioning, and sparse matrix reordering, as well as auxiliary routines. HP MLIB contains the same full METIS functionality as that in the public domain METIS, however, the routine names are different. HP MLIB METIS routine names have been prepended with mlib_ to avoid name conflict on applications and libraries that contain their own local version of METIS.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Known Problems and Workarounds Known Problems and Workarounds The following section describes known problems with HP MLIB 9.5.6, and suggests workarounds you can use to avoid them.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Known Problems and Workarounds subprograms to be called from Fortran and C programs. For example, the MLIB BLAS error handler XERBLA has entry points xerbla and xerbla_. Table 2 shows the Fortran 90 compiler defaults. Table 2 Compiler Defaults 32-bit Addressing 64-bit Addressing PA-RISC +noppu +ppu Itanium +ppu +ppu Different compiler defaults can cause duplicate symbol definitions at link time as the following examples illustrate.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Known Problems and Workarounds Furthermore, the reverse can occur in the PA-RISC 32-bit libraries if you compile with the +ppu compiler option. Itanium-based platforms If you compile on Itanium-based processors using the compiler option +noppu your xerbla.o object has an entry point xerbla (without the postpended underbar).
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Known Problems and Workarounds void xerbla (char*name, int*iarg, size_t len_name){ ... } void xerbla_ (char*name, int*iarg, size_t len_name){ xerbla (name, iarg, len_name); } This problem is not confined to the XERBLA subroutine.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 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.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information Compatibility Information Compiling and Linking This section outlines compiling and linking information for MLIB libraries. When you use C language: • C language codes that call Fortran 77 routines from the BLAS Standard, the sparse linear equation system, or the sparse eigenvalue system, must explicitly link the ISAM (Indexed Sequential Access Method) stubs library. For example, % cc [options] file ...
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information % f90 [options] file ... –Wl,–aarchive_shared,[-lveclib|-llapack| -lsolvers|-lvmath] % cc [options] file ... –Wl,–aarchive_shared,[-lveclib|-llapack| -lsolvers|-lvmath] -lcl -lm % aCC [options] file ... –Wl,–aarchive_shared,[-lveclib|-llapack| -lsolvers|-lvmath] -lcl -lm For ScaLAPACK or SuperLU_DIST use: % mpif90 [options] file ... –Wl,–aarchive_shared,[-lscalapack| -lsuperlu_dist] % mpicc [options] file ...
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information Replace .a with .sl if you want to link the shared library on a PA-based operating system. • You can also use the following compile line commands to link VECLIB, LAPACK, SOLVERS, or VMATH for use on a specific machine for PA 32- or 64-bit: % f90 [+DD32|+DD64] [options] file ... -Wl,–aarchive_shared,-L/opt/ mlib/lib/[pa2.0|pa20_64] [-lveclib|-llapack|-lsolvers|-lvmath] % cc [+DD32|+DD64] [options] file ...
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information For ScaLAPACK or SuperLU_DIST use the -lscalapack or the -lsuperlu_dist option on the compiler command line that links your program: % mpif90 [options] file ...[–lscalapack|-lsuperlu_dist] % mpicc [options] file ...[–lscalapack|-lsuperlu_dist] -lcl -lm % mpiCC [options] file ...
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information % mpif90 +DA2.0W +i8 [options] file ... –Wl,–aarchive_shared [-lscalapack8|-lsuperlu_dist8] % mpicc +DA2.0W [options] file ... –Wl,–aarchive_shared [-lscalapack8| -lsuperlu_dist8] /opt/mpi/lib/pa20_64/hpmpautodbl_isi8.o -lcl -lm % mpiCC +DA2.0W [options] file ... –Wl,–aarchive_shared [-lscalapack8| -lsuperlu_dist8] /opt/mpi/lib/pa20_64/hpmpautodbl_isi8.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information % mpicc [options] file ... –Wl,–aarchive_shared,[-lscalapack| -lsuperlu_dist] -lcl -lm % mpiCC [options] file ... –Wl,–aarchive_shared,[-lscalapack| -lsuperlu_dist] -lcl -lm To select the shared library, either omit the -aarchive_shared flag or use the -ashared_archive flag instead.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information % aCC [+DD32|+DD64] [options] file ... -Wl,–aarchive_shared,-L/opt/ mlib/lib/[hpux32|hpux64] [-lveclib|-llapack|-lsolvers|-lvmath] -lcl -lm If your program uses subprograms from more than one library, specify each library on the compiler command line. For ScaLAPACK or SuperLU_DIST: % mpif90 [+DD32|+DD64] [options] file ...
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information — Compile and link with the +DD64 option to specify memory addresses are 64-bit values on Itanium-based systems. — Compile Fortran applications with the +i8, +autodbl, or +autodbl4 option where: — +i8 promotes 4-byte integer or logical constants, intrinsics, and user variables (declared as integer or logical) to 8-byte quantities.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information • If your program uses subprograms from VECLIB, LAPACK, SOLVERS, VMATH, ScaLAPACK, and SuperLU_DIST, specify -lveclib, -llapack, -lsolvers, -lvmath -lscalapack, and -lsuperlu_dist or -lveclib8, -lveclibsc8, -llapack8, -llapacksc8, -lsolvers8, -lvmath8, -lscalapack8, and -lsuperlu_dist8, on your command line.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information Use the subroutine MLIB_SETNUMTHREADS to override the environment variable MLIB_NUMBER_OF_THREADS. Refer to the mlib_setnumthreads(3m) man page for usage information. 2. Use the subroutine MLIB_SETNUMTHREADS. You can call this subroutine at any time to set the maximum number of parallel threads used in subsequent VECLIB or LAPACK calls.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Compatibility Information For example, the following Fortran code makes parallel calls to subprogram DAXPY: C$OMP PARALLEL DO DO 10 J=1, N CALL DAXPY (N-I,A(I,J),A(I+1,I),1,A(I+1,J),1) 10 CONTINUE C$OMP END PARALLEL DO While optimizing a parallel program, you may want to make parallel calls to an MLIB subprogram to execute independent operations where the call statements are not in a loop.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Where to Get It Where to Get It For instructions on how to download HP MLIB, go to http://www.hp.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Installation Requirements Installation Requirements The MLIB product is packaged so you may install all or individual parts of the product.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Installation Requirements Installing all parts of MLIB 9.5.6 (recommended) Use the swinstall command to install the product from the CD, assuming the CD is mounted in /dev/dsk/c0t0d0. % /usr/sbin/swinstall -x mount_all_filesystems=false -x rpc_timeout=9 -s /dev/dsk/c0t0d0 B6061AA Installing selected parts of MLIB 9.5.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 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 PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Associated Documentation Associated Documentation The following documents provide additional HP MLIB 9.5.6 product information: • mlib(3m) man pages—installed in the directory /opt/mlib/share/man. Set this path in your MANPATH environment variable to access man pages for VECLIB, LAPACK, SOLVERS, ScaLAPACK, SuperLU_DIST, and VMATH. Set the MANPAGER environment variable to /usr/bin/less -isr in order to view the man pages.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Associated Documentation http://www-users.cs.umn.edu/~karypis/metis/metis/index.html • The HP-MPI User’s Guide (11th Edition) is available online at http://docs.hp.com/en/B6060-96024/index.html • The HP-MPI V2.1.1 Release Note is available online at http://docs.hp.com/en/B6060-96019/index.
HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note Support Information Support Information Customers who have purchased support contracts can find a list of HP MLIB problems and their fixes in the current Software Status Bulletin (SSB). This information can be found by referencing the following product number: • B6061AA—HP MLIB To display the release version of your HP MLIB library, execute the following HP-UX command: For PA-based systems: % what /opt/mlib/lib/[pa2.0|pa20_64]/libveclib.