IPRC sgi Altix


The IPRC sgi Altix has 48 cpu (1.3 Ghz) and 48 GB of memory. Each cpu has a peak speed of 5.2 Gflops.
The operating system is Linux, a free Unix version developed by Linus Torvalds, with some enhancements by sgi.

Compiling

Before considering running the code in parallel it should be optimized for a single cpu. Try a subset for of the following options to see if it increased the performance of the code:

ifort -tpp2 -ipo -O3 -IPF_fma -IPF_fltacc -align mycode.f

The default optimization level is -O2. Check the results if you use -O3. More optimization options are available. Consult the Intel compiler guide.

Parallelization

Compiling a code with OpenMP directives requires

ifort -openmp mycode.f

in addition to other options. Without this option the directives are ignored, but the code is compiled for a single cpu. Note that the -mp option is unrelated to parallel coding (-unlike on the sgi 2000/3000), but about precision.

Autoparallelization

Parallelization of a code may speed up the execution of a code. Compile your fortran code using

ifort -O3 -parallel mycode.f

where the highest possible optimization (- O3) is shown in the examples (again, check your results using this option!).

For further guidance on running parallel code see our brief parallelization hints.

When running a parallel job using OpenMP on the Altix use

setenv OMP_NUM_THREADS 4

to run on 4 cpus. To avoid switching between cpus, it is possible to ask for specific cpus using dplace:

nohup dplace -x6 -c0-3 mycode > run.log &

will run the executable mycode on cpu 0 to 3 as a background job. The nohup makes sure that you can log out without the job dying. The example is for an OpenMP job. For MPI jobs replace -x6 with -s1. Check which cpus already are assigned to a job by using the command dplace -q. For additional information see sgi Linux tuning

Data transfer between sgi Altix and Sun or sgi 2000

The Altix has little endian byte order while the other sgis and Suns have big endian ordering. To read and write all binary files as big endian, use the command

setenv F_UFMTENDIAN big

before running a job.

For additional help using the Altix:

Altix Software (at NASA Advanced Supercomputing)


Home


Tommy G. Jensen      
tjensen@hawaii.edu

Last update: March 31, 2005