The AMD Debugger API is a library that provides all the support necessary for a debugger and other tools to perform low level control of the execution and inspection of execution state of AMD's commercially available GPU architectures.
For more information about the AMD ROCm ecosystem, see:
The ROCdbgapi library can be built on Ubuntu 18.04, Ubuntu 20.04, Centos 8.1, RHEL 8.1, and SLES 15 Service Pack 1.
Building the ROCdbgapi library has the following prerequisites:
A C++17 compiler such as GCC 7 or Clang 5.
AMD Code Object Manager Library (ROCcomgr) which can be installed as part of
the AMD ROCm release by the comgr
package.
ROCm CMake modules which can be installed as part of the AMD ROCm release by
the rocm-cmake
package.
For Ubuntu 18.04 and Ubuntu 20.04 the following adds the needed packages:
apt install gcc g++ make cmake doxygen graphviz texlive-full
NOTE: The doxygen
1.8.13 that is installed by Ubuntu 18.04 has a bug
that prevents the PDF from being created. doxygen
1.8.11 can be built
from source to avoid the issue.
For CentOS 8.1 and RHEL 8.1 the following adds the needed packages:
yum install -y gcc gcc-g++ make cmake doxygen graphviz texlive \
texlive-xtab texlive-multirow texlive-sectsty texlive-tocloft \
texlive-tabu texlive-adjustbox
NOTE: The doxygen
1.8.14 that is installed by CentOS 8.1 and RHEL 8.1,
has a bug that prevents the PDF from being created. doxygen
1.8.11 can be
built from source to avoid the issue.
For SLES 15 Service Pack 15 the following adds the needed packages:
zypper in gcc gcc-g++ make cmake doxygen graphviz texlive-scheme-medium \
texlive-hanging texlive-stackengine texlive-tocloft texlive-etoc \
texlive-tabu
An example command-line to build the ROCdbgapi library on Linux is:
cd rocdbgapi
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install ..
make
You may substitute a path of your own choosing for CMAKE_INSTALL_PREFIX
.
The built ROCdbgapi library will be placed in:
build/include/amd-dbgapi.h
build/librocm-dbgapi.so*
An example command-line to generate the HTML and PDF library documentation is:
make doc
The generated ROCdbgapi library documentation is put in:
doc/html/index.html
doc/latex/refman.pdf
To install the ROCdbgapi library and documentation:
make install
The installed ROCdbgapi library and documentation will be placed in:
../install/include/amd-dbgapi.h
../install/lib/librocm-dbgapi.so*
../install/share/amd-dbgapi/LICENSE.txt
../install/share/amd-dbgapi/README.md
../install/share/html/amd-dbgapi/index.html
../install/share/doc/amd-dbgapi/amd-dbgapi.pdf
To use the ROCdbgapi library, the ROCcomgr library must be installed. This can
be installed as part of the AMD ROCm release by the comgr
package:
libamd_comgr.so.1
The ROCdbgapi library requires that the ROCr library is loaded in the inferior
to enable AMD GPU debugging. This can be installed as part of the AMD ROCm
release by the hsa-rocr-dev
package:
libhsa-runtime64.so.1
You can refer to the following sections in the AMD Debugger API Specification documentation for:
The ROCdbgapi library is compatible with the following interface versions:
KFD_IOCTL_MAJOR_VERSION
and KFD_IOCTL_MINOR_VERSION
in
src/linux/kfd_ioctl.h
which conform to semver.KFD_IOCTL_DBG_MAJOR_VERSION
and KFD_IOCTL_DBG_MINOR_VERSION
in
src/linux/kfd_ioctl.h
which conform to semver.ROCR_RDEBUG_VERSION
in src/rocr_rdebug.h
.s_gfxip_lookup_table
in src/os_driver.cpp
.The information contained herein is for informational purposes only and is subject to change without notice. While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or other products described herein. No license, including implied or arising by estoppel, to any intellectual property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD’s products are as set forth in a signed agreement between the parties or in AMD’s Standard Terms and Conditions of Sale.
AMD®, the AMD Arrow logo, ROCm® and combinations thereof are trademarks of Advanced Micro Devices, Inc. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. PCIe® is a registered trademark of PCI-SIG Corporation. RedHat® and the Shadowman logo are registered trademarks of Red Hat, Inc. www.redhat.com in the U.S. and other countries. SUSE® is a registered trademark of SUSE LLC in the United Stated and other countries. Ubuntu® and the Ubuntu logo are registered trademarks of Canonical Ltd. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。