From ed30cc0df49764d26f7ec3b1cb26af59d3d24395 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 08:01:08 +0900 Subject: [PATCH 01/18] Update builds to 16 --- .github/workflows/build-android-x86_64.yml | 3 ++- .github/workflows/build-deploy-android-arm32.yml | 3 ++- .github/workflows/build-deploy-android-arm64.yml | 3 ++- .github/workflows/build-deploy-linux-arm32.yml | 3 ++- .github/workflows/build-deploy-linux-arm64.yml | 3 ++- .github/workflows/build-deploy-linux-cuda-11.0.yml | 3 ++- .github/workflows/build-deploy-linux-cuda-11.2.yml | 3 ++- .github/workflows/build-deploy-linux-x86_64.yml | 2 +- 8 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index b4e529203..44ea4ee71 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -2,9 +2,10 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: android-x86_64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-android-arm32.yml b/.github/workflows/build-deploy-android-arm32.yml index 3f4a0fc04..2977bb4c6 100644 --- a/.github/workflows/build-deploy-android-arm32.yml +++ b/.github/workflows/build-deploy-android-arm32.yml @@ -2,10 +2,11 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. android-arm32: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index d2eba04ea..682afccb1 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -2,10 +2,11 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. android-arm64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-linux-arm32.yml b/.github/workflows/build-deploy-linux-arm32.yml index 88884aa5b..aa1e4d044 100644 --- a/.github/workflows/build-deploy-linux-arm32.yml +++ b/.github/workflows/build-deploy-linux-arm32.yml @@ -2,10 +2,11 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-arm32: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-linux-arm64.yml b/.github/workflows/build-deploy-linux-arm64.yml index d806203ce..57ae23b86 100644 --- a/.github/workflows/build-deploy-linux-arm64.yml +++ b/.github/workflows/build-deploy-linux-arm64.yml @@ -2,10 +2,11 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-arm64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-linux-cuda-11.0.yml b/.github/workflows/build-deploy-linux-cuda-11.0.yml index 1a559c01f..63d5c2d46 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.0.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.0.yml @@ -2,10 +2,11 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: linux-x86_64-cuda_11-0: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.8.0 diff --git a/.github/workflows/build-deploy-linux-cuda-11.2.yml b/.github/workflows/build-deploy-linux-cuda-11.2.yml index 3387740eb..96a8a7ccc 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.2.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.2.yml @@ -2,9 +2,10 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: + push: jobs: linux-x86_64-cuda-11-2: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.8.0 diff --git a/.github/workflows/build-deploy-linux-x86_64.yml b/.github/workflows/build-deploy-linux-x86_64.yml index 68fe86012..35528f500 100644 --- a/.github/workflows/build-deploy-linux-x86_64.yml +++ b/.github/workflows/build-deploy-linux-x86_64.yml @@ -6,7 +6,7 @@ on: jobs: #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-x86_64: - runs-on: ubuntu-18.04 + runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.8.0 From 4fd244ec3e3bf8562a2de643537814deaf3d71a9 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 08:58:56 +0900 Subject: [PATCH 02/18] Create run-gpu-tests-sanity-checks.yml --- .../workflows/run-gpu-tests-sanity-checks.yml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/run-gpu-tests-sanity-checks.yml diff --git a/.github/workflows/run-gpu-tests-sanity-checks.yml b/.github/workflows/run-gpu-tests-sanity-checks.yml new file mode 100644 index 000000000..1b1fbb466 --- /dev/null +++ b/.github/workflows/run-gpu-tests-sanity-checks.yml @@ -0,0 +1,27 @@ +on: + push: + +jobs: + linux-x86_64-cuda-11-2: + runs-on: [self-hosted] + steps: + - uses: AutoModality/action-clean@v1 + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.8.0 + with: + access_token: ${{ github.token }} + - uses: actions/checkout@v2 + - name: Run cuda tests + shell: bash + env: + DEBIAN_FRONTEND: noninteractive + run: | + export PATH="/opt/protobuf/bin:/usr/local/cuda-11.2/bin:$PATH" + nvcc --version + mvn --version + cmake --version + protoc --version + bash ./change-cuda-versions.sh 11.2 + export OMP_NUM_THREADS=1 + mvn -Ptestresources -pl ":deeplearning4j-modelimport,:deeplearning4j-core,:nd4j-native,:samediff-import,:libnd4j" -Dlibnd4j.compute="5.0 5.2 5.3 6.0 6.2 8.0" -Ptest-nd4j-cuda --also-make -Dlibnd4j.chip=cuda clean test + From 5ca6714781fbf6ebe96b94b16371df27dbe573bc Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 09:02:52 +0900 Subject: [PATCH 03/18] Update pom.xml --- nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml index 836387031..a6d6824be 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml @@ -287,10 +287,7 @@ maven-jar-plugin - - org.apache.maven.plugins - maven-surefire-plugin - + org.apache.maven.plugins maven-enforcer-plugin From 65c1df5a9fb9e92365c686cc46c7351f500a4170 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 09:04:48 +0900 Subject: [PATCH 04/18] Update --- .github/workflows/run-gpu-tests-sanity-checks.yml | 2 +- nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-gpu-tests-sanity-checks.yml b/.github/workflows/run-gpu-tests-sanity-checks.yml index 1b1fbb466..23070b93a 100644 --- a/.github/workflows/run-gpu-tests-sanity-checks.yml +++ b/.github/workflows/run-gpu-tests-sanity-checks.yml @@ -23,5 +23,5 @@ jobs: protoc --version bash ./change-cuda-versions.sh 11.2 export OMP_NUM_THREADS=1 - mvn -Ptestresources -pl ":deeplearning4j-modelimport,:deeplearning4j-core,:nd4j-native,:samediff-import,:libnd4j" -Dlibnd4j.compute="5.0 5.2 5.3 6.0 6.2 8.0" -Ptest-nd4j-cuda --also-make -Dlibnd4j.chip=cuda clean test + mvn -Ptestresources -pl ":deeplearning4j-modelimport,:deeplearning4j-core,:nd4j-cuda-11.2,:samediff-import,:libnd4j" -Dlibnd4j.compute="5.0 5.2 5.3 6.0 6.2 8.0" -Ptest-nd4j-cuda --also-make -Dlibnd4j.chip=cuda clean test diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml index a6d6824be..0b4220f8b 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml @@ -287,7 +287,7 @@ maven-jar-plugin - + org.apache.maven.plugins maven-enforcer-plugin From 2e09c2fdd8376f7350f943bd7585b82185b075a7 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 09:08:14 +0900 Subject: [PATCH 05/18] Update run-gpu-tests-sanity-checks.yml --- .github/workflows/run-gpu-tests-sanity-checks.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-gpu-tests-sanity-checks.yml b/.github/workflows/run-gpu-tests-sanity-checks.yml index 23070b93a..89335a5e8 100644 --- a/.github/workflows/run-gpu-tests-sanity-checks.yml +++ b/.github/workflows/run-gpu-tests-sanity-checks.yml @@ -10,6 +10,7 @@ jobs: uses: styfle/cancel-workflow-action@0.8.0 with: access_token: ${{ github.token }} + - uses: ./.github/actions/download-dl4j-test-resources-linux - uses: actions/checkout@v2 - name: Run cuda tests shell: bash From 0b1d650c61543500c592855b636180b16e235e78 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 11:53:03 +0900 Subject: [PATCH 06/18] Update android --- .github/workflows/build-android-x86_64.yml | 2 ++ .github/workflows/build-deploy-android-arm64.yml | 1 + libnd4j/pi_build.sh | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 44ea4ee71..31a01bed7 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -35,6 +35,8 @@ jobs: MAVEN_USERNAME: ${{ secrets.SONATYPE_USER_1 }} MAVEN_PASSWORD: ${{ secrets.SONATYPE_USER1_PASS }} MAVEN_GPG_PASSPHRASE: ${{ secrets.PACKAGES_GPG_PASS }} + OPENBLAS_PATH: "$HOME/.javacpp/cache/openblas-0.3.13-1.5.5-android-x86_64.jar/lib/" + DEPLOY_TO: ossrh run: | echo "Verifying programs on path. Path is $PATH" echo "Path post update is $PATH. Maven is at `which mvn` cmake is at `which cmake` protoc is at `which protoc`" diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index 682afccb1..42a7b8bd1 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -37,6 +37,7 @@ jobs: MAVEN_USERNAME: ${{ secrets.SONATYPE_USER_1 }} MAVEN_PASSWORD: ${{ secrets.SONATYPE_USER1_PASS }} MAVEN_GPG_PASSPHRASE: ${{ secrets.PACKAGES_GPG_PASS }} + DEPLOY_TO: ossrh run: | mvn --version cmake --version diff --git a/libnd4j/pi_build.sh b/libnd4j/pi_build.sh index 8a536d155..ed56bd0f9 100755 --- a/libnd4j/pi_build.sh +++ b/libnd4j/pi_build.sh @@ -317,8 +317,12 @@ message "cd $BASE_DIR/.. " cd $BASE_DIR/.. message "lets build jars" export DHELPER=" -Dlibnd4j.helper=armcompute " + if [ "${DEPLOY}" ]; then echo "Deploying to maven" + if [ -z "$PUBLISH_TO" ]; then + PUBLISH_TO="ossrh" + fi mvn -P"${PUBLISH_TO}" deploy --batch-mode -Dlibnd4j.platform=${LIBND4J_PLATFORM} -Djavacpp.platform=${LIBND4J_PLATFORM} -DprotocCommand=protoc -Djavacpp.platform.compiler=${COMPILER_PREFIX}-${CC_EXE} -Djava.library.path=${JAVA_LIBRARY_PATH} ${DHELPER} -pl ":libnd4j,:nd4j-native" --also-make -DskipTests -Dmaven.test.skip=true -Dmaven.javadoc.skip=true else echo "Installing to local repo" From 46c3de23824146c2d3957ca72fa5f51118cf911d Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 13:45:45 +0900 Subject: [PATCH 07/18] Add smoke test for cross platform --- .../actions/install-cmake-linux/action.yml | 11 ++++ .github/workflows/build-android-x86_64.yml | 1 + .../workflows/build-deploy-android-arm32.yml | 1 + .../workflows/build-deploy-android-arm64.yml | 1 + .../workflows/build-deploy-linux-arm32.yml | 1 + .../workflows/build-deploy-linux-arm64.yml | 1 + .../build-deploy-linux-cuda-11.0.yml | 1 + .../build-deploy-linux-cuda-11.2.yml | 1 + .../workflows/build-deploy-linux-x86_64.yml | 3 +- .github/workflows/test_multiple_arch.yaml | 63 +++++++++++++++++++ .../java/org/nd4j/smoketests/SmokeTest.java | 59 +++++++++++++++++ 11 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 .github/actions/install-cmake-linux/action.yml create mode 100644 .github/workflows/test_multiple_arch.yaml create mode 100644 nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/smoketests/SmokeTest.java diff --git a/.github/actions/install-cmake-linux/action.yml b/.github/actions/install-cmake-linux/action.yml new file mode 100644 index 000000000..50d43583f --- /dev/null +++ b/.github/actions/install-cmake-linux/action.yml @@ -0,0 +1,11 @@ +name: Install protobuf linux +runs: + using: composite + steps: + - name: Install protobuf linux + shell: bash + run: | + apt-get -yq update && apt-get install -y build-essential unzip libssl-dev + curl -fsSL http://cmake.org/files/v3.19/cmake-3.19.0.tar.gz | tar xz && cd cmake-3.19.0 + ./configure --prefix=/opt/cmake && make -j2 && make install && cd .. && rm -r cmake-3.19.0 + echo "/opt/cmake/bin" >> $GITHUB_PATH \ No newline at end of file diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 31a01bed7..4f02dbf4f 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -18,6 +18,7 @@ jobs: ndk-version: r18b - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-android-arm32.yml b/.github/workflows/build-deploy-android-arm32.yml index 2977bb4c6..edd06604b 100644 --- a/.github/workflows/build-deploy-android-arm32.yml +++ b/.github/workflows/build-deploy-android-arm32.yml @@ -15,6 +15,7 @@ jobs: access_token: ${{ github.token }} - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index 42a7b8bd1..972cbb190 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -15,6 +15,7 @@ jobs: access_token: ${{ github.token }} - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-linux-arm32.yml b/.github/workflows/build-deploy-linux-arm32.yml index aa1e4d044..32921fbce 100644 --- a/.github/workflows/build-deploy-linux-arm32.yml +++ b/.github/workflows/build-deploy-linux-arm32.yml @@ -15,6 +15,7 @@ jobs: access_token: ${{ github.token }} - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-linux-arm64.yml b/.github/workflows/build-deploy-linux-arm64.yml index 57ae23b86..0b1a5f7c0 100644 --- a/.github/workflows/build-deploy-linux-arm64.yml +++ b/.github/workflows/build-deploy-linux-arm64.yml @@ -15,6 +15,7 @@ jobs: access_token: ${{ github.token }} - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-linux-cuda-11.0.yml b/.github/workflows/build-deploy-linux-cuda-11.0.yml index 63d5c2d46..b88743d09 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.0.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.0.yml @@ -25,6 +25,7 @@ jobs: cuda: 11.0.167 GCC: 9 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-linux-cuda-11.2.yml b/.github/workflows/build-deploy-linux-cuda-11.2.yml index 96a8a7ccc..b4039a89a 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.2.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.2.yml @@ -24,6 +24,7 @@ jobs: cuda: 11.2.1_461 GCC: 9 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: diff --git a/.github/workflows/build-deploy-linux-x86_64.yml b/.github/workflows/build-deploy-linux-x86_64.yml index 35528f500..20100df1f 100644 --- a/.github/workflows/build-deploy-linux-x86_64.yml +++ b/.github/workflows/build-deploy-linux-x86_64.yml @@ -14,6 +14,7 @@ jobs: access_token: ${{ github.token }} - uses: actions/checkout@v2 - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages uses: actions/setup-java@v1 with: @@ -38,6 +39,6 @@ jobs: protoc --version sudo apt-get autoremove sudo apt-get clean - mvn -X -Possrh -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode deploy -DskipTests + mvn -X -Possrh -pl :nd4j-tests -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode clean test -Dtest=org.nd4j.smoketests.SmokeTest diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml new file mode 100644 index 000000000..3e66ba9df --- /dev/null +++ b/.github/workflows/test_multiple_arch.yaml @@ -0,0 +1,63 @@ +on: + push: +jobs: + build_and_test_cross_platform: + # The host should always be linux + runs-on: ubuntu-16.04 + name: Build on ${{ matrix.distro }} ${{ matrix.arch }} + + # Run steps on a matrix of 2 arch/distro combinations + strategy: + fail-fast: false + matrix: + include: + - arch: aarch64 + distro: ubuntu16.04 + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.8.0 + with: + access_token: ${{ github.token }} + - uses: actions/checkout@v2 + - uses: ./.github/actions/download-dl4j-test-resources-linux + - uses: ./.github/actions/install-protobuf-linux + - uses: ./.github/actions/install-cmake-linux + - uses: uraimo/run-on-arch-action@v2.0.8 + name: Build and test with ${{ matrix.arch }} ${{ matrix.distro }} + id: build + with: + arch: ${{ matrix.arch }} + distro: ${{ matrix.distro }} + # Pass some environment variables to the container + env: | # YAML, but pipe character is necessary + DEBIAN_FRONTEND: noninteractive + M2_HOME: /opt/maven + + # The shell to run commands with in the container + shell: /bin/sh + run: | + echo "Running install on architecture ${{ matrix.arch }}" + apt-get -yq update && apt-get install -y build-essential unzip libssl-dev + echo "After install on architecture ${{ matrix.arch }}" + export PATH="/opt/maven/bin:$PATH" + echo "RUNNING ARCH ${{ matrix.arch }}" + case "${{ matrix.arch }}" in + armv7) + export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-armhf/jre + ;; + aarch64) + export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-arm64/jre" + ;; + ppc64le) + export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-ppc64el/jre + ;; + esac + mvn --version + export PATH="/opt/cmake/bin:/opt/maven/bin:/opt/protobuf/bin:$PATH" + cmake --version + echo "Running build in ${pwd}" + mvn -Ptestresources -Ptest-nd4j-native -Dlibnd4j.chip=cpu clean test + + + + diff --git a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/smoketests/SmokeTest.java b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/smoketests/SmokeTest.java new file mode 100644 index 000000000..91419ebef --- /dev/null +++ b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/smoketests/SmokeTest.java @@ -0,0 +1,59 @@ +/* + * + * * ****************************************************************************** + * * * + * * * + * * * This program and the accompanying materials are made available under the + * * * terms of the Apache License, Version 2.0 which is available at + * * * https://www.apache.org/licenses/LICENSE-2.0. + * * * + * * * See the NOTICE file distributed with this work for additional + * * * information regarding copyright ownership. + * * * Unless required by applicable law or agreed to in writing, software + * * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * * * License for the specific language governing permissions and limitations + * * * under the License. + * * * + * * * SPDX-License-Identifier: Apache-2.0 + * * ***************************************************************************** + * + * + */ + +package org.nd4j.smoketests; + +import lombok.extern.slf4j.Slf4j; +import org.junit.Test; +import org.nd4j.linalg.api.buffer.DataType; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.factory.Nd4j; +import org.nd4j.linalg.profiler.ProfilerConfig; + +@Slf4j +public class SmokeTest { + + + @Test + public void testBasic() { + Nd4j.getEnvironment().setDebug(true); + Nd4j.getExecutioner().setProfilingConfig(ProfilerConfig.builder() + .checkForNAN(true) + .checkForINF(true) + .checkLocality(true) + .checkElapsedTime(true) + .checkWorkspaces(true) + .build()); + INDArray arr = Nd4j.randn(2,2); + INDArray arr2 = Nd4j.randn(2,2); + for(DataType dataType : DataType.values()) { + log.info("Testing matrix multiply on data type {}",dataType); + INDArray casted = arr.castTo(dataType); + INDArray casted2 = arr2.castTo(dataType); + INDArray result = casted.mmul(casted2); + log.info("Result for data type {} was {}",dataType,result); + + } + } + +} From cde9f165a9ec9f62c5d875b863e18388338da9a4 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 14:11:36 +0900 Subject: [PATCH 08/18] Update deps --- .github/actions/update-deps-linux/action.yml | 8 ++++++++ .github/workflows/build-android-x86_64.yml | 1 + .github/workflows/build-deploy-android-arm32.yml | 1 + .github/workflows/build-deploy-android-arm64.yml | 1 + .github/workflows/build-deploy-linux-arm32.yml | 1 + .github/workflows/build-deploy-linux-arm64.yml | 1 + .github/workflows/build-deploy-linux-cuda-11.0.yml | 1 + .github/workflows/build-deploy-linux-cuda-11.2.yml | 1 + .github/workflows/build-deploy-linux-x86_64.yml | 1 + 9 files changed, 16 insertions(+) create mode 100644 .github/actions/update-deps-linux/action.yml diff --git a/.github/actions/update-deps-linux/action.yml b/.github/actions/update-deps-linux/action.yml new file mode 100644 index 000000000..d70259fce --- /dev/null +++ b/.github/actions/update-deps-linux/action.yml @@ -0,0 +1,8 @@ +name: Install protobuf linux +runs: + using: composite + steps: + - name: Install protobuf linux + shell: bash + run: | + apt-get update && apt-get upgrade \ No newline at end of file diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 4f02dbf4f..82ce71160 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -17,6 +17,7 @@ jobs: with: ndk-version: r18b - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-android-arm32.yml b/.github/workflows/build-deploy-android-arm32.yml index edd06604b..e7a3750d6 100644 --- a/.github/workflows/build-deploy-android-arm32.yml +++ b/.github/workflows/build-deploy-android-arm32.yml @@ -14,6 +14,7 @@ jobs: with: access_token: ${{ github.token }} - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index 972cbb190..0243bfe7d 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -14,6 +14,7 @@ jobs: with: access_token: ${{ github.token }} - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-linux-arm32.yml b/.github/workflows/build-deploy-linux-arm32.yml index 32921fbce..ac4c6aa90 100644 --- a/.github/workflows/build-deploy-linux-arm32.yml +++ b/.github/workflows/build-deploy-linux-arm32.yml @@ -14,6 +14,7 @@ jobs: with: access_token: ${{ github.token }} - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-linux-arm64.yml b/.github/workflows/build-deploy-linux-arm64.yml index 0b1a5f7c0..8c641ba86 100644 --- a/.github/workflows/build-deploy-linux-arm64.yml +++ b/.github/workflows/build-deploy-linux-arm64.yml @@ -14,6 +14,7 @@ jobs: with: access_token: ${{ github.token }} - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-linux-cuda-11.0.yml b/.github/workflows/build-deploy-linux-cuda-11.0.yml index b88743d09..037beec42 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.0.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.0.yml @@ -24,6 +24,7 @@ jobs: env: cuda: 11.0.167 GCC: 9 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-linux-cuda-11.2.yml b/.github/workflows/build-deploy-linux-cuda-11.2.yml index b4039a89a..68880363b 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.2.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.2.yml @@ -23,6 +23,7 @@ jobs: env: cuda: 11.2.1_461 GCC: 9 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages diff --git a/.github/workflows/build-deploy-linux-x86_64.yml b/.github/workflows/build-deploy-linux-x86_64.yml index 20100df1f..2a98c4fe5 100644 --- a/.github/workflows/build-deploy-linux-x86_64.yml +++ b/.github/workflows/build-deploy-linux-x86_64.yml @@ -13,6 +13,7 @@ jobs: with: access_token: ${{ github.token }} - uses: actions/checkout@v2 + - uses: ./.github/actions/update-deps-linux - uses: ./.github/actions/install-protobuf-linux - uses: ./.github/actions/install-cmake-linux - name: Set up Java for publishing to GitHub Packages From ad47dd8dd4907703b86f41c8ed0577c2337c8f45 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 14:12:47 +0900 Subject: [PATCH 09/18] Update action.yml --- .github/actions/update-deps-linux/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/update-deps-linux/action.yml b/.github/actions/update-deps-linux/action.yml index d70259fce..4fdbf98d9 100644 --- a/.github/actions/update-deps-linux/action.yml +++ b/.github/actions/update-deps-linux/action.yml @@ -5,4 +5,4 @@ runs: - name: Install protobuf linux shell: bash run: | - apt-get update && apt-get upgrade \ No newline at end of file + sudo apt-get update && apt-get upgrade \ No newline at end of file From 1f6e08c8a6133e3cee6081095b74922b49c3d4e0 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 14:15:01 +0900 Subject: [PATCH 10/18] Update action.yml --- .github/actions/update-deps-linux/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/update-deps-linux/action.yml b/.github/actions/update-deps-linux/action.yml index 4fdbf98d9..3f33729f6 100644 --- a/.github/actions/update-deps-linux/action.yml +++ b/.github/actions/update-deps-linux/action.yml @@ -5,4 +5,4 @@ runs: - name: Install protobuf linux shell: bash run: | - sudo apt-get update && apt-get upgrade \ No newline at end of file + sudo apt-get update && sudo apt-get upgrade \ No newline at end of file From deaabd6cd75ca4cb699b614b3a21157b3e2cdb05 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 15:29:05 +0900 Subject: [PATCH 11/18] Update action.yml --- .github/actions/update-deps-linux/action.yml | 57 +++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/.github/actions/update-deps-linux/action.yml b/.github/actions/update-deps-linux/action.yml index 3f33729f6..208b6e19a 100644 --- a/.github/actions/update-deps-linux/action.yml +++ b/.github/actions/update-deps-linux/action.yml @@ -5,4 +5,59 @@ runs: - name: Install protobuf linux shell: bash run: | - sudo apt-get update && sudo apt-get upgrade \ No newline at end of file + sudo apt-get install build-essential make zlib1g-dev wget + wget https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.bz2 + tar jxf libgpg-error-1.36.tar.bz2 + cd libgpg-error-1.36 + ./configure + make + sudo make install + cd .. + wget https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.bz2 + tar jxf libgcrypt-1.8.4.tar.bz2 + cd libgcrypt-1.8.4 + ./configure + make + sudo make install + cd .. + wget https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.3.5.tar.bz2 + tar jxf libksba-1.3.5.tar.bz2 + cd libksba-1.3.5 + ./configure + make + sudo make install + cd .. + wget https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.3.tar.bz2 + tar jxf libassuan-2.5.3.tar.bz2 + cd libassuan-2.5.3 + ./configure + make + sudo make install + cd .. + wget https://www.gnupg.org/ftp/gcrypt/ntbtls/ntbtls-0.1.2.tar.bz2 + tar jxf ntbtls-0.1.2.tar.bz2 + cd ntbtls-0.1.2 + ./configure + make + sudo make install + cd .. + wget https://www.gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2 + tar jxf npth-1.6.tar.bz2 + cd npth-1.6 + ./configure + make + sudo make install + cd .. + echo 'include /usr/local/lib/' | sudo tee -a /etc/ld.so.conf + sudo ldconfig -v + wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.17.tar.bz2 + tar jxf gnupg-2.2.17.tar.bz2 + cd gnupg-2.2.17/ + ./configure + make + sudo make install + cd .. + sudo apt-get install pinentry-curses + echo 'pinentry-program /usr/bin/pinentry-curses' | tee -a ~/.gnupg/gpg-agent.conf + gpg-connect-agent reloadagent /bye + sudo apt-get install ca-certificates From 2258799d2fb83e61d1928339681136cec3e3ae74 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 15:34:31 +0900 Subject: [PATCH 12/18] Update action.yml --- .github/actions/update-deps-linux/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/update-deps-linux/action.yml b/.github/actions/update-deps-linux/action.yml index 208b6e19a..0ba7c79da 100644 --- a/.github/actions/update-deps-linux/action.yml +++ b/.github/actions/update-deps-linux/action.yml @@ -58,6 +58,6 @@ runs: sudo make install cd .. sudo apt-get install pinentry-curses - echo 'pinentry-program /usr/bin/pinentry-curses' | tee -a ~/.gnupg/gpg-agent.conf - gpg-connect-agent reloadagent /bye + #echo 'pinentry-program /usr/bin/pinentry-curses' | tee -a ~/.gnupg/gpg-agent.conf + #gpg-connect-agent reloadagent /bye sudo apt-get install ca-certificates From 9a358d3e695655e8d98177821e6922737c4dc593 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 16:01:52 +0900 Subject: [PATCH 13/18] Change build scripts --- .github/workflows/build-deploy-linux-x86_64.yml | 3 +-- .github/workflows/test_multiple_arch.yaml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deploy-linux-x86_64.yml b/.github/workflows/build-deploy-linux-x86_64.yml index 2a98c4fe5..3ac962599 100644 --- a/.github/workflows/build-deploy-linux-x86_64.yml +++ b/.github/workflows/build-deploy-linux-x86_64.yml @@ -40,6 +40,5 @@ jobs: protoc --version sudo apt-get autoremove sudo apt-get clean - mvn -X -Possrh -pl :nd4j-tests -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode clean test -Dtest=org.nd4j.smoketests.SmokeTest - + mvn -X -Possrh -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode deploy -DskipTests diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml index 3e66ba9df..f20758e6b 100644 --- a/.github/workflows/test_multiple_arch.yaml +++ b/.github/workflows/test_multiple_arch.yaml @@ -56,7 +56,7 @@ jobs: export PATH="/opt/cmake/bin:/opt/maven/bin:/opt/protobuf/bin:$PATH" cmake --version echo "Running build in ${pwd}" - mvn -Ptestresources -Ptest-nd4j-native -Dlibnd4j.chip=cpu clean test + mvn -X -Possrh -pl :nd4j-tests -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode clean test -Dtest=org.nd4j.smoketests.SmokeTest From 8d2a24c060d017b784525a3ba386af15f6a9aaa2 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 18:16:40 +0900 Subject: [PATCH 14/18] Update --- .github/workflows/build-android-x86_64.yml | 6 ++++-- .github/workflows/test_multiple_arch.yaml | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 82ce71160..682104766 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -32,12 +32,12 @@ jobs: - name: Build on linux-x86_64 env: ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }} - LIBND4J_HOME: "${GITHUB_WORKSPACE}/libnd4j" + LIBND4J_HOME: ${GITHUB_WORKSPACE}/libnd4j GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} MAVEN_USERNAME: ${{ secrets.SONATYPE_USER_1 }} MAVEN_PASSWORD: ${{ secrets.SONATYPE_USER1_PASS }} MAVEN_GPG_PASSPHRASE: ${{ secrets.PACKAGES_GPG_PASS }} - OPENBLAS_PATH: "$HOME/.javacpp/cache/openblas-0.3.13-1.5.5-android-x86_64.jar/lib/" + OPENBLAS_PATH: ${HOME}/.javacpp/cache/openblas-0.3.13-1.5.5-android-x86_64.jar/lib/ DEPLOY_TO: ossrh run: | echo "Verifying programs on path. Path is $PATH" @@ -46,6 +46,8 @@ jobs: cmake --version protoc --version clang --version + export LIBND4J_HOME=${GITHUB_WORKSPACE}/libnd4j + export OPENBLAS_PATH=${HOME}/.javacpp/cache/openblas-0.3.13-1.5.5-android-x86_64.jar/lib/ mvn -X -Dorg.bytedeco.javacpp.logger.debug=true -Possrh -pl ":nd4j-native,:libnd4j" --also-make \ -Djavacpp.platform=android-x86_64 \ -Dlibnd4j.platform=android-x86_64 -Dlibnd4j.chip=cpu \ diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml index f20758e6b..bee31b573 100644 --- a/.github/workflows/test_multiple_arch.yaml +++ b/.github/workflows/test_multiple_arch.yaml @@ -37,8 +37,10 @@ jobs: shell: /bin/sh run: | echo "Running install on architecture ${{ matrix.arch }}" - apt-get -yq update && apt-get install -y build-essential unzip libssl-dev + apt-get -yq update && apt-get install -y build-essential unzip libssl-dev curl echo "After install on architecture ${{ matrix.arch }}" + mkdir -p "/opt/maven" + curl -fsSL http://apache.osuosl.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xzC "/opt/maven" --strip-components=1 export PATH="/opt/maven/bin:$PATH" echo "RUNNING ARCH ${{ matrix.arch }}" case "${{ matrix.arch }}" in From 8f151bc7bb9562f70fb9e9280faeb3103a516937 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 19:44:57 +0900 Subject: [PATCH 15/18] Update test_multiple_arch.yaml --- .github/workflows/test_multiple_arch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml index bee31b573..9cc40869c 100644 --- a/.github/workflows/test_multiple_arch.yaml +++ b/.github/workflows/test_multiple_arch.yaml @@ -37,7 +37,7 @@ jobs: shell: /bin/sh run: | echo "Running install on architecture ${{ matrix.arch }}" - apt-get -yq update && apt-get install -y build-essential unzip libssl-dev curl + apt-get -yq update && apt-get install -y build-essential unzip libssl-dev curl openjdk-8-jdk-headless echo "After install on architecture ${{ matrix.arch }}" mkdir -p "/opt/maven" curl -fsSL http://apache.osuosl.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xzC "/opt/maven" --strip-components=1 From e5386e488d469acd73a646a8b52eedc557c4dc13 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Wed, 10 Mar 2021 20:31:23 +0900 Subject: [PATCH 16/18] Remove concurrent builds to prevent queue clogging --- .github/workflows/build-android-x86_64.yml | 12 ++++++++++++ .github/workflows/build-deploy-android-arm32.yml | 12 ++++++++++++ .github/workflows/build-deploy-android-arm64.yml | 12 ++++++++++++ .github/workflows/build-deploy-linux-arm32.yml | 12 ++++++++++++ .github/workflows/build-deploy-linux-arm64.yml | 12 ++++++++++++ .github/workflows/build-deploy-linux-cuda-11.0.yml | 13 ++++++++++++- .github/workflows/build-deploy-linux-cuda-11.2.yml | 12 ++++++++++++ .github/workflows/build-deploy-linux-x86_64.yml | 12 ++++++++++++ .github/workflows/build-deploy-mac.yml | 12 ++++++++++++ .../workflows/build-deploy-windows-cuda-11.0.yml | 12 ++++++++++++ .../workflows/build-deploy-windows-cuda-11.2.yml | 12 ++++++++++++ .github/workflows/build-deploy-windows.yml | 13 ++++++++++++- .github/workflows/cpu-integration-tests.yaml | 12 ++++++++++++ .github/workflows/cpu-sanity-check-tests.yaml | 12 ++++++++++++ .github/workflows/run-gpu-tests-sanity-checks.yml | 12 ++++++++++++ .github/workflows/test_multiple_arch.yaml | 12 ++++++++++++ 16 files changed, 192 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 682104766..6acbbd7af 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -4,7 +4,19 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} android-x86_64: + needs: pre-ci runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/build-deploy-android-arm32.yml b/.github/workflows/build-deploy-android-arm32.yml index e7a3750d6..1f765d895 100644 --- a/.github/workflows/build-deploy-android-arm32.yml +++ b/.github/workflows/build-deploy-android-arm32.yml @@ -4,8 +4,20 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. android-arm32: + needs: pre-ci runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index 0243bfe7d..95fd2b558 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -4,8 +4,20 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. android-arm64: + needs: pre-ci runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/build-deploy-linux-arm32.yml b/.github/workflows/build-deploy-linux-arm32.yml index ac4c6aa90..e0c3015b2 100644 --- a/.github/workflows/build-deploy-linux-arm32.yml +++ b/.github/workflows/build-deploy-linux-arm32.yml @@ -4,8 +4,20 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-arm32: + needs: pre-ci runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/build-deploy-linux-arm64.yml b/.github/workflows/build-deploy-linux-arm64.yml index 8c641ba86..f4579eb24 100644 --- a/.github/workflows/build-deploy-linux-arm64.yml +++ b/.github/workflows/build-deploy-linux-arm64.yml @@ -4,8 +4,20 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-arm64: + needs: pre-ci runs-on: ubuntu-16.04 steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/build-deploy-linux-cuda-11.0.yml b/.github/workflows/build-deploy-linux-cuda-11.0.yml index 037beec42..edb670b63 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.0.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.0.yml @@ -4,8 +4,19 @@ on: workflow_dispatch: push: jobs: - + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-x86_64-cuda_11-0: + needs: pre-ci runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-linux-cuda-11.2.yml b/.github/workflows/build-deploy-linux-cuda-11.2.yml index 68880363b..3dbcfabdd 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.2.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.2.yml @@ -4,7 +4,19 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-x86_64-cuda-11-2: + needs: pre-ci runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-linux-x86_64.yml b/.github/workflows/build-deploy-linux-x86_64.yml index 3ac962599..d0a399b68 100644 --- a/.github/workflows/build-deploy-linux-x86_64.yml +++ b/.github/workflows/build-deploy-linux-x86_64.yml @@ -4,8 +4,20 @@ on: workflow_dispatch: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} #Note: no -pl here because we publish everything from this branch and use this as the basis for all uploads. linux-x86_64: + needs: pre-ci runs-on: ubuntu-16.04 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-mac.yml b/.github/workflows/build-deploy-mac.yml index 93bd3898e..866f25713 100644 --- a/.github/workflows/build-deploy-mac.yml +++ b/.github/workflows/build-deploy-mac.yml @@ -3,7 +3,19 @@ on: - cron: "0 */12 * * *" workflow_dispatch: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} mac-x86_64: + needs: pre-ci runs-on: macos-10.15 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-windows-cuda-11.0.yml b/.github/workflows/build-deploy-windows-cuda-11.0.yml index b2f61ed9a..4b847aa4f 100644 --- a/.github/workflows/build-deploy-windows-cuda-11.0.yml +++ b/.github/workflows/build-deploy-windows-cuda-11.0.yml @@ -3,7 +3,19 @@ on: - cron: "0 */12 * * *" workflow_dispatch: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} windows-x86_64-cuda-11-0: + needs: pre-ci runs-on: windows-2019 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-windows-cuda-11.2.yml b/.github/workflows/build-deploy-windows-cuda-11.2.yml index 8cd435732..8e651d2d1 100644 --- a/.github/workflows/build-deploy-windows-cuda-11.2.yml +++ b/.github/workflows/build-deploy-windows-cuda-11.2.yml @@ -3,7 +3,19 @@ on: - cron: "0 */12 * * *" workflow_dispatch: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} windows-x86_64-cuda-11-2: + needs: pre-ci runs-on: windows-2019 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/build-deploy-windows.yml b/.github/workflows/build-deploy-windows.yml index 51ad31e7e..5ef668698 100644 --- a/.github/workflows/build-deploy-windows.yml +++ b/.github/workflows/build-deploy-windows.yml @@ -3,8 +3,19 @@ on: - cron: "0 */12 * * *" workflow_dispatch: jobs: - + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} windows-x86_64: + needs: pre-ci runs-on: windows-2019 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/cpu-integration-tests.yaml b/.github/workflows/cpu-integration-tests.yaml index 8d57fa2e7..edb240dc4 100644 --- a/.github/workflows/cpu-integration-tests.yaml +++ b/.github/workflows/cpu-integration-tests.yaml @@ -1,7 +1,19 @@ on: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-x86_64: + needs: pre-ci runs-on: ubuntu-18.04 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/cpu-sanity-check-tests.yaml b/.github/workflows/cpu-sanity-check-tests.yaml index 0fc3120a9..46dccea75 100644 --- a/.github/workflows/cpu-sanity-check-tests.yaml +++ b/.github/workflows/cpu-sanity-check-tests.yaml @@ -1,7 +1,19 @@ on: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-x86_64: + needs: pre-ci runs-on: ubuntu-18.04 steps: - name: Cancel Previous Runs diff --git a/.github/workflows/run-gpu-tests-sanity-checks.yml b/.github/workflows/run-gpu-tests-sanity-checks.yml index 89335a5e8..0e9e437f5 100644 --- a/.github/workflows/run-gpu-tests-sanity-checks.yml +++ b/.github/workflows/run-gpu-tests-sanity-checks.yml @@ -2,7 +2,19 @@ on: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-x86_64-cuda-11-2: + needs: pre-ci runs-on: [self-hosted] steps: - uses: AutoModality/action-clean@v1 diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml index 9cc40869c..1323dc971 100644 --- a/.github/workflows/test_multiple_arch.yaml +++ b/.github/workflows/test_multiple_arch.yaml @@ -1,7 +1,19 @@ on: push: jobs: + # Wait for up to a minute for previous run to complete, abort if not done by then + pre-ci: + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: 'Block Concurrent Executions' + uses: softprops/turnstyle@v1 + with: + poll-interval-seconds: 10 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build_and_test_cross_platform: + needs: pre-ci # The host should always be linux runs-on: ubuntu-16.04 name: Build on ${{ matrix.distro }} ${{ matrix.arch }} From f0b6b517c3e6ea5e0a9d551050d7df5f122e1edc Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Thu, 11 Mar 2021 08:34:31 +0900 Subject: [PATCH 17/18] Update --- .github/workflows/test_multiple_arch.yaml | 19 +++++++++++++++++-- libnd4j/buildnativeoperations.sh | 4 ++-- .../java/org/nd4j/ir/TensorNamespace.java | 12 ------------ 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test_multiple_arch.yaml b/.github/workflows/test_multiple_arch.yaml index 1323dc971..9165d4eff 100644 --- a/.github/workflows/test_multiple_arch.yaml +++ b/.github/workflows/test_multiple_arch.yaml @@ -33,7 +33,6 @@ jobs: - uses: actions/checkout@v2 - uses: ./.github/actions/download-dl4j-test-resources-linux - uses: ./.github/actions/install-protobuf-linux - - uses: ./.github/actions/install-cmake-linux - uses: uraimo/run-on-arch-action@v2.0.8 name: Build and test with ${{ matrix.arch }} ${{ matrix.distro }} id: build @@ -53,6 +52,9 @@ jobs: echo "After install on architecture ${{ matrix.arch }}" mkdir -p "/opt/maven" curl -fsSL http://apache.osuosl.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz | tar -xzC "/opt/maven" --strip-components=1 + apt-get -yq update && apt-get install -y build-essential unzip libssl-dev + curl -fsSL http://cmake.org/files/v3.19/cmake-3.19.0.tar.gz | tar xz && cd cmake-3.19.0 + ./configure --prefix=/opt/cmake && make -j2 && make install && cd .. && rm -r cmake-3.19.0 export PATH="/opt/maven/bin:$PATH" echo "RUNNING ARCH ${{ matrix.arch }}" case "${{ matrix.arch }}" in @@ -69,8 +71,21 @@ jobs: mvn --version export PATH="/opt/cmake/bin:/opt/maven/bin:/opt/protobuf/bin:$PATH" cmake --version + wget https://github.com/KonduitAI/dl4j-test-resources/archive/master.zip && unzip master.zip + cd dl4j-test-resources-master + mvn clean install -DskipTests + echo "Extracted test resources" echo "Running build in ${pwd}" - mvn -X -Possrh -pl :nd4j-tests -Djavacpp.platform=linux-x86_64 -Dlibnd4j.chip=cpu -Pcpu --batch-mode clean test -Dtest=org.nd4j.smoketests.SmokeTest + curl -fsSL https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-cpp-3.5.1.tar.gz \ + | tar xz && \ + cd protobuf-3.5.1 && \ + ./configure --prefix=/opt/protobuf && \ + make -j2 && \ + make install && \ + cd .. && \ + rm -rf protobuf-3.5.1 + echo "/opt/protobuf/bin" >> $GITHUB_PATH + mvn -X -Possrh -pl :nd4j-tests -Djavacpp.platform=linux-${{matrix.arch}} -Dlibnd4j.chip=cpu -Pcpu --batch-mode clean test -Dtest=org.nd4j.smoketests.SmokeTest diff --git a/libnd4j/buildnativeoperations.sh b/libnd4j/buildnativeoperations.sh index ec20f400e..966512971 100755 --- a/libnd4j/buildnativeoperations.sh +++ b/libnd4j/buildnativeoperations.sh @@ -438,9 +438,9 @@ fi if [ -z "$COMPUTE" ]; then if [ "$ARCH" == "x86-64" ]; then - COMPUTE="5.0 5.2 5.3 6.0 6.2 8.0" + COMPUTE="5.0 5.2 5.3 6.0 8.0" else - COMPUTE="5.0 5.2 5.3 6.0 6.2" + COMPUTE="5.0 5.2 5.3 6.0" fi fi diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java index a0899ddbe..434bda3a8 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/ir/TensorNamespace.java @@ -5411,14 +5411,12 @@ public final class TensorNamespace { * Serializations can either use one of the fields above, or use this * raw bytes field. The only exception is the string case, where one is * required to store the content in the repeated bytes string_data field. - * * When this raw_data field is used to store tensor value, elements MUST * be stored in as fixed-width, little-endian order. * Floating-point data types MUST be stored in IEEE 754 format. * Complex64 elements must be written as two consecutive FLOAT values, real component first. * Complex128 elements must be written as two consecutive DOUBLE values, real component first. * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). - * * Note: the advantage of specific field rather than the raw_data field is * that in some cases (e.g. int data), protobuf does a better packing via * variable length storage, and may lead to smaller binary footprint. @@ -5657,7 +5655,6 @@ public final class TensorNamespace { /** *
    * Tensors
-   *
    * A serialized tensor value.
    * 
* @@ -7013,14 +7010,12 @@ public final class TensorNamespace { * Serializations can either use one of the fields above, or use this * raw bytes field. The only exception is the string case, where one is * required to store the content in the repeated bytes string_data field. - * * When this raw_data field is used to store tensor value, elements MUST * be stored in as fixed-width, little-endian order. * Floating-point data types MUST be stored in IEEE 754 format. * Complex64 elements must be written as two consecutive FLOAT values, real component first. * Complex128 elements must be written as two consecutive DOUBLE values, real component first. * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). - * * Note: the advantage of specific field rather than the raw_data field is * that in some cases (e.g. int data), protobuf does a better packing via * variable length storage, and may lead to smaller binary footprint. @@ -7771,7 +7766,6 @@ public final class TensorNamespace { /** *
      * Tensors
-     *
      * A serialized tensor value.
      * 
* @@ -9086,14 +9080,12 @@ public final class TensorNamespace { * Serializations can either use one of the fields above, or use this * raw bytes field. The only exception is the string case, where one is * required to store the content in the repeated bytes string_data field. - * * When this raw_data field is used to store tensor value, elements MUST * be stored in as fixed-width, little-endian order. * Floating-point data types MUST be stored in IEEE 754 format. * Complex64 elements must be written as two consecutive FLOAT values, real component first. * Complex128 elements must be written as two consecutive DOUBLE values, real component first. * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). - * * Note: the advantage of specific field rather than the raw_data field is * that in some cases (e.g. int data), protobuf does a better packing via * variable length storage, and may lead to smaller binary footprint. @@ -9110,14 +9102,12 @@ public final class TensorNamespace { * Serializations can either use one of the fields above, or use this * raw bytes field. The only exception is the string case, where one is * required to store the content in the repeated bytes string_data field. - * * When this raw_data field is used to store tensor value, elements MUST * be stored in as fixed-width, little-endian order. * Floating-point data types MUST be stored in IEEE 754 format. * Complex64 elements must be written as two consecutive FLOAT values, real component first. * Complex128 elements must be written as two consecutive DOUBLE values, real component first. * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). - * * Note: the advantage of specific field rather than the raw_data field is * that in some cases (e.g. int data), protobuf does a better packing via * variable length storage, and may lead to smaller binary footprint. @@ -9140,14 +9130,12 @@ public final class TensorNamespace { * Serializations can either use one of the fields above, or use this * raw bytes field. The only exception is the string case, where one is * required to store the content in the repeated bytes string_data field. - * * When this raw_data field is used to store tensor value, elements MUST * be stored in as fixed-width, little-endian order. * Floating-point data types MUST be stored in IEEE 754 format. * Complex64 elements must be written as two consecutive FLOAT values, real component first. * Complex128 elements must be written as two consecutive DOUBLE values, real component first. * Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false). - * * Note: the advantage of specific field rather than the raw_data field is * that in some cases (e.g. int data), protobuf does a better packing via * variable length storage, and may lead to smaller binary footprint. From 5ea30197828004c60ae00254b51deacc772fa3b9 Mon Sep 17 00:00:00 2001 From: agibsonccc Date: Thu, 11 Mar 2021 11:27:55 +0900 Subject: [PATCH 18/18] Remove on push triggers --- .github/workflows/build-android-x86_64.yml | 1 - .github/workflows/build-deploy-android-arm32.yml | 1 - .github/workflows/build-deploy-android-arm64.yml | 1 - .github/workflows/build-deploy-linux-arm32.yml | 1 - .github/workflows/build-deploy-linux-arm64.yml | 1 - .github/workflows/build-deploy-linux-cuda-11.0.yml | 3 +-- .github/workflows/build-deploy-linux-cuda-11.2.yml | 3 +-- 7 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-android-x86_64.yml b/.github/workflows/build-android-x86_64.yml index 6acbbd7af..100785699 100644 --- a/.github/workflows/build-android-x86_64.yml +++ b/.github/workflows/build-android-x86_64.yml @@ -2,7 +2,6 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: diff --git a/.github/workflows/build-deploy-android-arm32.yml b/.github/workflows/build-deploy-android-arm32.yml index 1f765d895..5390efc11 100644 --- a/.github/workflows/build-deploy-android-arm32.yml +++ b/.github/workflows/build-deploy-android-arm32.yml @@ -2,7 +2,6 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: diff --git a/.github/workflows/build-deploy-android-arm64.yml b/.github/workflows/build-deploy-android-arm64.yml index 95fd2b558..58d5dcdee 100644 --- a/.github/workflows/build-deploy-android-arm64.yml +++ b/.github/workflows/build-deploy-android-arm64.yml @@ -2,7 +2,6 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: diff --git a/.github/workflows/build-deploy-linux-arm32.yml b/.github/workflows/build-deploy-linux-arm32.yml index e0c3015b2..fc229f3fe 100644 --- a/.github/workflows/build-deploy-linux-arm32.yml +++ b/.github/workflows/build-deploy-linux-arm32.yml @@ -2,7 +2,6 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: diff --git a/.github/workflows/build-deploy-linux-arm64.yml b/.github/workflows/build-deploy-linux-arm64.yml index f4579eb24..65bb426b8 100644 --- a/.github/workflows/build-deploy-linux-arm64.yml +++ b/.github/workflows/build-deploy-linux-arm64.yml @@ -2,7 +2,6 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: diff --git a/.github/workflows/build-deploy-linux-cuda-11.0.yml b/.github/workflows/build-deploy-linux-cuda-11.0.yml index edb670b63..98ca27951 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.0.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.0.yml @@ -2,11 +2,10 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: - runs-on: ubuntu-latest + runs-on: ubuntu-16.04 timeout-minutes: 1 steps: - name: 'Block Concurrent Executions' diff --git a/.github/workflows/build-deploy-linux-cuda-11.2.yml b/.github/workflows/build-deploy-linux-cuda-11.2.yml index 3dbcfabdd..03e4752c0 100644 --- a/.github/workflows/build-deploy-linux-cuda-11.2.yml +++ b/.github/workflows/build-deploy-linux-cuda-11.2.yml @@ -2,11 +2,10 @@ on: schedule: - cron: "0 */12 * * *" workflow_dispatch: - push: jobs: # Wait for up to a minute for previous run to complete, abort if not done by then pre-ci: - runs-on: ubuntu-latest + runs-on: ubuntu-16.04 timeout-minutes: 1 steps: - name: 'Block Concurrent Executions'