33:: Copyright (C) 2024 Intel Corporation
44:: SPDX-License-Identifier: MIT
55
6- IF /I " %1 " == " --help" (
7- echo Usage: win-build-sycl.bat [fp32^ |fp16] [--help]
8- echo .
9- echo Options:
10- echo fp32 Build with FP32 precision ^ (default^ )
11- echo fp16 Build with FP16 precision ^ (faster for long-prompt inference^ )
12- echo --help Print this help message
13- exit /B 0
14- )
6+ SET " PRECISION = fp32"
7+ SET " SSL = ON"
8+ SET " OPENSSL_OPTION = "
159
16- SET PRECISION = %1
17- IF " %PRECISION% " == " " SET PRECISION = fp32
18- IF /I NOT " %PRECISION% " == " fp32" IF /I NOT " %PRECISION% " == " fp16" (
19- echo Error: invalid value '%PRECISION% '. Use 'fp32' or 'fp16'.
20- echo Usage: win-build-sycl.bat [fp32^ |fp16] [--help]
21- exit /B 1
22- )
10+ :PARSE_ARGS
11+ IF " %~1 " == " " GOTO ARGS_DONE
12+ IF /I " %~1 " == " --help" GOTO HELP
13+ IF /I " %~1 " == " fp32" GOTO ARG_FP32
14+ IF /I " %~1 " == " fp16" GOTO ARG_FP16
15+ IF /I " %~1 " == " ssl" GOTO ARG_SSL
16+ IF /I " %~1 " == " nossl" GOTO ARG_NOSSL
17+ GOTO INVALID_ARG
18+
19+ :ARG_FP32
20+ SET " PRECISION = fp32"
21+ GOTO NEXT_ARG
22+
23+ :ARG_FP16
24+ SET " PRECISION = fp16"
25+ GOTO NEXT_ARG
26+
27+ :ARG_SSL
28+ SET " SSL = ON"
29+ SET " OPENSSL_OPTION = "
30+ GOTO NEXT_ARG
31+
32+ :ARG_NOSSL
33+ SET " SSL = OFF"
34+ SET " OPENSSL_OPTION = -DLLAMA_OPENSSL=OFF"
35+ GOTO NEXT_ARG
36+
37+ :NEXT_ARG
38+ SHIFT
39+ GOTO PARSE_ARGS
40+
41+ :HELP
42+ SET " ARG_ERROR = 0"
43+ GOTO PRINT_USAGE
44+
45+ :INVALID_ARG
46+ SET " ARG_ERROR = 1"
47+ echo Error: unknown option '%~1 '
48+
49+ :PRINT_USAGE
50+ echo Usage: win-build-sycl.bat [fp32^ |fp16] [ssl^ |nossl] [--help]
51+ echo .
52+ echo Options:
53+ echo fp32 Build with FP32 precision ^ (default^ )
54+ echo fp16 Build with FP16 precision ^ (faster for long-prompt inference^ )
55+ echo ssl Build with BoringSSL ^ (default^ )
56+ echo nossl Build without BoringSSL
57+ echo --help Print this help message
58+ IF " %ARG_ERROR% " == " 1" exit /B 1
59+ exit /B 0
60+
61+ :ARGS_DONE
2362
2463IF not exist build (mkdir build)
2564cd build
@@ -31,10 +70,10 @@ if %errorlevel% neq 0 goto ERROR
3170IF /I " %PRECISION% " == " fp16" (
3271 :: for FP16
3372 :: faster for long-prompt inference
34- cmake -G " MinGW Makefiles" .. -DLLAMA_OPENSSL=OFF -DGGML_SYCL=ON -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DGGML_SYCL_F16=ON
73+ cmake -G " MinGW Makefiles" .. -DLLAMA_BUILD_BORINGSSL= %SSL% %OPENSSL_OPTION% -DGGML_SYCL=ON -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DGGML_SYCL_F16=ON
3574) ELSE (
3675 :: for FP32
37- cmake -G " Ninja" .. -DLLAMA_OPENSSL=OFF -DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
76+ cmake -G " Ninja" .. -DLLAMA_BUILD_BORINGSSL= %SSL% %OPENSSL_OPTION% -DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
3877)
3978if %errorlevel% neq 0 goto ERROR
4079
0 commit comments