Skip all navigation and jump to content Jump to site navigation Jump to section navigation.
NASA Logo - Goddard Space Flight Center + Visit NASA.gov
NASA Center for Computational Sciences
NCCS HOME USER SERVICES SYSTEMS DOCUMENTATION NEWS GET MORE HELP

 

Documentation
OVERVIEW
GENERAL SOFTWARE INFO
HALEM
DALEY AND COURANT
PALM/EXPLORE
DIRAC/JIMPF

More palm/explore links:

+ Quick Start Guide

+ Overview of System Resources

+ Filesystem Access and Policies

+ Programming Environment

+ Batch Queues

+ Software and Tools

palm Programming Environment

Compilers and Modules
+ Intel Compilers
   - Setting the Environment Variables
   - Modules currently available on palm
   - C/C++ compiler: ecc and icc
   - Fortran compiler: efc, ifort
   - Endian
   - Record Length for Unformatted I/O
   - Useful compiler options
   - Filename extensions
+ GNU Compilers

SGI/Intel Libraries
+ C/C++ Libraries
+ MKL
+ SCSL
+ MPT
+ FFIO
+ CPU sets
+ Array Services


Intel Compilers: Intel IPF (Itanium Processor Family) Compilers: C/C++, Fortran for Linux

  • Setting the Environment Variables

    A system called "modules" is installed on palm to centralize the location of licensed products from Intel and SGI. The following modules are loaded automatically by default:

    intel-comp.7.1.042, scsl.1.5.1.1, and mpt.1.11.0.0
    (in /etc/csh.login for tcsh/csh and /etc/profile for sh/ksh/bash)

    If you use C shell, issue the following command to load (or reload) other modules:

    %source /opt/modules/default/init/csh

    If you use Bourne shell, issue the following command to load (or reload) other modules:

    %. /opt/modules/default/init/bash

    The following module commands are useful to remember:
    • module avail: to find out what other modules are available.
    • module list: to list which modules are in your environment
    • module purge: to unload all loaded modulefiles
    • module load module_name: to load the desired modules.
    • module switch old_module_name new_module_name: to switch between different versions of a software
  • Modules currently available on palm (descriptions of software follow in this document):
    • gcc-3.2.2
      • gcc/g77 version 3.2.2 from GNU
      • Installed under /opt/pd/gcc/gcc-3.3.2
    • gcc-3.2.3
      • gcc/g77 version 3.2.3 from GNU
      • Installed under /opt/pd/gcc/gcc-3.2.3
    • gcc-3.3
      • gcc/g77 version 3.3-20030623 from GNU
      • Installed under /opt/pd/gcc/gcc-3.3-20030623
    • gcc-3.3.1
      • gcc/g77 version 3.3.1 from GNU
      • Installed under /opt/pd/gcc/gcc-3.3.1
    • gcc-3.4.3
      • gcc/g77 version 3.4.3 from GNU
      • Installed under /opt/pd/gcc/gcc-3.4.3
    • histx+.1.2a
      • SGI histx software version 1.2a
      • Installed under /opt/sgi/histx+/1.2a
    • intel-comp.7.1.032
      • Intel C/C++ Compiler version 7.1.032
      • Intel Fortran Compiler version 7.1.035
      • Intel Debugger version 7.22
      • Installed under /opt/intel/comp/7.1.032
    • intel-comp.7.1.042 (default loaded for users at login)
      • Intel C/C++ Compiler version 7.1.042
      • Intel Fortran Compiler version 7.1.042
      • Intel Debugger version 7.22
      • Installed under /opt/intel/comp/7.1.042
    • intel-comp.8.1.021
      • Intel C/C++ Compiler version 8.1.021
      • Intel Fortran Compiler version 8.1.018
      • Intel Debugger version 8.1
      • Installed under /opt/intel/comp/8.1.021
    • intel-comp.8.1.024
      • Intel C/C++ Compiler version 8.1.024
      • Intel Fortran Compiler version 8.1.021
      • Intel Debugger version 8.1
      • Installed under /opt/intel/comp/8.1.024
    • intel-comp.8.1.026
      • Intel C/C++ Compiler version 8.1.026
      • Intel Fortran Compiler version 8.1.023
      • Intel Debugger version 8.1
      • Installed under /opt/intel/comp/8.1.026
    • intel-comp.8.1.029
      • Intel C/C++ Compiler version 8.1.029
      • Intel Fortran Compiler version 8.1.025
      • Intel Debugger version 8.1
      • Installed under /opt/intel/comp/8.1.029
    • intel-comp.8.1.030
      • Intel C/C++ Compiler version 8.1.030
      • Intel Fortran Compiler version 8.1.026
      • Intel Debugger version 8.1
      • Installed under /opt/intel/comp/8.1.030
    • intel-comp.9.0.021
      • Intel C/C++ Compiler version 9.0.021
      • Intel Fortran Compiler version 9.0.021
      • Intel Debugger version 9.0-10
      • Installed under /opt/intel/comp/9.0.021
      • Documentation installed under /opt/intel/comp/9.0.021/doc
    • intel-comp.9.0.023
      • Intel C/C++ Compiler version 9.0.023
      • Intel Fortran Compiler version 9.0.024
      • Intel Debugger version 9.0-11
      • Installed under /opt/intel/comp/9.0.024
      • Documentation installed under /opt/intel/comp/9.0.023/doc
    • intel-mkl.7.2.1.003
      • Intel Math Kernel Library version 7.2.1.003
      • Installed under /opt/intel/mkl/7.2.1.003
    • mpt.1.9.1.0
      • SGI Message Passing Toolkit version 1.9.1.0
      • Installed under /opt/sgi/mpt/1.9.1.0
    • mpt.1.10.1.0
      • SGI Message Passing Toolkit version 1.10.1
      • Installed under /opt/sgi/mpt/1.10.1.0
    • mpt.1.11.0.0 (default loaded for users at login)
      • SGI Message Passing Toolkit version 1.11.0.0
      • Installed under /opt/sgi/mpt/1.11-100 (Infiniband is not supported in mpt prior to 1.11)
    • mpt.1.11.1.0
      • SGI Message Passing Toolkit version 1.11.1.0
      • Installed under /opt/sgi/mpt/1.11.1.0
    • pd-hdf.5-1.6.4
    • pd-sun-java-sdk.1.4.2_06
      • Sun Java2 SDK version 1.4.2_06 (unsupported)
      • Installed under /opt/pd/sun-java-sdk/1.4.2_06
    • scsl.1.4.1.0
      • SGI Scientific Library version 1.4.1.0
      • Installed under /opt/sgi/scsl/1.4.1.0
    • scsl.1.5.1.1 (default loaded for users at login)
      • SGI Scientific Library version 1.5.1.1
      • Installed under /opt/sgi/scsl/1.5.1.1
  • C/C++ compiler: ecc (version 7 compilers), and icc (version 8 compilers)

    Syntax:

    % ecc [option(s)] prog.{c|C|cc|cpp|cxx|i}

    Example: (suggested in HP's Itanium processor family performance tuning guide as the "Best Practices" options)

    %ecc -O2 -ftz -ipo -IPF_fltacc -IPF_fma

    Current default version of C/C++ on palm: ecc of version 9.0

    Version 7.1:

    The Intel C++ Compiler 7.0 for Linux is substantially source and object code compatible with GNU C. Version 7 of the compiler has added more gcc extensions support, which eases the porting of applications with the Intel compiler. This allows you to recompile your existing software with the Intel C++ Compiler 7.0 as a simple way to add performance to your application. Alternatively, you can build applications by compiling specific modules with the Intel C++ Compiler and link them with modules compiled with GNU C. This is especially useful if you want to start using the Intel compiler on a few modules first. Additionally, the Intel C++ Compiler is compliant with the C++ ABI standard, which enables stronger binary compatibility with gcc version 3.2. The Intel C++ Compiler 7.0 for Linux also includes additional language features that provide the capability to build the Linux kernel with some minor modifications. In addition, the Intel C++ Compiler is substantially compatible with tools you probably already use in developing your Linux applications such as: make, Emacs, and gdb.

| Top of Page |

 

  • Fortran compiler: efc (for version 7), ifort (for version 8)

    Syntax:

    % efc [option(s)] prog.{f|for|ftn|f90|fpp}

    Example: (suggested in HP's Itanium processor family performance tuning guide as the "Best Practices" options)

    %efc -O2 -ipo -IPF_fma -ftz -IPF_fltacc

    Current default Fortran compiler on palm: efc of version 7.1.042

    Version 7.1:

    The Intel Fortran Compiler for Linux is substantially compatible with widely used Linux application development tools such as make, Emacs, and gdb. In addition, it is substantially source compatible with Compaq Visual Fortran 6.6. This means you can take your source code and recompile your applications with minimal changes to get improved performance on Linux. Compatibility is extended into the ability to handle big endian files. This is a mechanism to read and write data files in Big Endian mode. In the technical computing world, data files will be generated on various platforms, including systems that use the big endian model of computing. This option will allow you to use files that have been generated on different platforms with ease.

    Version 8.0:

    Intel Compiler Fortran Compiler 8.0 is a new generation of Intel Fortran that combines the best technology from both Intel Fortran and Compaq Visual Fortran. The "front-end" of the compiler, which provides Fortran language features and Fortran-specific optimizations, is now derived from that of Compaq Visual Fortran. The Fortran run-time library (I/O and non-math intrinsics) also derives from Compaq Visual Fortran. The "back-end" is from the latest generation of Intel's high-performance code generation and optimization technology to achieve the best performance on Intel processors.

    Note: Use the following to load the new versions of Fortran compilers:

    module switch intel-comp.7.1.042 intel-comp.8.1.021
  • Endian:

    IA-64 (Itanium Architecture, 64 bit) provides hardware-level mechanisms to specify which endian model should be used when accessing data, either big-endian or little-endian. Little endian results in the least significant byte of the load operand being stored in the least significant byte of the target operand. Big-endian results in the most significant byte of the load operand being stored in the least significant byte of the target operand. The Itanium Family architecture is endian-agnostic and can work with both forms.

    Little endian is the default. To use big-endian unformatted files for I/O, file format conversion is accomplished by the following operations:
    • The READ operation converts big-endian format to little-endian format.
    • The WRITE operation converts little endian format to big-endian format.

    To perform the conversion, do the following:

    • Csh: setenv F_UFMTENDIAN MODE;EXCEPTION
      Sh : export F_UFMTENDIAN=MODE;EXCEPTION
      MODE = big | little
      EXCEPTION = big:ULIST | little:ULIST | ULIST
      ULIST = U | ULIST,U
      U = decimal | decimal -decimal

      MODE defines the current format of the data, represented in the files; it can be omitted. The keyword "little" means that the data have little-endian format and will not be converted. For IA-32 systems, this keyword is a default. The keyword "big" means that the data have big -endian format and will be converted. This keyword may be omitted together with the colon.

      EXCEPTION is intended to define the list of exclusions for MODE; it can be omitted. EXCEPTION keyword (little or big) defines data format in the files that are connected to the units from the EXCEPTION list. This value overrides MODE value for the units listed.

      Each list member U is a simple unit number or a number of units. The number of list members is limited to 64. decimal is a non-negative decimal number less than 232.

      Converted data should have basic data types, or arrays of basic data types. Derived data types are disabled.

      Example:
      1. setenv F_UFMTENDIAN big

        All input/output operations perform conversion from big-endian to little-endian on READ and from little-endian to big-endian on WRITE.

      2. setenv F_UFMTENDIAN "little;big:10,20"
        or setenv F_UFMTENDIAN big:10,20
        or setenv F_UFMTENDIAN 10,20

        In this case, only on unit numbers 10 and 20 the input/output operations perform big-little endian conversion.

      3. setenv F_UFMTENDIAN "big;little:8"

        In this case, on unit number 8 no conversion operation occurs. On all other units, the input/output operations perform big-little endian conversion.

      4. setenv F_UFMTENDIAN 10-20

        Define 10, 11, 12, ...19, 20 units for conversion purposes; on these units, the input/output operations perform big-little endian conversion.

    • setenv FORT_CONVERT55 BIG_ENDIAN

    • use '-convert big_endian' compiler flag. (only available after compiler version 8.0.021).

    Note: On the Intel Itanium 2, all code is stored in little-endian order in memory.

    Note: SGI, SUN, HP, IBM, Motorola systems store data in big-endian order, while Intel and DEC VAX systems store them in little-endian order.

  • Record Length for Unformatted I/O:

    In previous versions (earlier than version 8) of Intel Fortran, the default RECL= unit for UNFORMATTED files was bytes. Version 8.0 adopts the Compaq Fortran default unit of four bytes (a numeric storage unit.) You can specify one-byte units by adding the compiler option "-assume byterecl".

    According to "ISO/IEC 1539: 1991 (E) Fortran 90 p. 117", "If the file is being connected for unformatted input/output, the length is measured in processor dependent units." (single precision words) Thus, intel version 7 compiler and SGI's MIPSpro compilers aren't standard compliant. Intel version 8.x is standard compliant and it provides a switch (-assume byterecl) to help users port data generated with non-standard compliant compilers.

  • Some useful options for efc and/or ecc:

    • -auto: Places variables, except those declared as SAVE, on the run-time stack (-auto_scalar is default). Required for thread safety. If you specify -recursive or -openmp, the default is -auto.
    • -CB or -check bounds: Checks array bound during run time. Available only after compiler version 8.0.024
    • -check or -check all: Checks several run-time conditions, such as arg_temp_created, bounds, format, output_conversion.
    • -convert (with options): Specifies the format for unformatted files containing numeric data. Options include big_endian, cray, ibm, etc. Available only after compiler version 8.0.021.
    • -DD, -DX, -DY: Compiles debugging statements indicated by the letter D, or X, or Y in column 1 of the source code.
    • -fpe0 or -fep1, or -fpe3: Available in Version 8 comilers only.
      Specifies floating-point exception handling for the main program at run-time:

      -fpe0 - Floating underflow results in zero; all other floating-point exceptions abort execution.

      -fpe1 - Floating underflow results in zero; all other floating-point exceptions produce exceptional values {signed Infinities or NaNs} and execution continues.

      -fpe3 - All floating-point exceptions produce exceptional values {signed Infinities, denormals, or NaNs} and execution continues. This is the default; it provides full IEEE support. (Also see -ftz.)

    • -fpp: Uses the fpp preprocessor on Fortran source files.

    • -ftz: Flushes underflows to zero. Turned on by -O3. Use this option when the denormal values are not critical to application behavior.
    • -g: Generates symbolic debugging information and line numbers in the object code for use by source-level debuggers. If you specify the -O2 option with the -g option, some of the debugging information returned may be inaccurate as a side-effect of optimization. If you do not make your optimization choice explicit when -g is specified, the -g option implicitly disables optimization as if -O0 were specified.
    • -i{2|4|8}: Defines the default KIND for interger variables and constants in 2, 4 and 8 bytes; -i4 is the default.
    • -ip: Performs inter-procedural analysis within a file.
    • -IPF_fma[-]: Enables[disables] the combining of floating point multiplies and adds/subtracts operations.
    • -IPF_fltacc[-]: Enables[disables] optimizations that affect floating-point accuracy.
    • -ipo: Inter-procedural analysis across files.
    • -lifport: Links libifport.a. This is used in version 8.
      The equivalence in version 7 is -Vaxlib.
    • -list : Prints a source listing to stdout.
    • -mp: Restricts optimizations that cause some minor loss or gain of precision in floating-point arithmetic to maintain a declared level of precision and to ensure that floating-point arithmetic more nearly conforms to the ANSI and IEEE standards.
    • -mp1: Restricts floating-point precision to be closer to declared precision with less impact to performance than with -mp option. The option will ensure the out-of-range check of operands of transcendental functions and improve accuracy of floating-point compares.
    • -mP3OPT_ecg_mm_fp_ld_latency=##: This is an undocumented flag. It is useful when one tries to stretch the pipeline to improve performance. If you want the compiler to stretch the pipeline with a 20-cycle latency, then use -mP3OPT_ecg_mm_fp_ld_latency=20.
    • -O0: No optimization.
    • -O2: Default optimization level. Used for best overall performance on typical integer applications that do not make heavy use of floating point math. Enable the following capabilities for performance gain:
      - constant propagation
      - copy propagation
      - dead-code elimination
      - global register allocation
      - global instruction scheduling and control speculation
      - loop unrolling
      - optimized code selection
      - partial redundancy elimination
      - strength reduction/induction variable simplification
      - variable renaming
      - predication
      - software pipelining
    • -O3: Includes more software pipelining, prefetching, and loop reorganization.
    • -openmp: Enables the parallelizer to generate multithreaded code based on the OpenMP directives. This option implies that -fpp and -auto are ON.
    • -openmp_report{0|1|2}: Controls the OpenMP parallelizers diagnostic levels. Default is -openmp_report1.
    • -openmp_stubs: Sets compilation of the OpenMP programs to be in sequential mode. The OpenMP directives are ignored and a stub OpenMP library is linked (sequentially).
    • -opt_report: Generates optimizations report and directs to stderr.
    • -parallel: Enables the auto-parallelizer to generate multithreaded code for loops that can be safely executed in parallel.
    • -par_report{0|1|2|3}: Controls the auto-parallelizer's diagnostic levels.
    • -prof_gen: Instruments the program for profiling to get the execution count of each basic block. It is used in phase 1 of the PGO (profile-guided optimizations) to instruct the compiler to produce instrumented code in your object files in preparation for instrumented execution.
    • -prof_use: Used in phase 3 of the PGO to instruct the compiler to produce a profile-optimized executable and merges available dynamic-information (.dyn) files into a pgopti.dpi file.
    • -r4: Specifies the size of the real numbers to four bytes (default).
    • -r8 or -autodouble: Defines real variables to be REAL(KIND=8).
    • -S: generates assembly listing
      .
    • -safe_cray_ptr: No aliasing for Cray pointers.
    • -save: Places variables, except those declared as AUTOMATIC, in static memory.
    • -stack_temps: Compiling with -nostack_temps instructs the compiler to allocate space in the heap for temporary arrays. -stack_temps tells the compiler to allocate space for temporary arrays on the runtime stack whenever possible. Default is -nostack_temps. Using -stack_temps may improve OpenMP performance. (needed only for version 7 compiler)
    • -static: Prevents linking with shared libraries. Use the static library instead. Use this option when both dynamic and static libraries exist in the same directory.
      Note: in MIPSpro f90, -static has a different meaning (statically allocates all local variables).
    • -traceback: Available in Version 8 compilers only.
      Tells the compiler to generate extra information in the object file to allow the display of source file traceback information at runtime when a severe error occurs. The default is -notraceback.
    • -u, -implicitnone: Sets IMPLICIT NONE by default
    • -V: Displays compiler version information.
    • -Vaxlib: Link with portability library
      -Vaxlib has been replaced by -lifport in version 8.
      Another option is to add 'USE IFPORT' to the source code.
    • -w: Suppresses all warning messages.
    • -WB: Issue a warning instead of an error for out-of-bounds array references
    • -zero: Implicitly initializes to zero all data that is uninitialized. Used in conjunction with -save.

  • Filename Extension:

    • filename.a: object library, passed to ld
    • filename.f, filename.ftn, filename.for: compiled by Intel Fortran Compiler; assumes fixed form source
    • filename.fpp: Fortran fixed form source, preprocessed by the Intel Fortran preprocessor fpp; then compiled by the Intel Fortran Compiler
    • filename.f90: Fortran 90/95 source, compiled by the Intel Fortran Compiler; free-form source
    • filename.F: Fortran fixed form source, passed to preprocessor (fpp) and then compiled by the Intel Fortran Compiler
    • filename.s: assembly file, passed to the Intel Itanium assembler
    • filename.o: compiled object file, passed to ld(1)

For more information, read 'man efc' or 'efc -help'.

SGI works closely with Intel on the specification of these compilers to ensure that they can take advantage of the Altix 3000 family architecture.


GNU Compilers

GNU compilers: C , Fortran 77

gcc-3.2.3 (default), gcc-3.3, and gcc-3.3.1 are available as loadable modules on palm.

A GNU compiler with Fortran extensions to support Fortran 95 is available from the Free Software Foundation.

| Top of Page |


Math Libraries

  • libimf.a
    Intel special-purpose math library functions, including some transcendentals.
    libimf.a is automaticaly linked by efc and ecc.
  • libm.a
    Math library compatible with GNU

Note: Specifying -lm on the link line results in symbol resolution from glibc's libm.

C/C++

The following C/C++ libraries are provided with the Intel compilers:

  • libguide.a, libguide.so: for support of OpenMP-based programs
  • libsvml.a: short vector math library
  • libirc.a: Intel's support for Profile-Guided Optimizations (PGO) and CPU dispatch
  • libimf.a, libimf.so: Intel's math library
  • libcprts.a, libcprts.so: Dinkumware C++ library
  • libunwind.a, libunwind.so: Unwinder library
  • libcxa.a, libcxa.so: Intel's runtime support for C++ feature

MKL

The Intel Math Kernel Library (MKL) intel-mkl.7.2.1.003 is installed on palm. MKL is includes highly optimized, thread-safe math routines for HPC science, engineering, and financial applications that require maximum performance on Intel processors.

Library Functionality

* Linear Algebra (BLAS and LAPACK)
* Linear Algebra (Direct and Iterative Sparse Solvers)
* Fast Fourier Transforms (FFTs)
* Vector Math Library
* Vector Statistical Library (random number generators)

info on using the library:

http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/219843.htm

SCSL

SCSL is a comprehensive collection of scientific and mathematical functions that have been optimized for use on the Altix 3000. The libraries include optimization of basic linear algebra subprograms (BLAS), a linear algebra package, signal processing functions such as fast Fourier transforms (FFTs), and liner filtering operations and other basic solver functions. More information can be found through 'man scsl'.

Note: MKL and SCSL are very similar in that they both provide scientific and mathematical routines such as BLAS and FFTs.

SCSL version(s) available on palm:

scsl-1.4.1.0
scsl-1.5.1.1

To use SCSL, link one of the following libraries:

-lscs
-lscs_mp (for multi-threaded programs)
-lscs_i8
-lscs_i8_mp


MPT

SGI Message Passing Toolkit is an optimized set of the MPI and SHMEM parallel programming libraries. These libraries implement an innovative "global pointer" construct that allows jobs to address both local and remote memory regions, crossing node boundaries without a performance penalty. Other features include:

  • MPI 1.2-compliant implementation
  • NUMAlink optimizations for single host
  • NUMAlink optimizations for multi-hosts
  • Optimized MPI collectives
  • MPI statistics
  • Automatic aborted job cleanup
  • MPI-2 capabilities
    1. MPI I/O
    2. One-sided communication PUT, GET, FENCE, LOCK/UNLOCK (ACCUMULATE in mpt 1.8)
    3. Replacements for deprecated MPI-1 data types
    4. C++ bindings
    5. Generalized requests
    6. MPI-2 attributes
  • SHMEM library
    1. Simple shared-memory interfaces
    2. One-sided "get" and "put" operations
      - less overhead and better performances
      - more natural interfaces for many applications
    3. High-performance collective operations, including reductions and broadcasts
    4. Remote global pointer capability
    5. Optimized implementations
  • Optimized MPI send/recv across partitions
  • MPI one-sided across partitions
  • SHMEM across partitions (in MPT 1.8)

Note: XPMEM is the driver that allows shared memory across partitions.

MPT versions available on palm:

    • mpt 1.9.1.0
    • mpt 1.10.1.0
    • mpt.1.11.0.0 (default)

A few tunable optimizations to try:

    • setenv MPI_STATS
    • MPI_BUFS_PER_PROC
    • MPI_BUFS_PER_HOST
    • MPI_BUFFER_MAX
    • MPI_DSM_CPULIST - to assign ranks to CPUs
    • MPI_DSM_VERBOSE - to display placement information
    • Use dplace for more explicit placement, for example:
      mpirun -np 4 dplace -s1 -c4-7 a.out
    • setenv MPI_DSM_PPM 1 (Linux in MPT 1.8) - allows use of only one process per node, useful for a memory bound code
    • PAGESIZE_DATA - use it when encountering lots of TLB misses
    • MPI_DSM_MUSTRUN or MPI_DSM_DISTRIBUTE (in MPT 1.8) - use it to pin CPUs
      Note: MPI_DSM_DISTRIBUTE is set in the PBS environment by default (Jan. 28, 2004).

Compiling MPI programs:

    • efc prog.f -lmpi
    • ecc prog.c -lmpi
    • g77 -I/usr/include prog.f -lmpi
    • gcc prog.c -lmpi

Note: The Intel 7 versions of compiler do not recognize the environmental variables used in modules. Fortunately, a fix was implemented at our site. If you ever need to use the -I option (which adds a directory to include file search path) and the -L option (which instructs linker to search the specified path for the library) in conjunction with -lmpi, use the following:

%efc prog.f -I/opt/sgi/mpt/1.9.1.0/include -L/opt/sgi/mpt/1.9.1.0/lib -lmpi

Running MPI Programs:

    • Running on a single host
      mpirun -np 32 a.out
    • Running on multiple hosts/partitions
      mpirun host1 8 , host2 4 a.out

Note: -lmpi requires that an executable be launched with mpirun

  • FFIO

    This library allows programmers to control specifics of I/O transfers to maximize performance. Consult man intro_ffio for more information about FFIO.

  • CPU sets and memory placement

    These features enable system services and applications to specify which CPUs they may be scheduled on and from which nodes they may allocate memory.

  • Array Services

    The Array Services software package contains a library, a system daemon, and a set of commands that enable developers to define and administer cluster configurations and manage the set of jobs running on the cluster.

    | Top of Page |


 


FirstGov logo + Privacy Policy and Important Notices
+ Sciences and Exploration Directorate
+ CISTO
NASA Curator: Mason Chang,
NCCS User Services Group (301-286-9120)
NASA Official: Phil Webster, High-Performance
Computing Lead, GSFC Code 606.2