Support NCNN_ISA environment variable detection #6689
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: codecov-vlen256-retry-1 | |
continue-on-error: true | |
id: codecov-vlen256-retry-1 | |
if: steps.codecov.outcome=='failure' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: codecov-vlen256-retry-2 | |
continue-on-error: true | |
id: codecov-vlen256-retry-2 | |
if: steps.codecov-vlen256-retry-1.outcome=='failure' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: codecov-vlen256-retry-3 | |
continue-on-error: true | |
id: codecov-vlen256-retry-3 | |
if: steps.codecov-vlen256-retry-2.outcome=='failure' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: codecov-vlen256-retry-4 | |
continue-on-error: true | |
id: codecov-vlen256-retry-4 | |
if: steps.codecov-vlen256-retry-3.outcome=='failure' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: codecov-vlen256-retry-5 | |
continue-on-error: true | |
id: codecov-vlen256-retry-5 | |
if: steps.codecov-vlen256-retry-4.outcome=='failure' | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build/lcov.info | |
- name: set the status | |
if: always() | |
run: | | |
if ${{ steps.codecov.outcome=='success' || steps.codecov-vlen256-retry-1.outcome=='success' || steps.codecov-vlen256-retry-2.outcome=='success' || steps.codecov-vlen256-retry-3.outcome=='success' || steps.codecov-vlen256-retry-4.outcome=='success' || steps.codecov-vlen256-retry-5.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@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: build-avx512-spr/lcov.info |