name: linux-x64-gpu-gcc on: push: branches: [master] paths: - '.github/workflows/linux-x64-gpu-gcc.yml' - 'CMakeLists.txt' - 'cmake/**' - 'src/*' - 'src/layer/*' - 'src/layer/x86/**' - 'src/layer/vulkan/**' - 'tests/**' - 'tools/**' - '!tools/pnnx/**' - 'examples/**' pull_request: branches: [master] paths: - '.github/workflows/linux-x64-gpu-gcc.yml' - 'CMakeLists.txt' - 'cmake/**' - 'src/*' - 'src/layer/*' - 'src/layer/x86/**' - 'src/layer/vulkan/**' - 'tests/**' - 'tools/**' - '!tools/pnnx/**' - 'examples/**' concurrency: group: linux-x64-gpu-gcc-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: linux-gcc-gpu: runs-on: [self-hosted, linux, cvm] steps: - uses: actions/checkout@v4 with: submodules: true - name: cache-swiftshader id: cache-swiftshader uses: actions/cache@v3 with: path: swiftshader-install key: swiftshader-linux-install-20230420 - name: checkout-swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' uses: actions/checkout@v4 with: repository: google/swiftshader path: swiftshader ref: dd55e592406dc0bae219df11adec6363840aff4a - name: checkout-swiftshader-submodules if: steps.cache-swiftshader.outputs.cache-hit != 'true' run: | cd swiftshader git -c submodule."third_party/git-hooks".update=none 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 4 mkdir $GITHUB_WORKSPACE/swiftshader-install cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - name: build run: | mkdir build && cd build cmake -DNCNN_VULKAN=ON -DNCNN_BUILD_TESTS=ON .. cmake --build . -j 4 - name: test run: | printf "[Processor]\nThreadCount=1\n" > build/tests/SwiftShader.ini export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 4 - name: build-shared run: | mkdir build-shared && cd build-shared cmake -DNCNN_VULKAN=ON -DNCNN_SHARED_LIB=ON .. cmake --build . -j 4 linux-gcc-gpu-system-glslang: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 - name: install-deps run: | sudo apt-get update sudo apt-get install libprotobuf-dev protobuf-compiler libopencv-dev libvulkan-dev glslang-dev spirv-tools - name: build run: | mkdir build && cd build cmake -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DGLSLANG_TARGET_DIR=/usr/lib/x86_64-linux-gnu/cmake .. cmake --build . -j 4 - name: build-shared run: | mkdir build-shared && cd build-shared cmake -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DGLSLANG_TARGET_DIR=/usr/lib/x86_64-linux-gnu/cmake -DNCNN_SHARED_LIB=ON .. cmake --build . -j 4 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: | export VULKAN_SDK=/data/action/osd/1.2.189.0/x86_64 mkdir build && cd build cmake -DNCNN_VULKAN=ON -DNCNN_BUILD_TESTS=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. cmake --build . -j 4 - name: test env: LD_LIBRARY_PATH: /data/action/install/lib64 run: | cd build && ctest --output-on-failure -j 4