name: macos-x64-gpu on: [push, pull_request] jobs: macos-clang-gpu: runs-on: macos-latest steps: - uses: actions/checkout@v1 - 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 - name: checkout-swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: google/swiftshader path: swiftshader ref: 59465799210b3f4962af1a9dc44a4ffecb422c10 - 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 -DBUILD_EGL=0 -DBUILD_GLESv2=0 -DBUILD_GLES_CM=0 -DBUILD_VULKAN=1 -DBUILD_SAMPLES=0 -DBUILD_TESTS=0 -DWARNINGS_AS_ERRORS=0 .. 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 .. - name: build run: cmake --build build -j 2 # - name: test # run: | # find "swiftshader-install/" # find "vulkansdk-macos-1.1.114.0/" # 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" # ./vulkansdk-macos-1.1.114.0/macOS/bin/vulkaninfo # cd build && ctest --output-on-failure -j 2 # export VK_ICD_FILENAMES="vulkansdk-macos-1.1.114.0/macOS/etc/vulkan/icd.d/MoltenVK_icd.json" # cd build && ctest --output-on-failure -j 2 macos-clang-gpu-nostdio: runs-on: macos-latest steps: - uses: actions/checkout@v1 - 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 -DNCNN_VULKAN=ON -DNCNN_STDIO=OFF -DNCNN_STRING=ON -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 macos-clang-gpu-nostring: runs-on: macos-latest steps: - uses: actions/checkout@v1 - 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 -DNCNN_VULKAN=ON -DNCNN_STDIO=ON -DNCNN_STRING=OFF -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 macos-clang-gpu-nostdio-nostring: runs-on: macos-latest steps: - uses: actions/checkout@v1 - 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 -DNCNN_VULKAN=ON -DNCNN_STDIO=OFF -DNCNN_STRING=OFF -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2