lightning user document heading  
NCAR
Last update: 04/05/2005

Lightning user doc contents

Libraries

Pre-built binary libraries are an important part of the Linux philosophy of software contribution and sharing, and they offer many advantages to users. The mpich-gm and netCDF libraries are an integral part of many user applications running on lightning, so they are discussed in separate paragraphs below.

At this time, 64-bit libraries are mandated on lightning for performance reasons; see the section How to compile, build, and run jobs in this document.

If you are looking for pre-built binary libraries, please check the /contrib directory and /usr/local/lib first. If you do not find what you want, please contact CISL Consulting Services, who will advise you on building and supporting or /contrib. Contact CISL Consulting Services by email at consult1@ucar.edu or by phone at 303-407-1249.

A /contrib directory is provided on the NCAR supercomputers for open-source software that users need for their work. CISL provides storage space for such software, but CISL cannot provide maintenance or support for such packages and does not make any representations with regard to the safety, usability, or longevity of such software packages. The user who installs software in /contrib is responsible for that software. Any user may access this software at their own risk.

To add software to the /contrib directory on an NCAR system, you must first contact CISL staff to obtain write permission for the directory. You must agree to conform to the guidelines specified by User-maintained software repositories, and you must agree to the conditions stated in that document. Failure to conform to the guidelines or conditions will result in the revocation of your write privilege. The document outlines the minimum expectations for acceptable use of installation privileges in accordance with the UCAR Policies and Procedures Manual and the UCAR Computer Security Advisory Committee (CSAC) Guidelines.

Math libraries

Three math libraries are installed on lightning: lapack, blas, and spherepack.

Pre-compiled versions of the public domain lapack and blas libraries are included with the PGI compilers.

CISL provides lapack and spherepack on lightning as part of the NCAR Graphics package.

Scientific libraries

CISL has installed no scientific libraries on lightning for all users.

Lightning users typically provide the scientific libraries they need for their own applications; they build and maintain them in their home directories. If some of these libraries are used by a larger project or group, users may place them in the /contrib directory. Please contact CISL Consulting Services, consult1@ucar.edu or 303-407-1249, if you support a scientific library for your application on lightning for a larger group of users, and you want to place a library in /contrib.

MPI libraries

MPICH-GM provides the parallel programming environment on lightning; it adheres to the OpenMP and MPI standards. MPICH-GM supports interoperability of these standards, allowing for hybrid parallel applications. MPICH-GM supports the MPI 1.2 standard. The "-GM" suffix indicates that this version of the MPICH library has GM drivers for Myrinet support.

To use the default Fortran90 compiler on lightning: mpif90 -O2 job.f

The mpif90 wrapper is provided by PGI to load the proper libraries for MPI jobs.

Other compilers are available on lightning in the /contrib directory. Contact CISL Consulting Services at consult1@ucar.edu or 303-497-1249 for information about these.

MPI libraries

MPICH-GM provides the parallel programming environment on lightning; it adheres to the OpenMP and MPI standards. MPICH-GM supports interoperability of these standards, allowing for hybrid parallel applications. MPICH-GM supports the MPI 1.2 standard. The "-GM" suffix indicates that this version of the MPICH library has GM drivers for Myrinet support.

To use the default Fortran90 compiler on lightning: mpif90 -O2 job.f

The mpif90 wrapper is provided by PGI to load the proper libraries for MPI jobs.

Other compilers are available on lightning in the /contrib directory. Contact CISL Consulting Services at consult1@ucar.edu or 303-497-1249 for information about these.

netCDF

Many of the scientific applications require reading and writing of large amounts of primarily numerical data in rectangular arrays. Every application has its own convenient format for reading or writing data which involves extra steps on the user side to convert data from one format to another. For efficiency reasons, the format is most often not in ASCII. Even if it is in ASCII, the array structure of variables, which are stored as a stream of numbers, is not at all evident. Though most current hardware/software platforms follow the standard (IEEE 754) binary representation of floating-point numbers, the word representation is still different (i.e. little or big), and some vendors (for example Cray, SGI) follow a different format. For these reasons, binary files are not easily portable. Lastly, there is no standard way of storing the metadata within a file so that the data can be easily ready by people but ignored by the application.

The netCDF format and utility functions address all of these problems through:

  1. Standard specification of format
  2. Library and utility functions and commands available in all the major hardware and software platforms

It is practically as efficient as storing data in native binary form, yet it offers portability. netCDF is officially maintained and supported by Unidata and is available as free software under GPL. The main page and documentation is available from http://www.unidata.ucar.edu/content/software/netcdf/

The commands are available on lightning under /usr/local/bin. The library is available under /usr/local/lib, and the headers are under /usr/local/include.

To compile and link netCDF, you may use the compiler option:

-l netcdf

The binary and man pages are included in your default path unless you have redefined it through your startup files.

Note that this default netCDF library has been compiled using pgi compilers. If compiling your program using PathScale, we recommend using the "modules" utility to modify your environment to find the PathScale-compiled libraries. To do this, type:

module purge
module load pathScale.2.4-64

and then load the netcdf library using -lnetcdf on the compile line. For information on setting up the modules utility, see the Modules utility section.

NCAR local libraries

CISL provides very few of these libraries because most of them are not threaded. If you do not find the libraries you need in /usr/local/lib or in the /contrib directory, please contact CISL Consulting Services at consult1@ucar.edu or 303-407-1249. The consultants may be able to locate source code for you and advise you in building libraries for your own use.


Next page | Table of contents - Lightning user guide

If you have questions about this document, please contact CISL Customer Support. You can also reach us by telephone 24 hours a day, seven days a week at 303-497-1278. Additional contact methods: consult1@ucar.edu and during business hours in NCAR Mesa Lab Suite 39.

© Copyright 2004-2005. University Corporation for Atmospheric Research (UCAR). All Rights Reserved.

Address of this page: http://www.cisl.ucar.edu/docs/lightning/libs.jsp