Xilinx/XRT

Details: bins/1502_00/validate.xclbin not available. Skipping validation.

Opened this issue · 1 comments

  • xdna-driver version: git 2157a343cd25c139e34e63837f974c6d6c7eb1a9

  • XRT version: release 202410.2.17.319

  • output form #xbutil --verbose validate -d 0000:c7:00.

Verbose: Enabling Verbosity
------------------------------------------------------------
                        EARLY ACCESS
        This release of xbutil contains early access
         experimental features which may have bugs.
------------------------------------------------------------
Validate Device           : [0000:c7:00.1]
    Platform              : RyzenAI-npu1
    Performance Mode      : Default
-------------------------------------------------------------------------------
Test 1 [0000:c7:00.1]     : verify

    Description           : Run end-to-end latency and throughput test on NPU
    Details               : bins/1502_00/validate.xclbin not available. Skipping
                            validation.
    Test Status           : [SKIPPED]
-------------------------------------------------------------------------------
Test 2 [0000:c7:00.1]     : df-bw

    Description           : Run bandwidth test on data fabric
    Details               : bins/1502_00/validate.xclbin not available. Skipping
                            validation.
    Test Status           : [SKIPPED]
-------------------------------------------------------------------------------
Test 3 [0000:c7:00.1]     : tct-one-col

    Description           : Measure average TCT processing time for one column
    Details               : bins/1502_00/validate.xclbin not available. Skipping
                            validation.
    Test Status           : [SKIPPED]
-------------------------------------------------------------------------------
Test 4 [0000:c7:00.1]     : tct-all-col

    Description           : Measure average TCT processing time for all columns
    Details               : bins/1502_00/validate.xclbin not available. Skipping
                            validation.
    Test Status           : [SKIPPED]
-------------------------------------------------------------------------------
Test 5 [0000:c7:00.1]     : gemm

    Description           : Measure the TOPS value of GEMM operations
    Details               : bins/1502_00/ not available. Skipping validation.
    Test Status           : [SKIPPED]
-------------------------------------------------------------------------------
Validation completed

How does xrt_core::environment::platform_path(file_path).string(); deal with follows paths ?

  • xdna-driver is installed like this

dir /lib
dir /lib/firmware
dir /lib/firmware/amdnpu
dir /lib/firmware/amdnpu/1502_00
obj /lib/firmware/amdnpu/1502_00/npu.sbin d41d8cd98f00b204e9800998ecf8427e 1718285411
dir /lib/modules
dir /lib/modules/6.8.8-xdna+
dir /lib/modules/6.8.8-xdna+/kernel
dir /lib/modules/6.8.8-xdna+/kernel/drivers
dir /lib/modules/6.8.8-xdna+/kernel/drivers/accel
dir /lib/modules/6.8.8-xdna+/kernel/drivers/accel/amdxdna
obj /lib/modules/6.8.8-xdna+/kernel/drivers/accel/amdxdna/amdxdna.ko.zst 14792e9d1fb0d7cb1578b79c52b872d4 1718285411
dir /usr
dir /usr/libexec
dir /usr/libexec/xrt
dir /usr/libexec/xrt/lib
obj /usr/libexec/xrt/lib/libxrt_driver_xdna.so.2.17.0 6676f7c7c04281dcc5fd9564a6c0d223 1718285412
sym /usr/libexec/xrt/lib/libxrt_driver_xdna.so.2 -> libxrt_driver_xdna.so.2.17.0 1718285411
sym /usr/libexec/xrt/lib/libxrt_driver_xdna.so -> libxrt_driver_xdna.so.2 1718285411
dir /usr/libexec/xrt/amdxdna
obj /usr/libexec/xrt/amdxdna/version.json 1db27443d264ee63148786002ff89e08 1718285384
dir /usr/libexec/xrt/amdxdna/bins
dir /usr/libexec/xrt/amdxdna/bins/dpu_sequence
obj /usr/libexec/xrt/amdxdna/bins/dpu_sequence/tct_4col.txt 23c73a561ea0a775e0bf4913c46e111d 1718285377
obj /usr/libexec/xrt/amdxdna/bins/dpu_sequence/df_bw_4col.txt c1b07c469ff8605160b6672989662502 1718285377
obj /usr/libexec/xrt/amdxdna/bins/dpu_sequence/df_bw.txt d58407bc3401045f9f7d9f8b0a10ea36 1718285377
obj /usr/libexec/xrt/amdxdna/bins/dpu_sequence/tct_1col.txt 2d5276d1053bba4929849306407c6e59 1718285377
dir /usr/libexec/xrt/amdxdna/bins/1502_00
obj /usr/libexec/xrt/amdxdna/bins/1502_00/validate.xclbin 8e094de55efdaac6800d3c27ddb27c10 1718285377
dir /usr/lib64
obj /usr/lib64/libxrt_driver_xdna.so.2.17.0 6676f7c7c04281dcc5fd9564a6c0d223 1718285412
sym /usr/lib64/libxrt_driver_xdna.so -> libxrt_driver_xdna.so.2 1718285411
sym /usr/lib64/libxrt_driver_xdna.so.2 -> libxrt_driver_xdna.so.2.17.0 1718285411
dir /usr/lib
dir /usr/lib/dracut
dir /usr/lib/dracut/dracut.conf.d
obj /usr/lib/dracut/dracut.conf.d/10-xdna-driver.conf 275952add205d596975a6b395e3fd1f3 1718285411
dir /usr/share
dir /usr/share/doc
dir /usr/share/doc/xdna-driver-6.8.9999-r1
obj /usr/share/doc/xdna-driver-6.8.9999-r1/README.md.bz2 887859303b94cfdcd196206772099511 1718285411
  • patches here:

--- a/src/runtime_src/core/common/module_loader.cpp
+++ b/src/runtime_src/core/common/module_loader.cpp
@@ -168,7 +168,7 @@ module_path(const std::string& module)
 #ifdef _WIN32
   path /= module + ".dll";
 #else
-  path /= "lib/xrt/module/lib" + module + ".so";
+  path /= "lib64/xrt/module/lib" + module + ".so";
 #endif
 
   if (!sfs::exists(path) || !sfs::is_regular_file(path))
@@ -186,7 +186,7 @@ shim_path()
 #ifdef _WIN32
   path /= name + ".dll";
 #else
-  path /= "lib/lib" + name + ".so." + XRT_VERSION_MAJOR;
+  path /= "lib64/lib" + name + ".so." + XRT_VERSION_MAJOR;
 #endif
 
   if (!sfs::exists(path) || !sfs::is_regular_file(path))
--- a/src/runtime_src/core/common/detail/linux/xilinx_xrt.h
+++ b/src/runtime_src/core/common/detail/linux/xilinx_xrt.h
@@ -12,11 +12,7 @@ namespace sfs = std::filesystem;
 sfs::path
 xilinx_xrt()
 {
-#if defined (__aarch64__) || defined (__arm__)
   return sfs::path("/usr");
-#else
-  return sfs::path("/opt/xilinx/xrt");
-#endif
 }
 
 std::vector<sfs::path>
--- a/src/runtime_src/core/tools/common/Process.cpp
+++ b/src/runtime_src/core/tools/common/Process.cpp
@@ -141,9 +141,9 @@ XBUtilities::runScript( const std::string & env,
                         std::ostringstream & os_stderr)
 {
   // Fix environment variables before running test case
-  setenv("XILINX_XRT", "/opt/xilinx/xrt", 0);
+  setenv("XILINX_XRT", "/usr", 0);
   setShellPathEnv("PYTHONPATH", "/python");
-  setShellPathEnv("LD_LIBRARY_PATH", "/lib");
+  setShellPathEnv("LD_LIBRARY_PATH", "/lib64");
   setShellPathEnv("PATH", "/bin");
   unsetenv("XCL_EMULATION_MODE");
--- a/src/CMake/nativeLnx.cmake 2024-06-14 00:17:00.292805822 +0800
+++ b/src/CMake/nativeLnx.cmake 2024-06-14 00:16:49.703001021 +0800
@@ -127,14 +127,24 @@
 INCLUDE (FindCurses)
 find_package(Curses REQUIRED)

+# --- Optional HIP bindings ---
+if (XRT_ENABLE_HIP)
+  message("-- Looking for HIP include files...")
+  # We should find HIP cmake either in standard cmake locations or in the /opt/rocm location
+  set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};/usr/lib/x86_64-linux-gnu/cmake/hip;/opt/rocm/lib/cmake/hip")
+  set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};/usr/lib/x86_64-linux-gnu/cmake/amd_comgr;/usr/lib/x86_64-linux-gnu/cmake/hsa-runtime64;/opt/rocm/lib/cmake/amd_comgr;/opt/rocm/lib/cmake/hsa-runtime64")
+  include(hip-config)
+  message("-- Found at ${HIP_INCLUDE_DIR}")
+endif()
+
 # --- XRT Variables ---
 set (XRT_INSTALL_DIR           "xrt")
-set (XRT_INSTALL_BIN_DIR       "${XRT_INSTALL_DIR}/bin")
-set (XRT_INSTALL_UNWRAPPED_DIR "${XRT_INSTALL_BIN_DIR}/unwrapped")
-set (XRT_INSTALL_INCLUDE_DIR   "${XRT_INSTALL_DIR}/include")
-set (XRT_INSTALL_LIB_DIR       "${XRT_INSTALL_DIR}/lib${LIB_SUFFIX}")
-set (XRT_INSTALL_PYTHON_DIR    "${XRT_INSTALL_DIR}/python")
-set (XRT_BUILD_INSTALL_DIR     "${CMAKE_BINARY_DIR}${CMAKE_INSTALL_PREFIX}/${XRT_INSTALL_DIR}")
+set (XRT_INSTALL_BIN_DIR       "${EPREFIX}/usr/bin")
+set (XRT_INSTALL_UNWRAPPED_DIR "${EPREFIX}/usr/sbin/unwrapped")
+set (XRT_INSTALL_INCLUDE_DIR   "${EPREFIX}/usr/include/xrt")
+set (XRT_INSTALL_LIB_DIR       "${EPREFIX}/usr/lib${LIB_SUFFIX}")
+set (XRT_INSTALL_PYTHON_DIR    "/usr/lib/python3.12/site-packages/pyxrt")
+set (XRT_BUILD_INSTALL_DIR     "${CMAKE_BINARY_DIR}${CMAKE_INSTALL_PREFIX}/${XRT_INSTALL_DIR}/usr/local/xrt")
 set (XRT_VALIDATE_DIR          "${XRT_INSTALL_DIR}/test")
 set (XRT_NAMELINK_ONLY NAMELINK_ONLY)
 set (XRT_NAMELINK_SKIP NAMELINK_SKIP)

i can only run with cd /usr/libexec/xrt/amdxdna