README and documentation source update#9787
Conversation
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
- Clarified the description of host-side APIs in C++ and Python. - Adjusted language for linking requirements and compiler standards. - Enhanced clarity in examples and descriptions of core data structures and their locations. - Improved consistency in terminology and phrasing throughout the document. Signed-off-by: [Your Name] [Your Email]
- Excluded specific RST files from Sphinx documentation build to prevent warnings. - Updated descriptions in system_requirements.rst for clarity on supported platforms. - Clarified memory-to-memory (M2M) DMA support in xrt_native_apis.rst. Signed-off-by: [Your Name] [Your Email]
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the XRT documentation set to emphasize current AMD NPU + FPGA workflows, refreshes the generated API reference structure, and prunes/filters legacy platform docs from the published Sphinx output.
Changes:
- Refactors the documentation index/toctrees and adds new pages for HIP runtime APIs and
aiebu. - Updates Native API documentation to include newer concepts (context, ctrlcode/ELF, runlists) and refreshes examples/text.
- Adjusts the documentation build pipeline (Sphinx/Doxygen/CMake + workflow checks) and removes/filters obsolete docs/assets.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| src/runtime_src/doc/toc/xrt-smi.rst | Updates xrt-smi command documentation formatting and content. |
| src/runtime_src/doc/toc/xrt_native.main.rst | Reorganizes Doxygen-driven C++ API reference sections (device/context/ctrlcode/runlist, etc.). |
| src/runtime_src/doc/toc/xrt_native_apis.rst | Major refresh of narrative Native API documentation and examples for modern flows. |
| src/runtime_src/doc/toc/xrt_hip_runtime_api.rst | Adds a new page enumerating HIP runtime APIs supported by XRT. |
| src/runtime_src/doc/toc/system_requirements.rst | Updates supported host/platform requirements, adding NPU host notes. |
| src/runtime_src/doc/toc/platforms.rst | Updates platform overview naming/wording. |
| src/runtime_src/doc/toc/install.rst | Updates install guidance and adds deployment vs development package notes. |
| src/runtime_src/doc/toc/index.rst | Reworks top-level doc structure/toctrees and contact info; adds HIP + aiebu links. |
| src/runtime_src/doc/toc/conf.py | Updates Sphinx configuration (extensions/theme/static handling, output configs). |
| src/runtime_src/doc/toc/aiebu.rst | Adds a new page describing AIE Binary Utilities (aiebu). |
| src/runtime_src/doc/toc/_static/theme_overrides.css | Removes old RTD-theme override CSS. |
| src/runtime_src/doc/CMakeLists.txt | Changes doc build pipeline (Doxygen inputs, Sphinx excludes, kernel-doc generation removal). |
| src/runtime_src/core/include/xrt/xrt_device.h | Minor Doxygen comment cleanup for xrt::device. |
| src/runtime_src/core/include/xrt/xrt_bo.h | Minor Doxygen comment cleanup for xrt::bo. |
| README.rst | Updates top-level repo README branding and pointers to docs/resources. |
| .github/workflows/binary_check.yml | Updates content-type checks to allow SVG (and related) content types. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| xrt-smi validate | ||
| ~~~~~~~~~~~~~~~ | ||
| ~~~~~~~~~~~~~~~_ |
|
|
||
| - <user bdf> : The Bus:Device.Function of the device of interest | ||
|
|
||
| - The ``--run`` (or ``-r``) specifies the perticular test(s) to execute |
| Install XRT Pre-requests on Deployment Server | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| XRT requires EPEL to install dependencies during installation process. Please use the folloing steps to install EPEL on your system if it hasn't been installed. | ||
| XRT requires EPEL to install dependencies during installation process. Please use the folloing steps to install EPEL on your system if it hasn't been installed. |
|
|
||
| sudo apt install --reinstall ./xrt_<version>.deb | ||
|
|
||
| Starting wirh 2026.1 XRT comes with separate *deployment* and *development* packages. The deployment package is sufficient to execute a precompiled XRT application. However, the development package is required to compile an XRT application. The development package includes XRT header files, CMake package files for discovery by CMake based appliation build environments, and XRT dynamic/static libraries for linking. |
| html_theme = 'xilinx' | ||
| html_theme_path = ["./_themes"] | ||
|
|
||
| # Theme options are theme-specific and customize the look and feel of a theme | ||
| # further. For a list of options available for each theme, see the | ||
| # documentation. | ||
| # | ||
| html_logo = '_static/xilinx-header-logo.svg' | ||
| html_theme_options = { | ||
| 'logo_only': True, | ||
| 'logo_only': False, | ||
| 'style_nav_header_background': 'black', | ||
| } | ||
|
|
||
| # Add any paths that contain custom static files (such as style sheets) here, | ||
| # relative to this directory. They are copied after the builtin static files, | ||
| # so a file named "default.css" will overwrite the builtin "default.css". | ||
| html_static_path = ['_static'] | ||
| html_css_files = ['_static/custom.css'] |
| auto runt = krn(buf_a, buf_b, scalar_1); | ||
| // wait for 100 ms | ||
| while (1) { | ||
| try { | ||
| auto result = runt.wait2(100); | ||
| } catch (std::exception &ex) { | ||
| std::cout << ex.what(); | ||
| } | ||
| } |
| aiebu | ||
| ===== | ||
|
|
||
| AIE Binary Utilities (aiebu) provides utilities and libraries to work with AIE ctrlcode. library and utilities to work with AIE ctrlcode. aiebu provides ctrlcode assembler and disassembler for aie2p, aie2ps, and aie4. aiebu also defines the ctrlcode ELF format and ctrlcode ISA. |
| U280, VCK190 and MPSoC based embedded platforms. XRT provides a standardized software | ||
| interface to Xilinx FPGA. The key user APIs are defined in | ||
| `xrt.h <src/runtime_src/core/include/xrt.h>`_ header file. | ||
| Flexible RunTime (XRT) is implemented as a combination of user-space and kernel driver components. It provides an |
| continue; | ||
| fi | ||
| if ! $(curl -s -L -I $f | grep "content-type:" | tail -1 | grep -q "text/"); then | ||
| if ! $(curl -s -L -I $f | grep "content-type:" | tail -1 | grep -qiE 'text/|image/svg[+]xml'); then |
There was a problem hiding this comment.
This is incremental grep switch change.
| +----------------------+---------------------+------------------------------------------------+ | ||
| | Run-list | ``xrt::runlist`` | ``#include <xrt/experimental/xrt_kernel.h>`` | | ||
| +----------------------+---------------------+------------------------------------------------+ | ||
| | Context | ``xrt::hw_context`` | ``#include <xrt/experimental/xrt_xclbin.h>`` | |
| aiebu | ||
| ===== | ||
|
|
||
| AIE Binary Utilities (aiebu) provides utilities and libraries to work with AIE ctrlcode. library and utilities to work with AIE ctrlcode. aiebu provides ctrlcode assembler and disassembler for aie2p, aie2ps, and aie4. aiebu also defines the ctrlcode ELF format and ctrlcode ISA. |
There was a problem hiding this comment.
"library and utilities to work with AIE ctrlcode." Should be removed?
| ================================= | ||
|
|
||
| `Xilinx Runtime library (XRT) <https://www.xilinx.com/products/design-tools/vitis/xrt.html>`_ is an open-source easy to use software stack that facilitates management and usage of FPGA/ACAP devices. Users use familiar programming languages like C/C++ or Python to write host code which uses XRT to interact with FPGA/ACAP device. XRT exports well defined set of software APIs that work across PCIe based datacenter platforms and ZYNQ UltraScale+ MPSoC/Versal ACAP based embedded platforms. XRT is key component of `Vitis™ <https://www.xilinx.com/products/design-tools/vitis/vitis-platform.html>`_ and `Alveo™ <https://www.xilinx.com/products/boards-and-kits/alveo.html>`_ solutions. | ||
| `FleXible RunTime library (XRT) <https://www.xilinx.com/products/design-tools/vitis/xrt.html>`_ is an open-source easy to use software stack that facilitates management and usage of FPGA/ACAP devices. Users use familiar programming languages like C/C++ or Python to write host code which uses XRT to interact with FPGA/ACAP device. XRT exports well defined set of software APIs that work across PCIe based datacenter platforms and ZYNQ UltraScale+ MPSoC/Versal ACAP based embedded platforms. XRT is key component of `Vitis™ <https://www.xilinx.com/products/design-tools/vitis/vitis-platform.html>`_ and `Alveo™ <https://www.xilinx.com/products/boards-and-kits/alveo.html>`_ solutions. |
There was a problem hiding this comment.
Do we want to mention NPU device?
There was a problem hiding this comment.
The platforms .rst has been obsoleted. We do not include it in the documentation.
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
Problem solved by the commit
Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered
NA
How problem was solved, alternative solutions (if any) and why they were rejected
Manual and Cursor based documentation updates
Risks (if any) associated the changes in the commit
NA
What has been tested and how, request additional testing if necessary
Regenerated the documentation and visually validated the changes
Documentation impact (if any)
Yes -- upgraded documents!