From bf1c62c18172fcb5851a47b2d05b2ee2360bdfff Mon Sep 17 00:00:00 2001 From: Yulong Wang <7679871+fs-eire@users.noreply.github.com> Date: Fri, 18 Aug 2023 23:50:29 -0700 Subject: [PATCH] check in build script for webgpu (#17126) ### Description check in build script for webgpu described in gist https://gist.github.com/fs-eire/a55b2c7e10a6864b9602c279b8b75dce once this PR get merged, I can update the gist to use this file --- js/build_jsep.bat | 91 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 js/build_jsep.bat diff --git a/js/build_jsep.bat b/js/build_jsep.bat new file mode 100644 index 0000000000..02f1170ecb --- /dev/null +++ b/js/build_jsep.bat @@ -0,0 +1,91 @@ +@echo off + +rem build_jsep.bat --- build onnxruntime-web with JSEP +rem +rem Usage: +rem build_jsep.bat config threaded [clean] +rem +rem Options: +rem config Build configuration, "d" or "r" +rem threaded Build with threading support, "st" or "mt" +rem clean Perform a clean build, "clean" or empty + +setlocal enabledelayedexpansion + +set ROOT=%~dp0..\ + +:arg1 +if ["%~1"]==["d"] ( + set CONFIG=Debug + set CONFIG_EXTRA_FLAG=--enable_wasm_debug_info + goto :arg2 +) +if ["%~1"]==["r"] ( + set CONFIG=Release + set CONFIG_EXTRA_FLAG= + goto :arg2 +) +echo Invalid configuration "%~1", must be "d"(Debug) or "r"(Release) +exit /b 1 + +:arg2 +if ["%~2"]==["st"] ( + set BUILD_DIR=%ROOT%build_jsep_st + set THREADED_EXTRA_FLAG= + set TARGET_FILE_PREFIX=ort-wasm-simd + goto :arg3 +) +if ["%~2"]==["mt"] ( + set BUILD_DIR=%ROOT%build_jsep_mt + set THREADED_EXTRA_FLAG=--enable_wasm_threads + set TARGET_FILE_PREFIX=ort-wasm-simd-threaded + goto :arg3 +) +echo Invalid threading option "%~2", must be "st" or "mt" +exit /b 1 + +:arg3 +if ["%~3"]==["clean"] ( + goto :clean +) +if not exist "%ROOT%js\web\dist" ( + goto :npm_ci +) + +goto :build_wasm + +:clean +if exist "%BUILD_DIR%" ( + rd /s /q %BUILD_DIR% +) + +pushd %ROOT% +git submodule sync --recursive +git submodule update --init --recursive +popd + +:npm_ci +pushd %ROOT%js +call npm ci +popd +pushd %ROOT%js\common +call npm ci +popd +pushd %ROOT%js\web +call npm ci +call npm run pull:wasm +popd + +:build_wasm + +set PATH=C:\Program Files\Git\usr\bin;%PATH% + +call %ROOT%build.bat --config %CONFIG% %CONFIG_EXTRA_FLAG% %THREADED_EXTRA_FLAG%^ + --skip_submodule_sync --build_wasm --skip_tests --enable_wasm_simd --use_jsep --target onnxruntime_webassembly --build_dir %BUILD_DIR% + +IF NOT "%ERRORLEVEL%" == "0" ( + exit /b %ERRORLEVEL% +) + +copy /Y %BUILD_DIR%\%CONFIG%\%TARGET_FILE_PREFIX%.js %ROOT%js\web\lib\wasm\binding\%TARGET_FILE_PREFIX%.jsep.js +copy /Y %BUILD_DIR%\%CONFIG%\%TARGET_FILE_PREFIX%.wasm %ROOT%js\web\dist\%TARGET_FILE_PREFIX%.jsep.wasm