FAQ: Building and Running Code

  1. How do I write a code for Jet?
  2. What tools are available on Jet?
  3. How do I request additional software packages to be installed?
  4. How do I use --tombstone option for mpirun on ijet?
  5. Is it possible to use gdb (GNU Project Debugger) with MPI runs?

Q: How do I write a code for Jet?

A: Although serial jobs can be run on ejet and iJet, to take advantage of its capabilities it is necessary to write your application to use distributed memory as either a parallel or distributed application. MPI is generally used for this. FSL provides a very powerful tool called the Scalable Modeling System (SMS) to assist it the porting of serial codes into parallel using MPI.

It should be noted that writing parallel is quite difficult and the Jet management team does not have the resources necessary in teaching users how to do this. However, we can provide some pointers on how to begin this process.

Here are some useful links:

MPI - http://www-unix.mcs.anl.gov/mpi/MPI
SMS - http://www-ad.fsl.noaa.gov/ac/sms.html

Also, the books:

http://www.netlib.org/utk/papers/mpi-book/mpi-book.html
http://www-unix.mcs.anl.gov/mpi/usingmpi/usingmpi-1st/

Top

Q: What tools are available on Jet?

A: -- Compute platform:

- Ejet Compilers: Intel Fortran/C++ (8.1), Portland Group Fortran/C++, gcc
- Ijet Compilers: Intel Fortran/C++ (7.1 and 8.0), Portland Group Fortran/C++, gcc
- Interpreters: perl, ruby, python - shells: bash, tcsh, ksh
- Parallel tools: MPICH, SMS
- Data Format Libraries: NetCDF, HDF5
- Math libraries: BLAS, Lapack, FFT

--Visualization Packages

- IDL
- NCARGraphics

Top

Q: How do I request additional software packages to be installed?

A: Send a message to hpcshelp.fsl@noaa.gov detailing your request. The HPCS Management Team will then review your request.

Top

Q: How do I use --tombstone option for mpirun on ijet?

A: To do the equivalent, change change mpirun command to: mpirun -np /usr/local/sbin/gdb_tombstone_wrapper "exename"

Top

Q: Is it possible to use gdb (GNU Project Debugger) with MPI runs?

A: Compiling with the -g -traceback (Intel) usually provides enough information about where the crash occurred. Currently we do not have the tools to do interactive debugging for parallel code. Intel Compiler - compile with -g -traceback PGI Compiler - compile with -g Then run the code with: mpirun -np XX /usr/local/sbin/gdb_tombstone_wrapper

Top