ROCm Debugger (ROCgdb)
======================
-This is ROCgdb, the ROCm source-level debugger for Linux, based on GDB, the GNU
-source-level debugger. It includes support for heterogenous debugging on the
-ROCm platform of an x86-based host architecture together with the AMD
-commercially available GPU architectures supported by the AMD Debugger API which
-is included with the ROCm release as the ROCdbgapi library.
+The ROCm Debugger (ROCgdb) is the ROCm source-level debugger for Linux, based on
+the GNU Debugger (GDB). It enables heterogenous debugging on the ROCm platform
+of an x86-based host architecture along with AMD GPU architectures supported by
+the AMD Debugger API Library (ROCdbgapi). The AMD Debugger API Library
+(ROCdbgapi) is included with the ROCm release.
-All standard GDB commands can be used for both CPU and GPU code debugging. In particular:
+The current ROCm Debugger (ROCgdb) is an initial prototype that focuses on
+source line debugging and does not provide symbolic variable debugging
+capabilities. The user guide presents features and commands that may be
+implemented in future versions.
-- The ``info threads`` command lists both CPU threads and GPU waves.
-- The ``info sharedlibrary`` command lists both loaded CPU and GPU code objects.
-- The new ``info agents`` command lists the heterogenous agents once the program
- has started.
+For more information about ROCm, see:
-The ``_wave_id`` convenience variable can be used when the focused thread is a
-GPU wave. It returns a string with the following format ``x,y,z/w`` where `x`,
-``y``, and ``z`` are the grid position of the wave's work-group in the dispatch,
-and ``w`` is the wave's number within the work-group.
+- https://github.com/RadeonOpenCompute/ROCm
-For more information about ROCm and ROCgdb, please refer to the Release Notes
-which includes current restrictions:
+You can use the standard GDB commands for both CPU and GPU code debugging. For
+more information about ROCgdb, refer to the *ROCgdb User Guide* which is
+installed at:
-- https://github.com/RadeonOpenCompute/ROCm
+- ``/opt/rocm/share/info/gdb.info`` as a texinfo file
+- ``/opt/rocm/share/doc/gdb/gdb.pdf`` as a PDF file
+
+You can refer to the following chapters in the *ROCgdb User Guide* for more
+specific information about debugging heterogenous programs on ROCm:
-For more information about GDB, please refer to the README file in this folder
-or check the GDB home page at:
+- *Debugging Heterogeneous Programs* provides general information about
+ debugging heterogenous programs.
+- *Configuration-Specific Information > Architectures > AMD GPU* provides
+ specific information about debugging heterogenous programs on ROCm with
+ supported AMD GPU chips. This section also lists the features, commands, and
+ known issues that may be implemented and resolved in future releases.
+
+For more information about the GNU Debugger (GDB), refer to the ``README`` file
+in this folder or check the GNU Debugger (GDB) web site at:
- http://www.gnu.org/software/gdb
libbabeltrace-dev libbabeltrace-ctf-dev
````
-4. For Centos 7.6 the following adds the needed packages:
+4. For CentOS 7.6 the following adds the needed packages:
````shell
yum install -y epel-release centos-release-scl
- yum install -y bison flex gcc make texinfo gcc-c++ \
+ yum install -y bison flex gcc make texinfo texinfo-tex gcc-c++ \
zlib-devel expat-devel python-devel xz-devel \
libbabeltrace-devel ncurses-devel
````
- ``build/gdb/gdb``
+The texinfo *User Manual* will be placed in:
+
+- ``build/gdb/doc/gdb.info``
+
To install ROCgdb:
````shell
- ``librocm-dbgapi.so.0``
- ``libamd_comgr.so.1``
+
+The PDF *User Manual* can be generated with:
+
+````shell
+make pdf
+````
+
+The generated PDF will be placed in:
+
+- ``build/gdb/doc/gdb.pdf``