ARM software: Difference between revisions

(Created page with "= Introduction = [https://www.arm.com/products/development-tools/hpc-tools/cross-platform/forge/ddt Allinea's DDT] (now called ARM DDT after Allinea was acquired by ARM) is a...")
 
Line 5: Line 5:
This software is available on Graham as two separate modules - allinea-cpu (for CPU debugging and profiling) and allinea-gpu (for GPU or mixed CPU/GPU debugging). As this is a GUI application, one has to login to Graham using "-Y" or "-X" ssh switch, for proper X tunelling. For Windows terminals, we recommend using a free program [https://mobaxterm.mobatek.net/download-home-edition.html MobaXterm (Home Edition)] which has everything you need to run DDT - SSH client and X Windows client (also SFTP, VNC and many other services). For Mac you need to install a free X WIndows client [https://www.xquartz.org/ XQuartz].
This software is available on Graham as two separate modules - allinea-cpu (for CPU debugging and profiling) and allinea-gpu (for GPU or mixed CPU/GPU debugging). As this is a GUI application, one has to login to Graham using "-Y" or "-X" ssh switch, for proper X tunelling. For Windows terminals, we recommend using a free program [https://mobaxterm.mobatek.net/download-home-edition.html MobaXterm (Home Edition)] which has everything you need to run DDT - SSH client and X Windows client (also SFTP, VNC and many other services). For Mac you need to install a free X WIndows client [https://www.xquartz.org/ XQuartz].


Both DDT and MAP are normally used interactively through their GUI, which on Graham is accomplished via "salloc" command (see below for the details). MAP can also be used non-interactively in a batch mode, in which case it can be submitted to the scheduler via sbatch command.
The current license limits the CPU DDT/MAP use to maximum 512 cpu cores across all users at any given time. For GPU DDT the limit is 8 GPUs.
= Usage =
== CPU-only (non-CUDA) code ==
== CPU-only (non-CUDA) code ==


Line 15: Line 21:
  module load allinea-cpu
  module load allinea-cpu


The above command can fail with a suggestion to load an older version of OpenMPI first. If that happens, you should reload the OpenMPI module with the suggested command, and then load the allinea-cpu module:
The above command will likely fail with a suggestion to load another (older) version of OpenMPI first. If that happens, you should reload the OpenMPI module with the suggested command, and then load the allinea-cpu module:


  module load openmpi/2.0.2
  module load openmpi/2.0.2
  module load allinea-cpu
  module load allinea-cpu


You can then run the ddt or map command as usual:
You can then run the ddt or map command as:


  ddt path/to/code
  ddt path/to/code
Line 48: Line 54:
  module load cuda
  module load cuda


You can then run the ddt command as usual:
You can then run the ddt command as:


  ddt path/to/code
  ddt path/to/code
Line 54: Line 60:
When done, exit the shell (this will terminate the allocation).
When done, exit the shell (this will terminate the allocation).


== Known issues ==
= Known issues =


=== MPI ===
=== MPI ===
cc_staff
238

edits