Upgrade toolkits (#1878)
Upgrade the version of related toolkits: - upgrade llvm to 15.0 - upgrade wasi-sdk to 19.0 - upgrade emsdk to 3.1.28 - upgrade wabt to 1.0.31 - upgrade binaryen to 111 And upgrade the CI scripts, sample workload build scripts, Dockerfiles, and documents.
This commit is contained in:
@ -1,14 +1,14 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
cmake_minimum_required (VERSION 2.8...3.16)
|
||||
cmake_minimum_required (VERSION 3.14)
|
||||
|
||||
project(testavx)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/preparation.cmake)
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake)
|
||||
|
||||
# a workaround to let aom find our non-public headers
|
||||
include_directories(${WASI_SDK_HOME}/share/wasi-sysroot/include/libc/musl)
|
||||
################ dependencies ################
|
||||
find_package(Binaryen 111 REQUIRED)
|
||||
|
||||
################ AOM ################
|
||||
set(ENABLE_CCACHE ON)
|
||||
@ -62,7 +62,7 @@ add_dependencies(${PROJECT_NAME} aom)
|
||||
|
||||
add_custom_target(${PROJECT_NAME}_opt ALL
|
||||
COMMAND
|
||||
${WASM_OPT} -Oz --enable-simd -o ${PROJECT_NAME}.opt.wasm ${PROJECT_NAME}.wasm
|
||||
${Binaryen_WASM_OPT} -Oz --enable-simd -o ${PROJECT_NAME}.opt.wasm ${PROJECT_NAME}.wasm
|
||||
BYPRODUCTS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.opt.wasm
|
||||
WORKING_DIRECTORY
|
||||
|
||||
@ -1,11 +1,19 @@
|
||||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
cmake_minimum_required (VERSION 2.8...3.16)
|
||||
cmake_minimum_required (VERSION 3.14)
|
||||
|
||||
project(av1_wasm)
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/preparation.cmake)
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
||||
|
||||
################ dependencies ################
|
||||
find_package(Python3 REQUIRED)
|
||||
find_package(WASISDK 16.0 REQUIRED)
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/../../../test-tools/pick-up-emscripten-headers/collect_files.py --install ../include --loglevel=ERROR
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
|
||||
#######################################
|
||||
include(ExternalProject)
|
||||
@ -23,10 +31,14 @@ ExternalProject_Add(av1
|
||||
&& ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.avx_wasm.txt CMakeLists.txt
|
||||
&& git apply ../av1-clang.patch
|
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND}
|
||||
-DWASI_SDK_PREFIX=${WASI_SDK_HOME}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK_HOME}/share/cmake/wasi-sdk.cmake
|
||||
-DCMAKE_SYSROOT=${WASI_SDK_HOME}/share/wasi-sysroot
|
||||
-DWASI_SDK_PREFIX=${WASISDK_HOME}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
|
||||
-DCMAKE_SYSROOT=${WASISDK_SYSROOT}
|
||||
-DCMAKE_C_FLAGS=-isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/sse\ -isystem\ ${CMAKE_CURRENT_SOURCE_DIR}/../include/libc/musl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/av1
|
||||
BUILD_COMMAND make testavx_opt
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy testavx.opt.wasm ${CMAKE_CURRENT_BINARY_DIR}/testavx.wasm
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
testavx.opt.wasm
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/av1/third_party/samples/elephants_dream_480p24.ivf
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
@ -39,7 +39,7 @@ Firstly please build iwasm with simd support:
|
||||
``` shell
|
||||
$ cd <wamr dir>/product-mini/platforms/linux/
|
||||
$ mkdir build && cd build
|
||||
$ cmake .. -DWAMR_BUILD_SIMD=1 -DWAMR_BUILD_LIBC_EMCC=1
|
||||
$ cmake .. -DWAMR_BUILD_LIBC_EMCC=1
|
||||
$ make
|
||||
```
|
||||
|
||||
@ -47,7 +47,7 @@ Then compile wasm file to aot file and run:
|
||||
|
||||
``` shell
|
||||
$ cd <dir of testavx.wasm>
|
||||
$ <wamr dir>/wamr-compiler/build/wamrc --enable-simd -o testavx.aot testavx.wasm
|
||||
$ <wamr dir>/wamr-compiler/build/wamrc -o testavx.aot testavx.wasm
|
||||
# copy sample data like <wamr dir>/samples/workload/wasm-av1/av1/third_party/samples/elephants_dream_480p24.ivf
|
||||
# make sure you declare the access priority of the directory in which the sample data is
|
||||
$ <wamr dir>/product-mini/platforms/linux/build/iwasm --dir=. testavx.aot elephants_dream_480p24.ivf
|
||||
|
||||
@ -85,12 +85,12 @@ cd build && cmake ..
|
||||
make
|
||||
# 3.2 compile wasm-av1.wasm to wasm-av1.aot
|
||||
cd ${OUT_DIR}
|
||||
${WAMRC_CMD} --enable-simd -o testavx.aot testavx.wasm
|
||||
${WAMRC_CMD} -o testavx.aot testavx.wasm
|
||||
|
||||
# 4. build iwasm with pthread and libc_emcc enable
|
||||
cd ${WAMR_PLATFORM_DIR}/linux
|
||||
rm -fr build && mkdir build
|
||||
cd build && cmake .. -DWAMR_BUILD_SIMD=1 -DWAMR_BUILD_LIB_PTHREAD=1 -DWAMR_BUILD_LIBC_EMCC=1
|
||||
cd build && cmake .. -DWAMR_BUILD_LIB_PTHREAD=1 -DWAMR_BUILD_LIBC_EMCC=1
|
||||
make
|
||||
|
||||
# 5. run wasm-av1 with iwasm
|
||||
|
||||
@ -1 +0,0 @@
|
||||
../docker/build_workload.sh
|
||||
Reference in New Issue
Block a user