# Introduction to the DDT debugger on Bi and Nebula ## Schedule Please ask questions live or write them below. ### The following demonstrations are planned * Simple example, simple launch * Build and debug CloverLeaf (deeper look into DDT functions) * Alternate launch strategy (DDT on login node + "mpprun -ddtcon") * Remote Launch (DDT on your laptop or workstation) ## Write you live-questions here: Q:Can one compile with any compiler (gfortran)? A:In principle, yes. However for MPI code, NSC has so far only tested and integrated the Intel environment. Comment (UF): GCC+OpenMPI would be important for the EC-Earth development, since we have problems with IntelMPI and OpenIFS at the moment. Q:(UF) I noticed that `mpprun -ddtcon` is available in bi, but not on tetralith. Is there a reason for this and will the environments be sync'd? (Note that `ddt --connect` works on tetralith as well) A:Yes, we will update `mpprun` on Tetralith to support `mpprun -ddtcon`! (UF) Great, thanks! Q:(UF) MPI message queues have not been working in previous versions of DDT @NSC. Would be interesting to know if there is a chance to get that feature in recent versions (IntelMPI and/or OpenMPI) A:I would hope that it is something we can get to work. At this time it's unclear to me what exactly is required for it to work. We did try to investigate this initially with the vendor. (UF): I just see in the DDT21.0.1 doc: *ArmĀ® Forge is unable to interoperate with the Intel MPI 2018 and 2019 message queue debugging.* ## Resource links (optional follow along material) ### Example application (CloverLeaf) https://proxyapps.exascaleproject.org/app/cloverleaf/ #### Howto checkout and build ``` git clone https://github.com/UK-MAC/CloverLeaf cd CloverLeaf/ git submodule init git submodule update cd CloverLeaf_MPI module load buildenv-intel/2018a-eb make COMPILER=INTEL DEBUG=1 ``` ### DDT client download for remote access No registration or login required. https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge Note: the versions must match (for example, I'm demonstrating with version 21.0.1 on both my laptop and on the HPC system) ### DDT user manual This is the online version but you can also easily open it from the GUI when working with the system. https://developer.arm.com/documentation/101136/2101/DDT ## Launch options demonstrated 1) simple direct launch in "interactive": ``` $ interactive -n 32 -t 60 ... $ module load arm-DDT/21.0.1 $ mpprun -ddt binary_with_debuginfo.x ``` 2) DDT on login node and "mpprun -ddtcon/--allinea-ddt-connect" ``` # in interactive or in batch-scripts module load arm-DDT/21.0.1 mpprun -ddtcon binary_with_debuginfo.x ``` 3) DDT on user laptop or workstation With ssh setup working, start DDT on your laptop or workstation. Configure the "Remote Launch" on the start page. You will have to add username and hostname (for example sm_fobar@bi2.nsc.liu.se) and path to the DDT install (for example /software/sse/manual/allinea-DDT/21.0.1 found by running which ddt on the HPC system). Activate the remote launch and now you can launch and debug applications in the same way as #2 above.