From b27d507f84314e2d5cfd3bea18c4ff67fdcf8d6f Mon Sep 17 00:00:00 2001 From: nihui Date: Sat, 13 Jun 2020 12:47:26 +0800 Subject: [PATCH] drop online spirv ci variant as it is the default one, update qcom410 benchmark --- .github/workflows/android-armv7-gpu.yml | 24 ---- .github/workflows/android-armv8-gpu.yml | 24 ---- .github/workflows/android-x64-gpu.yml | 24 ---- .github/workflows/android-x86-gpu.yml | 24 ---- .github/workflows/ios-64bit-gpu.yml | 24 ---- .github/workflows/linux-x64-gpu-clang.yml | 62 ---------- .github/workflows/linux-x64-gpu-gcc.yml | 59 ---------- .github/workflows/macos-x64-gpu.yml | 58 ---------- .github/workflows/test-coverage.yml | 68 ----------- .github/workflows/windows-x64-gpu-vs2019.yml | 73 ------------ benchmark/README.md | 112 ++++++++++--------- 11 files changed, 60 insertions(+), 492 deletions(-) diff --git a/.github/workflows/android-armv7-gpu.yml b/.github/workflows/android-armv7-gpu.yml index 034aeed00..ba87783cf 100644 --- a/.github/workflows/android-armv7-gpu.yml +++ b/.github/workflows/android-armv7-gpu.yml @@ -22,27 +22,3 @@ jobs: run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. - name: build run: cmake --build build -j 2 - - android-armv7-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: configure - run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 diff --git a/.github/workflows/android-armv8-gpu.yml b/.github/workflows/android-armv8-gpu.yml index 9dd19a946..00fb1bfd6 100644 --- a/.github/workflows/android-armv8-gpu.yml +++ b/.github/workflows/android-armv8-gpu.yml @@ -22,27 +22,3 @@ jobs: run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. - name: build run: cmake --build build -j 2 - - android-aarch64-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: configure - run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 diff --git a/.github/workflows/android-x64-gpu.yml b/.github/workflows/android-x64-gpu.yml index 4f7ac0762..c65f6de8c 100644 --- a/.github/workflows/android-x64-gpu.yml +++ b/.github/workflows/android-x64-gpu.yml @@ -22,27 +22,3 @@ jobs: run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="x86_64" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. - name: build run: cmake --build build -j 2 - - android-x86_64-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: configure - run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="x86_64" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 diff --git a/.github/workflows/android-x86-gpu.yml b/.github/workflows/android-x86-gpu.yml index b89083e3a..f3cc09e27 100644 --- a/.github/workflows/android-x86-gpu.yml +++ b/.github/workflows/android-x86-gpu.yml @@ -22,27 +22,3 @@ jobs: run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. - name: build run: cmake --build build -j 2 - - android-x86-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: configure - run: export PATH=`pwd`/1.1.114.0/x86_64/bin:$PATH && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 diff --git a/.github/workflows/ios-64bit-gpu.yml b/.github/workflows/ios-64bit-gpu.yml index d28317543..7f4ecabd9 100644 --- a/.github/workflows/ios-64bit-gpu.yml +++ b/.github/workflows/ios-64bit-gpu.yml @@ -22,27 +22,3 @@ jobs: run: export VULKAN_SDK=`pwd`/vulkansdk-macos-1.1.114.0/macOS && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/ios.toolchain.cmake -DIOS_PLATFORM=OS64 -DVulkan_INCLUDE_DIR=`pwd`/../vulkansdk-macos-1.1.114.0/MoltenVK/include -DVulkan_LIBRARY=`pwd`/../vulkansdk-macos-1.1.114.0/MoltenVK/iOS/dynamic/libMoltenVK.dylib -DNCNN_VULKAN=ON .. - name: build run: cmake --build build -j 2 - - ios-iphone-os-gpu-online-spirv: - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "vulkansdk-macos-1.1.114.0" - key: vulkansdk-macos-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/mac/vulkansdk-macos-1.1.114.0.tar.gz?Human=true -O vulkansdk-macos-1.1.114.0.tar.gz - tar -xf vulkansdk-macos-1.1.114.0.tar.gz - rm -rf vulkansdk-macos-1.1.114.0/Applications - find vulkansdk-macos-1.1.114.0 -type f | grep -v -E 'vulkan|glslang|MoltenVK' | xargs rm - - name: configure - run: export VULKAN_SDK=`pwd`/vulkansdk-macos-1.1.114.0/macOS && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/ios.toolchain.cmake -DIOS_PLATFORM=OS64 -DVulkan_INCLUDE_DIR=`pwd`/../vulkansdk-macos-1.1.114.0/MoltenVK/include -DVulkan_LIBRARY=`pwd`/../vulkansdk-macos-1.1.114.0/MoltenVK/iOS/dynamic/libMoltenVK.dylib -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 diff --git a/.github/workflows/linux-x64-gpu-clang.yml b/.github/workflows/linux-x64-gpu-clang.yml index 07912c233..bbf73f6ab 100644 --- a/.github/workflows/linux-x64-gpu-clang.yml +++ b/.github/workflows/linux-x64-gpu-clang.yml @@ -60,65 +60,3 @@ jobs: run: | export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 2 - - linux-clang-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: update - run: sudo apt-get update - - name: protobuf - run: sudo apt-get install libprotobuf-dev protobuf-compiler libopencv-dev - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: cache-swiftshader - id: cache-swiftshader - uses: actions/cache@v1 - with: - path: swiftshader-install - key: swiftshader-linux-install-20200508 - - name: checkout-swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: google/swiftshader - path: swiftshader - ref: 2dd864470e310d173d35fa95ca3a14d216734aab - - name: checkout-swiftshader-submodules - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - git submodule update --init --recursive - - name: swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - mkdir -p build; cd build - cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. - cmake --build . -j 2 - mkdir $GITHUB_WORKSPACE/swiftshader-install - cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - - name: configure - env: - CC: clang - CXX: clang++ - run: export VULKAN_SDK=`pwd`/1.1.114.0/x86_64 && mkdir build && cd build && cmake -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 - - name: test - run: | - export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" - cd build && ctest --output-on-failure -j 2 diff --git a/.github/workflows/linux-x64-gpu-gcc.yml b/.github/workflows/linux-x64-gpu-gcc.yml index d2d785aa9..d51444b80 100644 --- a/.github/workflows/linux-x64-gpu-gcc.yml +++ b/.github/workflows/linux-x64-gpu-gcc.yml @@ -57,62 +57,3 @@ jobs: run: | export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 2 - - linux-gcc-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: update - run: sudo apt-get update - - name: protobuf - run: sudo apt-get install libprotobuf-dev protobuf-compiler libopencv-dev - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: cache-swiftshader - id: cache-swiftshader - uses: actions/cache@v1 - with: - path: swiftshader-install - key: swiftshader-linux-install-20200508 - - name: checkout-swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: google/swiftshader - path: swiftshader - ref: 2dd864470e310d173d35fa95ca3a14d216734aab - - name: checkout-swiftshader-submodules - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - git submodule update --init --recursive - - name: swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - mkdir -p build; cd build - cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. - cmake --build . -j 2 - mkdir $GITHUB_WORKSPACE/swiftshader-install - cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - - name: configure - run: export VULKAN_SDK=`pwd`/1.1.114.0/x86_64 && mkdir build && cd build && cmake -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 - - name: test - run: | - export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" - cd build && ctest --output-on-failure -j 2 diff --git a/.github/workflows/macos-x64-gpu.yml b/.github/workflows/macos-x64-gpu.yml index 6bb36a4b4..cdcbd32e5 100644 --- a/.github/workflows/macos-x64-gpu.yml +++ b/.github/workflows/macos-x64-gpu.yml @@ -56,61 +56,3 @@ jobs: export DYLD_LIBRARY_PATH="vulkansdk-macos-1.1.114.0/macOS/lib":$DYLD_LIBRARY_PATH export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 2 - - macos-clang-gpu-online-spirv: - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: protobuf - run: brew install protobuf opencv3 - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "vulkansdk-macos-1.1.114.0" - key: vulkansdk-macos-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/mac/vulkansdk-macos-1.1.114.0.tar.gz?Human=true -O vulkansdk-macos-1.1.114.0.tar.gz - tar -xf vulkansdk-macos-1.1.114.0.tar.gz - rm -rf vulkansdk-macos-1.1.114.0/Applications - find vulkansdk-macos-1.1.114.0 -type f | grep -v -E 'vulkan|glslang|MoltenVK' | xargs rm - - name: cache-swiftshader - id: cache-swiftshader - uses: actions/cache@v1 - with: - path: swiftshader-install - key: swiftshader-macos-install-20200508 - - name: checkout-swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: google/swiftshader - path: swiftshader - ref: 2dd864470e310d173d35fa95ca3a14d216734aab - - name: checkout-swiftshader-submodules - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - git submodule update --init --recursive - - name: swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - mkdir -p build; cd build - cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. - cmake --build . -j 2 - mkdir $GITHUB_WORKSPACE/swiftshader-install - cp Darwin/* $GITHUB_WORKSPACE/swiftshader-install - - name: configure - run: export VULKAN_SDK=`pwd`/vulkansdk-macos-1.1.114.0/macOS && mkdir build && cd build && cmake -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build -j 2 - - name: test - run: | - export DYLD_LIBRARY_PATH="vulkansdk-macos-1.1.114.0/macOS/lib":$DYLD_LIBRARY_PATH - export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" - cd build && ctest --output-on-failure -j 2 diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index 36c5dd993..0fc469581 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -67,74 +67,6 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} file: build/lcov.info - linux-gcc-gpu-online-spirv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: lcov - run: sudo apt-get install lcov - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "1.1.114.0" - key: vulkansdk-linux-x86_64-1.1.114.0 - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz - tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz - rm -rf 1.1.114.0/source 1.1.114.0/samples - find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - - name: cache-swiftshader - id: cache-swiftshader - uses: actions/cache@v1 - with: - path: swiftshader-install - key: swiftshader-linux-install-20200508 - - name: checkout-swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: google/swiftshader - path: swiftshader - ref: 2dd864470e310d173d35fa95ca3a14d216734aab - - name: checkout-swiftshader-submodules - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - git submodule update --init --recursive - - name: swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - mkdir -p build; cd build - cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. - cmake --build . -j 2 - mkdir $GITHUB_WORKSPACE/swiftshader-install - cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - - name: configure - run: export VULKAN_SDK=`pwd`/1.1.114.0/x86_64 && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - - name: build - run: cmake --build build -j 2 - - name: test - run: | - export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" - cd build && ctest --output-on-failure -j 2 - - name: lcov-collect - run: | - cd build - lcov -d ./src -c -o lcov.info - lcov -r lcov.info '/usr/*' -o lcov.info - lcov --list lcov.info - - name: codecov - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - file: build/lcov.info - linux-gcc-avx2: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/windows-x64-gpu-vs2019.yml b/.github/workflows/windows-x64-gpu-vs2019.yml index 44fd6f640..cd4e70fa1 100644 --- a/.github/workflows/windows-x64-gpu-vs2019.yml +++ b/.github/workflows/windows-x64-gpu-vs2019.yml @@ -71,76 +71,3 @@ jobs: Copy-Item -Path '.\VulkanSDK\RunTimeInstaller\x64\vulkan-1.dll' -Destination 'build\tests' $env:VK_ICD_FILENAMES="$env:GITHUB_WORKSPACE\swiftshader-install\vk_swiftshader_icd.json" cd build; ctest --output-on-failure -j 2 - - windows-vs2019-gpu-online-spirv: - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'true' - - name: cache-protobuf - id: cache-protobuf - uses: actions/cache@v1 - with: - path: "protobuf-install" - key: protobuf-windows-install - - name: protobuf - if: steps.cache-protobuf.outputs.cache-hit != 'true' - run: | - Invoke-WebRequest -Uri https://github.com/protocolbuffers/protobuf/archive/v3.11.2.zip -OutFile protobuf-3.11.2.zip - 7z x ./protobuf-3.11.2.zip - cd protobuf-3.11.2 - mkdir build-vs2019; cd build-vs2019; cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE\protobuf-install" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake - cmake --build . --config Release -j 2 - cmake --build . --config Release --target install - - name: cache-vulkansdk - id: cache-vulkansdk - uses: actions/cache@v1 - with: - path: "VulkanSDK" - key: VulkanSDK-1.1.114.0-Installer - - name: vulkansdk - if: steps.cache-vulkansdk.outputs.cache-hit != 'true' - run: | - Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe - 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK - Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse - - name: cache-swiftshader - id: cache-swiftshader - uses: actions/cache@v1 - with: - path: swiftshader-install - key: swiftshader-windows-install-20200508 - - name: checkout-swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: google/swiftshader - path: swiftshader - ref: 2dd864470e310d173d35fa95ca3a14d216734aab - - name: checkout-swiftshader-submodules - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - git submodule update --init --recursive - - name: swiftshader - if: steps.cache-swiftshader.outputs.cache-hit != 'true' - run: | - cd swiftshader - mkdir build-vs2019; cd build-vs2019 - cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. - cmake --build . --config Release -j 2 - mkdir "$env:GITHUB_WORKSPACE/swiftshader-install" - Copy-Item -Path "Windows\*" -Destination "$env:GITHUB_WORKSPACE\swiftshader-install" - - name: configure - run: | - $env:VULKAN_SDK="$(pwd)/VulkanSDK" - mkdir build; cd build - cmake -DProtobuf_INCLUDE_DIR="$env:GITHUB_WORKSPACE\protobuf-install\include" -DProtobuf_LIBRARIES="$env:GITHUB_WORKSPACE\protobuf-install\lib\libprotobuf.lib" -DProtobuf_PROTOC_EXECUTABLE="$env:GITHUB_WORKSPACE\protobuf-install\bin\protoc.exe" -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON .. - - name: build - run: cmake --build build --config Release -j 2 - - name: test - run: | - Copy-Item -Path '.\VulkanSDK\RunTimeInstaller\x64\vulkan-1.dll' -Destination 'build\tests' - $env:VK_ICD_FILENAMES="$env:GITHUB_WORKSPACE\swiftshader-install\vk_swiftshader_icd.json" - cd build; ctest --output-on-failure -j 2 diff --git a/benchmark/README.md b/benchmark/README.md index 2e6daf1ae..7da4cd1a3 100644 --- a/benchmark/README.md +++ b/benchmark/README.md @@ -694,69 +694,77 @@ cooling_down = 1 Qualcomm MSM8916 Snapdragon 410 (Cortex-A53 1.2GHz x 4) ``` -HM2014812:/data/local/tmp # ./benchncnn 8 4 0 -1 +HM2014812:/data/local/tmp # ./benchncnn 8 4 0 -1 1 no vulkan device loop_count = 8 num_threads = 4 powersave = 0 gpu_device = -1 - squeezenet min = 66.28 max = 71.76 avg = 68.42 - squeezenet_int8 min = 80.27 max = 86.95 avg = 84.41 - mobilenet min = 87.53 max = 93.44 avg = 91.11 - mobilenet_int8 min = 121.72 max = 134.20 avg = 128.89 - mobilenet_v2 min = 78.41 max = 84.16 avg = 80.65 - mobilenet_v3 min = 63.52 max = 68.81 avg = 65.06 - shufflenet min = 50.21 max = 55.31 avg = 51.05 - shufflenet_v2 min = 41.84 max = 47.19 avg = 43.29 - mnasnet min = 69.69 max = 75.25 avg = 71.82 - proxylessnasnet min = 78.53 max = 83.97 avg = 80.69 - googlenet min = 186.86 max = 194.13 avg = 191.75 - googlenet_int8 min = 254.33 max = 282.34 avg = 268.64 - resnet18 min = 162.89 max = 176.29 avg = 168.70 - resnet18_int8 min = 221.94 max = 233.40 avg = 228.47 - alexnet min = 136.68 max = 147.43 avg = 141.04 - vgg16 min = 820.71 max = 1179.12 avg = 935.40 - vgg16_int8 min = 1489.99 max = 1728.10 avg = 1557.09 - resnet50 min = 417.40 max = 422.28 avg = 419.54 - resnet50_int8 min = 526.23 max = 556.69 avg = 540.22 - squeezenet_ssd min = 176.31 max = 187.60 avg = 182.31 - squeezenet_ssd_int8 min = 238.51 max = 249.05 avg = 243.61 - mobilenet_ssd min = 188.66 max = 197.45 avg = 193.79 - mobilenet_ssd_int8 min = 247.35 max = 269.80 avg = 253.90 - mobilenet_yolo min = 395.71 max = 407.36 avg = 401.46 - mobilenetv2_yolov3 min = 250.01 max = 261.79 avg = 256.15 +cooling_down = 1 + squeezenet min = 66.19 max = 72.82 avg = 68.21 + squeezenet_int8 min = 114.98 max = 130.46 avg = 118.16 + mobilenet min = 89.62 max = 95.83 avg = 93.29 + mobilenet_int8 min = 241.53 max = 251.06 avg = 246.45 + mobilenet_v2 min = 78.90 max = 89.02 avg = 81.46 + mobilenet_v3 min = 63.31 max = 72.72 avg = 65.19 + shufflenet min = 50.80 max = 59.33 avg = 53.10 + shufflenet_v2 min = 43.13 max = 50.89 avg = 44.53 + mnasnet min = 72.71 max = 81.03 avg = 75.36 + proxylessnasnet min = 78.31 max = 87.47 avg = 81.05 + efficientnet_b0 min = 133.79 max = 144.34 avg = 139.61 + regnety_400m min = 112.34 max = 119.73 avg = 114.92 + blazeface min = 17.01 max = 17.21 avg = 17.15 + googlenet min = 187.44 max = 198.45 avg = 193.39 + googlenet_int8 min = 308.24 max = 414.77 avg = 333.01 + resnet18 min = 172.57 max = 185.75 avg = 178.58 + resnet18_int8 min = 259.60 max = 278.97 avg = 270.88 + alexnet min = 186.46 max = 197.99 avg = 190.98 + vgg16 min = 807.01 max = 993.53 avg = 840.82 + vgg16_int8 min = 1552.74 max = 1616.45 avg = 1579.95 + resnet50 min = 416.01 max = 456.37 avg = 423.99 + resnet50_int8 min = 633.55 max = 665.31 avg = 650.97 + squeezenet_ssd min = 189.73 max = 205.13 avg = 196.05 + squeezenet_ssd_int8 min = 303.99 max = 330.38 avg = 311.27 + mobilenet_ssd min = 191.16 max = 201.49 avg = 195.73 + mobilenet_ssd_int8 min = 341.66 max = 360.41 avg = 352.74 + mobilenet_yolo min = 404.64 max = 414.32 avg = 409.58 + mobilenetv2_yolov3 min = 255.36 max = 260.57 avg = 258.33 -HM2014812:/data/local/tmp # ./benchncnn 4 1 0 -1 +HM2014812:/data/local/tmp # ./benchncnn 4 1 0 -1 1 no vulkan device loop_count = 4 num_threads = 1 powersave = 0 gpu_device = -1 - squeezenet min = 152.92 max = 155.51 avg = 153.70 - squeezenet_int8 min = 201.83 max = 205.87 avg = 203.62 - mobilenet min = 242.75 max = 243.80 avg = 243.08 - mobilenet_int8 min = 360.94 max = 363.18 avg = 361.70 - mobilenet_v2 min = 169.94 max = 171.54 avg = 170.60 - mobilenet_v3 min = 148.18 max = 149.00 avg = 148.47 - shufflenet min = 99.96 max = 100.62 avg = 100.32 - shufflenet_v2 min = 86.17 max = 87.17 avg = 86.68 - mnasnet min = 163.09 max = 163.60 avg = 163.30 - proxylessnasnet min = 208.37 max = 208.83 avg = 208.63 - googlenet min = 550.35 max = 558.00 avg = 552.59 - googlenet_int8 min = 716.89 max = 729.11 avg = 723.14 - resnet18 min = 499.56 max = 500.78 avg = 499.96 - resnet18_int8 min = 614.61 max = 621.81 avg = 617.39 - alexnet min = 485.58 max = 486.32 avg = 486.06 - vgg16 min = 2218.44 max = 2267.49 avg = 2239.35 - vgg16_int8 min = 3655.84 max = 3663.73 avg = 3659.39 - resnet50 min = 1220.40 max = 1227.92 avg = 1223.96 - resnet50_int8 min = 1449.73 max = 1452.61 avg = 1451.31 - squeezenet_ssd min = 358.87 max = 361.47 avg = 360.33 - squeezenet_ssd_int8 min = 535.02 max = 538.82 avg = 536.98 - mobilenet_ssd min = 523.74 max = 528.69 avg = 525.57 - mobilenet_ssd_int8 min = 713.93 max = 716.41 avg = 714.92 - mobilenet_yolo min = 1130.12 max = 1135.57 avg = 1132.88 - mobilenetv2_yolov3 min = 603.32 max = 606.46 avg = 604.85 +cooling_down = 1 + squeezenet min = 157.84 max = 163.57 avg = 160.17 + squeezenet_int8 min = 235.90 max = 236.90 avg = 236.36 + mobilenet min = 244.48 max = 245.33 avg = 244.93 + mobilenet_int8 min = 566.65 max = 585.54 avg = 574.41 + mobilenet_v2 min = 173.31 max = 184.20 avg = 179.05 + mobilenet_v3 min = 149.89 max = 151.90 avg = 150.65 + shufflenet min = 103.08 max = 104.07 avg = 103.67 + shufflenet_v2 min = 88.62 max = 88.85 avg = 88.70 + mnasnet min = 165.94 max = 166.74 avg = 166.42 + proxylessnasnet min = 210.10 max = 215.64 avg = 212.17 + efficientnet_b0 min = 396.79 max = 409.39 avg = 401.78 + regnety_400m min = 224.94 max = 226.49 avg = 225.46 + blazeface min = 38.27 max = 39.03 avg = 38.67 + googlenet min = 548.29 max = 556.97 avg = 551.88 + googlenet_int8 min = 763.95 max = 776.59 avg = 768.95 + resnet18 min = 496.89 max = 500.24 avg = 498.06 + resnet18_int8 min = 651.89 max = 655.10 avg = 653.40 + alexnet min = 490.47 max = 492.03 avg = 491.29 + vgg16 min = 2203.58 max = 2236.58 avg = 2222.08 + vgg16_int8 min = 3753.17 max = 3761.56 avg = 3756.99 + resnet50 min = 1209.85 max = 1215.09 avg = 1212.06 + resnet50_int8 min = 1657.36 max = 1665.21 avg = 1660.50 + squeezenet_ssd min = 366.46 max = 369.47 avg = 367.88 + squeezenet_ssd_int8 min = 601.46 max = 603.23 avg = 602.37 + mobilenet_ssd min = 520.79 max = 523.17 avg = 521.59 + mobilenet_ssd_int8 min = 867.12 max = 876.73 avg = 872.79 + mobilenet_yolo min = 1130.78 max = 1135.02 avg = 1132.42 + mobilenetv2_yolov3 min = 600.01 max = 602.18 avg = 600.88 ``` Raspberry Pi 3 Model B+ Broadcom BCM2837B0, Cortex-A53 (ARMv8) (1.4GHz x 4 ) ```