111 lines
2.5 KiB
Batchfile
111 lines
2.5 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
:: Usage #############################
|
|
:: ipex-llm-init.bat
|
|
:: Example:
|
|
:: ipex-llm-init.bat --gpu --device Arc
|
|
:: ######################################
|
|
|
|
REM Call the argument parsing function
|
|
call :parse-args %*
|
|
|
|
:: Initialize default values
|
|
set ENABLE_GPU=0
|
|
set DEVICE=""
|
|
|
|
:enable-gpu
|
|
SET ENABLE_GPU=1
|
|
GOTO :eof
|
|
|
|
:disable-gpu
|
|
SET ENABLE_GPU=0
|
|
CALL :unset-gpu-envs
|
|
GOTO :eof
|
|
|
|
:unset-gpu-envs
|
|
SET SYCL_CACHE_PERSISTENT=
|
|
SET BIGDL_LLM_XMX_DISABLED=
|
|
GOTO :eof
|
|
|
|
:display-var
|
|
echo +++++ Env Variables +++++
|
|
echo Exported:
|
|
echo ENABLE_GPU = %ENABLE_GPU%
|
|
echo SYCL_CACHE_PERSISTENT = %SYCL_CACHE_PERSISTENT%
|
|
echo BIGDL_LLM_XMX_DISABLED = %BIGDL_LLM_XMX_DISABLED%
|
|
echo +++++++++++++++++++++++++
|
|
GOTO :eof
|
|
|
|
:display-help
|
|
echo Usage: call ipex-llm-init.bat [--option]
|
|
echo.
|
|
echo ipex-llm-init is a tool to automatically configure and run the subcommand under
|
|
echo environment variables for accelerating IPEX-LLM.
|
|
echo.
|
|
echo Optional options:
|
|
echo -h, --help Display this help message and exit.
|
|
echo -g, --gpu Enable GPU support
|
|
echo --device ^<device_type^> Specify the device type (Arc, iGPU)
|
|
GOTO :eof
|
|
|
|
:display-error
|
|
echo Invalid Option: -%1 1>&2
|
|
echo.
|
|
CALL :display-help
|
|
EXIT /B 1
|
|
|
|
:parse-args
|
|
IF "%~1"=="" GOTO args-done
|
|
IF "%~1"=="-h" GOTO display-help
|
|
IF "%~1"=="--help" GOTO display-help
|
|
IF "%~1"=="-g" CALL :enable-gpu & echo DEBUG: ENABLE_GPU enabled & SHIFT & GOTO parse-args
|
|
IF "%~1"=="--gpu" CALL :enable-gpu & echo DEBUG: ENABLE_GPU enabled & SHIFT & GOTO parse-args
|
|
IF "%~1"=="--device" (
|
|
IF "%~2"=="" (
|
|
echo Error: --device option requires a value.
|
|
GOTO :eof
|
|
)
|
|
SET "DEVICE=%2"
|
|
SHIFT
|
|
SHIFT
|
|
GOTO parse-args
|
|
)
|
|
CALL :display-error %1
|
|
EXIT /B 1
|
|
|
|
:args-done
|
|
|
|
:: Ensure -g and --device are used together or not at all
|
|
IF "%ENABLE_GPU%"=="1" (
|
|
IF "%DEVICE%"=="" (
|
|
echo Error: --device must be specified with -g
|
|
GOTO display-help
|
|
)
|
|
) ELSE IF NOT "%DEVICE%"=="" (
|
|
echo Error: -g must be specified with --device
|
|
GOTO display-help
|
|
)
|
|
|
|
IF "%ENABLE_GPU%"=="1" (
|
|
echo DEBUG: ENABLE_GPU is enabled and DEVICE is %DEVICE%
|
|
IF /I "%DEVICE%"=="Arc" (
|
|
SET SYCL_CACHE_PERSISTENT=1
|
|
) ELSE IF /I "%DEVICE%"=="iGPU" (
|
|
SET SYCL_CACHE_PERSISTENT=1
|
|
SET BIGDL_LLM_XMX_DISABLED=1
|
|
) ELSE (
|
|
echo Error: Invalid device type specified for GPU.
|
|
echo.
|
|
CALL :display-help
|
|
EXIT /B 1
|
|
)
|
|
) ELSE (
|
|
CALL :unset-gpu-envs
|
|
)
|
|
|
|
CALL :display-var
|
|
echo Complete.
|
|
|
|
:end
|
|
endlocal
|