add ipex-llm-init.bat for Windows (#11082)
* add ipex-llm-init.bat for Windows * update setup.py
This commit is contained in:
		
							parent
							
								
									85491907f3
								
							
						
					
					
						commit
						373f9e6c79
					
				
					 2 changed files with 112 additions and 1 deletions
				
			
		
							
								
								
									
										111
									
								
								python/llm/scripts/ipex-llm-init.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								python/llm/scripts/ipex-llm-init.bat
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,111 @@
 | 
				
			||||||
 | 
					@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
 | 
				
			||||||
| 
						 | 
					@ -344,7 +344,7 @@ def setup_package():
 | 
				
			||||||
            'Programming Language :: Python :: Implementation :: CPython'],
 | 
					            'Programming Language :: Python :: Implementation :: CPython'],
 | 
				
			||||||
        scripts={
 | 
					        scripts={
 | 
				
			||||||
            'Linux': ['src/ipex_llm/cli/llm-cli', 'src/ipex_llm/cli/llm-chat', 'scripts/ipex-llm-init'],
 | 
					            'Linux': ['src/ipex_llm/cli/llm-cli', 'src/ipex_llm/cli/llm-chat', 'scripts/ipex-llm-init'],
 | 
				
			||||||
            'Windows': ['src/ipex_llm/cli/llm-cli.ps1', 'src/ipex_llm/cli/llm-chat.ps1'],
 | 
					            'Windows': ['src/ipex_llm/cli/llm-cli.ps1', 'src/ipex_llm/cli/llm-chat.ps1', 'scripts/ipex-llm-init.bat'],
 | 
				
			||||||
        }[platform_name],
 | 
					        }[platform_name],
 | 
				
			||||||
        platforms=['windows']
 | 
					        platforms=['windows']
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue