...
You can check the versions installed in Gadi with a module
query:
Code Block | ||
---|---|---|
| ||
$ 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 | ||
---|---|---|
| ||
$ 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 | ||
---|---|---|
| ||
# 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 | ||
---|---|---|
| ||
$ 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 | ||
---|---|---|
| ||
# 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 | ||
---|---|---|
| ||
$ 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 | ||
---|---|---|
| ||
# In bash $ ulimit -c unlimited # In csh/tcsh $ limit coredumpsize unlimited |
...