-
Notifications
You must be signed in to change notification settings - Fork 474
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
VITIS-11750 Create a wrapper (e.g. npu-smi) on top of xbutil
Signed-off-by: Ryan Chane <[email protected]>
- Loading branch information
Showing
3 changed files
with
119 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#!/bin/bash | ||
|
||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
# Copyright (C) 2020-2022 Xilinx, Inc. | ||
# | ||
|
||
# -- Detect a Windows environment and automatically switch to the .bat file | ||
if [[ "`uname`" == windows32* ]] || [[ "`uname`" == CYGWIN* ]] ; then | ||
trap "" INT | ||
"$0.bat" "$@" | ||
exit $? | ||
fi | ||
|
||
# Working variables | ||
XRT_PROG=xbutil2 | ||
|
||
# -- Examine the options | ||
XRTWARP_PROG_ARGS_size=0 | ||
XRTWRAP_PROG_ARGS=() | ||
while [ $# -gt 0 ]; do | ||
case "$1" in | ||
# Indicates that the legacy was specified | ||
-legacy|--legacy) | ||
echo "----------------------------------------------------------------------" | ||
echo "Error: Obsoleted option | ||
The --legacy option is no longer supported. | ||
For legacy migration, please refer to the XRT github.io utility | ||
migration guide. | ||
Commands, options, arguments and their descriptions can also be | ||
reported via the --help option." | ||
echo "----------------------------------------------------------------------" | ||
exit 1 | ||
;; | ||
# Copy the options the remaining options | ||
*) | ||
XRTWRAP_PROG_ARGS[$XRTWARP_PROG_ARGS_size]="$1" | ||
XRTWARP_PROG_ARGS_size=$(($XRTWARP_PROG_ARGS_size + 1)) | ||
shift | ||
;; | ||
esac | ||
done | ||
|
||
# -- Find loader directory | ||
XRT_LOADER_DIR="`dirname \"$0\"`" | ||
|
||
# For edge platforms loader is not required as tools are in standard location(/usr). | ||
# So calling unwrapped tool from this script itself. | ||
if [[ $XRT_LOADER_DIR =~ "/usr" ]]; then | ||
"${XRT_LOADER_DIR}/unwrapped/${XRT_PROG}" "${XRTWRAP_PROG_ARGS[@]}" | ||
exit 0 | ||
fi | ||
|
||
# Call loader for dc platforms | ||
XRT_LOADER="${XRT_LOADER_DIR}/unwrapped/loader" | ||
if [ ! -f "$XRT_LOADER" ]; then | ||
echo "ERROR: Could not find 64-bit loader executable." | ||
echo "ERROR: ${XRT_LOADER} does not exist." | ||
exit 1 | ||
fi | ||
|
||
"${XRT_LOADER}" -exec ${XRT_PROG} "${XRTWRAP_PROG_ARGS[@]}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
@echo off | ||
setlocal | ||
|
||
REM Working variables | ||
set XRT_PROG=xbutil | ||
|
||
REM -- Examine the options | ||
set XRTWRAP_PROG_ARGS= | ||
:parseArgs | ||
if [%1] == [] ( | ||
goto argsParsed | ||
) else ( | ||
REM New option | ||
if [%1] == [-new] ( | ||
echo INFO: The 'new' option is only valid for the linux version of xbmgmt | ||
shift | ||
) else ( | ||
if [%1] == [--new] ( | ||
echo INFO: The 'new' option is only valid for the linux version of xbmgmt | ||
shift | ||
) else ( | ||
REM Unknown option, must be associated with the program | ||
set XRTWRAP_PROG_ARGS=%XRTWRAP_PROG_ARGS% %1 | ||
shift | ||
) | ||
)) | ||
goto parseArgs | ||
:argsParsed | ||
|
||
|
||
REM -- Find the loader from the current directory. If it exists. | ||
set XRT_LOADER=%~dp0unwrapped\loader.bat | ||
|
||
REM -- Find loader from the PATH. If it exists. | ||
FOR /F "tokens=* USEBACKQ" %%F IN (`where xbutil`) DO ( | ||
set XBUTIL_PATH=%%~dpF | ||
) | ||
|
||
REM -- If the loader is not found in the current directory use the PATH. | ||
if not exist %XRT_LOADER% ( | ||
set XRT_LOADER=%XBUTIL_PATH%unwrapped\loader.bat | ||
) | ||
|
||
REM -- Loader is not within the current directory or PATH. All hope is lost. | ||
if not exist %XRT_LOADER% ( | ||
echo ERROR: Could not find 64-bit loader executable. | ||
echo ERROR: %XRT_LOADER% does not exist. | ||
GOTO:EOF | ||
) | ||
|
||
%XRT_LOADER% -exec %XRT_PROG% %XRTWRAP_PROG_ARGS% | ||
|