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.
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.
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.
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.
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.
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:
- Standard specification of format
- 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.
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
|