|
- name: test-coverage
- on:
- push:
- branches: [master]
- paths:
- - '.github/workflows/test-coverage.yml'
- - 'CMakeLists.txt'
- - 'cmake/**'
- - 'src/**'
- - 'tests/**'
- - 'toolchains/**'
- pull_request:
- branches: [master]
- paths:
- - '.github/workflows/test-coverage.yml'
- - 'CMakeLists.txt'
- - 'cmake/**'
- - 'src/**'
- - 'tests/**'
- - 'toolchains/**'
- concurrency:
- group: test-coverage-${{ github.ref }}
- cancel-in-progress: true
- permissions:
- contents: read
-
- jobs:
- linux-gcc-gpu-t4:
- runs-on: [self-hosted, linux, t4]
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: true
- - name: build
- env:
- CC: gcc
- CXX: g++
- LD_LIBRARY_PATH: /data/action/install/lib64
- run: |
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_VULKAN=ON -DNCNN_COVERAGE=ON -DNCNN_RUNTIME_CPU=OFF -DNCNN_AVX2=ON -DNCNN_XOP=OFF -DNCNN_AVXVNNI=OFF -DNCNN_AVX512=ON -DNCNN_AVX512VNNI=ON -DNCNN_OPENMP=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_TESTS=ON ..
- cmake --build . -j 4
- - name: test
- env:
- LD_LIBRARY_PATH: /data/action/install/lib64
- run: cd build && ctest --output-on-failure -j 4
- - name: lcov-collect
- run: |
- cd build
- lcov -d ./src -c -o lcov.info
- lcov -r lcov.info '/usr/*' -o lcov.info
- lcov -r lcov.info '*/install/*' -o lcov.info
- lcov -r lcov.info '*/build/*' -o lcov.info
- lcov --list lcov.info
-
- - name: codecov
- id: codecov
- continue-on-error: true
- uses: codecov/codecov-action@v5
- with:
- token: ${{ secrets.CODECOV_TOKEN }}
- disable_search: true
- plugins: noop
- files: build/lcov.info
- - name: set the status
- if: always()
- run: |
- if ${{ steps.codecov.outcome=='success' }}; then
- echo fine
- else
- exit 1
- fi
-
- linux-gcc-x64-avx512-spr:
- runs-on: ubuntu-22.04
- steps:
- - uses: actions/checkout@v4
- - name: update
- run: sudo apt-get update
- - name: gcc12
- run: sudo apt-get install gcc-12 g++-12
- - name: lcov
- run: sudo apt-get install lcov
- - name: Setup SDE binaries
- uses: petarpetrovt/setup-sde@v2.4
- - name: build-avx512-spr
- env:
- CC: gcc-12
- CXX: g++-12
- run: |
- mkdir build-avx512-spr && cd build-avx512-spr
- cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_RUNTIME_CPU=OFF -DNCNN_AVX2=ON -DNCNN_AVX512=ON -DNCNN_AVX512VNNI=ON -DNCNN_AVX512BF16=ON -DNCNN_AVX512FP16=ON -DNCNN_XOP=OFF -DNCNN_OPENMP=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_TESTS=ON ..
- cmake --build . -j 2
- - name: test-avx512-spr
- run: |
- cd build-avx512-spr
- TESTS_EXECUTABLE_LOADER=$SDE_PATH/sde64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-spr;--" ctest --output-on-failure -j 2
- - name: lcov-collect
- run: |
- cd build-avx512-spr
- lcov --gcov-tool gcov-12 -d ./src -c -o lcov.info
- lcov -r lcov.info '/usr/*' -o lcov.info
- lcov -r lcov.info '*/build-avx512-spr/*' -o lcov.info
- lcov --list lcov.info
- - name: codecov-avx512-spr
- uses: codecov/codecov-action@v5
- with:
- token: ${{ secrets.CODECOV_TOKEN }}
- disable_search: true
- plugins: noop
- files: build-avx512-spr/lcov.info
-
- linux-gcc-riscv64-rvv:
- strategy:
- matrix:
- openmp: [ON, OFF]
- runs-on: [self-hosted, linux, ubuntu]
- steps:
- - uses: actions/checkout@v4
- - name: build
- run: |
- export RISCV_ROOT_PATH=/data/action/osd/riscv
- mkdir build
- cd build
- cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/riscv64-unknown-linux-gnu.toolchain.cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_RUNTIME_CPU=OFF -DNCNN_RVV=ON -DNCNN_ZFH=ON -DNCNN_ZVFH=ON -DNCNN_OPENMP=${{ matrix.openmp }} -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_TESTS=ON ..
- cmake --build . -j 8
-
- - name: test-vlen256
- run: |
- export PATH=/data/action/osd/qemu-install/bin:$PATH
- cd build
- TESTS_EXECUTABLE_LOADER=qemu-riscv64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-cpu;rv64,v=true,zfh=true,zvfh=true,vlen=256,elen=64,vext_spec=v1.0;-L;/data/action/osd/riscv/sysroot" ctest --output-on-failure -j 8
-
- - name: test-vlen128
- run: |
- export PATH=/data/action/osd/qemu-install/bin:$PATH
- cd build
- TESTS_EXECUTABLE_LOADER=qemu-riscv64 TESTS_EXECUTABLE_LOADER_ARGUMENTS="-cpu;rv64,v=true,zfh=true,zvfh=true,vlen=128,elen=64,vext_spec=v1.0;-L;/data/action/osd/riscv/sysroot" ctest --output-on-failure -j 8
-
- - name: lcov-collect
- run: |
- cd build
- lcov --gcov-tool /data/action/osd/riscv/bin/riscv64-unknown-linux-gnu-gcov -d ./src -c -o lcov.info
- lcov -r lcov.info '/usr/*' -o lcov.info
- lcov -r lcov.info '*/install/*' -o lcov.info
- lcov -r lcov.info '*/build/*' -o lcov.info
- lcov --list lcov.info
-
- - name: codecov
- uses: codecov/codecov-action@v5
- with:
- token: ${{ secrets.CODECOV_TOKEN }}
- disable_search: true
- plugins: noop
- files: build/lcov.info
|