Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can check the versions installed in Gadi with a module query:

Code Block
languagebash
$ module avail totalview

We normally recommend using the latest version available and always recommend to specify the version number with the module command:

Code Block
languagebash
$ module load totalview/2020.1.13

...

Compile the application/program as normal but with the -g option added. Add the -O0 flag with the Intel compiler. We also recommend that you do not run with optimisation turned on, flags such as -fast.

Code Block
languagebash
# Load module, always specify version number.
$ module load openmpi/4.0.2

$ mpicc -g -o mpi_program mpi_program.c -L$TVLIB -ltvheap_64

...

Also note that you must include -l storage=scratch/ab12+gdata/yz98 to the qsub command below if the job needs access to /scratch/ab12/ and /g/data/yz98/. Details on https://opus.nci.org.au/display/Help/PBS+Directives+Explained.

Code Block
languagebash
$ qsub -I -X -P a00 -q normal -l ncpus=4,mem=10GB,jobfs=30GB,walltime=00:30:00,wd

...

When the interactive job starts on Gadi, execute the followings commands:

Code Block
languagebash
# Load modules, always specify version number.
$ module load openmpi/4.0.2
$ module load totalview/2020.1.13

$ totalview

...

Adding a new program (serial or parallel) to create a new debugging session only needs the binary executable. However, to attach a running program to create a new debugging session, you first need to run the program like the following way first:

Code Block
languagebash
$ mpirun -np $PBS_NCPUS mpi_program

...

If a program is crashing and you want to use the debugger for traceback, ensure that you compile with the compile flag -g and unset your shell corefile limit. This should be done before the application/program executes.

Code Block
languagebash
# In bash
$ ulimit -c unlimited

# In csh/tcsh
$ limit coredumpsize unlimited

...