cray-lgdb OverviewSee the lgdb manpage for more information by running:
module load cray-lgdb man lgdbThe following information is available by running
module help cray-lgdb
----------- Module Specific Help for 'cray-lgdb/2.4.5' ------------ The modulefile defines the system paths and variables for the product cray-lgdb. LGDB 2.4.5 ========== Release Date: -------------- 2015-09-03 Product Description: -------------------- lgdb is a GDB-based parallel debugger used to debug applications compiled with CCE, PGI, GNU, and Intel Fortran, C and C++ compilers. It allows programmers to either launch an application or attach to an already running application that was launched with aprun. Additionally, it provides comparative debugging technology that enables programmers to compare data structures between two executing applications. Comparative debugging should be used in conjunction with the CCDB GUI tool accessed by loading the cray-ccdb module. Some features of lgdb include: * Command line parallel debugger allows for launching/attaching applications via aprun. * Utilizes process sets to operate on a subset of application ranks. * gdb like feel, also implements a gdbmode to enable a true parallel gdb. * OpenACC debugging support. * Workload manager support. Alps, Cray hybrid slurm, and native slurm is supported. Purpose: --------- This is feature release. 1. Added support for CUDA 70. 2. Upgraded gdb to latest versions containing multiple bugfixes. Product and OS Dependencies: ----------------------------- The Cray lgdb 2.4.5 release is supported on the following Cray systems running Cray Linux Environment(CLE) operating system - Cray XE and XK systems running CLE 5.1 or later - Cray XC series systems with CLE version 5.1 or later - Native SLURM is supported with version 14.11.0 or later Documentation: --------------- Type `man lgdb` with the cray-lgdb module loaded to read the lgdb(1) man page. Simple usage examples are provided at the end. Also, type `help` at the lgdb command line for more information on commands. Installation instructions: -------------------------- Installation instructions for CLE 6.0 and later: ================================================ rpm -ivh cray-lgdb-2.4.5-0.x86_64.rpm To make lgdb 2.4.5 the default version of lgdb, execute: /opt/cray/pe/admin-pe/set_default_files/set_default_cray-lgdb_2.4.5 Installation instructions for CLE 5.2 or 5.1: ============================================= rpm -ivh --prefix=/opt/cray cray-lgdb-2.4.5-0.x86_64.rpm To make lgdb 2.4.5 the default version of lgdb, execute: /opt/cray/admin-pe/set_default_files/set_default_cray-lgdb_2.4.5 Certain components, files or programs contained within this package or product are Copyright 2007-2015 Cray Inc. All rights reserved. ============================================= To re-display cray-lgdb/2.4.5 release information, type: less /opt/cray/lgdb/2.4.5/release_info ==============================================
UsageLoad the lgdb module with:
module load cray-lgdbLaunching and debugging a single rank application.
$ lgdb --pes=0 --command="aprun -n1 ./myapp" --lib=/lib64/libthread_db.so.1Since this is a single rank application, you specify 0 for the rank that you will be attaching a gdbserver to. The
[--lib=path_to_library]is optional and only needs to be specified for certain systems (
x86_64 Linux) where the
libthread_dblibrary is necessary for running lgdb.
$ lgdb --pes=0 --command="aprun -n1 ./myapp" --helper=x2-lgdbd --gdbserver=x2-gdbserverThis example shows additional options that can be used to tell lgdb that we will be launching gdbservers on a different architecture than the one we are on. Attaching to a single rank application.
$ lgdb --pes=0 --pid=aprun_pid --lib=/lib64/libthread_db.so.1