Date: Friday, June 25, 2021 @ 22:42:23 Author: kgizdov Revision: 967471
archrelease: copy trunk to community-testing-x86_64 Added: tensorflow/repos/community-testing-x86_64/ tensorflow/repos/community-testing-x86_64/48935.patch (from rev 967470, tensorflow/trunk/48935.patch) tensorflow/repos/community-testing-x86_64/PKGBUILD (from rev 967470, tensorflow/trunk/PKGBUILD) tensorflow/repos/community-testing-x86_64/build-against-actual-mkl.patch (from rev 967470, tensorflow/trunk/build-against-actual-mkl.patch) tensorflow/repos/community-testing-x86_64/fix-c++17-compat.patch (from rev 967470, tensorflow/trunk/fix-c++17-compat.patch) tensorflow/repos/community-testing-x86_64/test.py (from rev 967470, tensorflow/trunk/test.py) --------------------------------+ 48935.patch | 432 +++++++++++++++++++++++++++++++++++++++ PKGBUILD | 322 +++++++++++++++++++++++++++++ build-against-actual-mkl.patch | 37 +++ fix-c++17-compat.patch | 11 test.py | 12 + 5 files changed, 814 insertions(+) Copied: tensorflow/repos/community-testing-x86_64/48935.patch (from rev 967470, tensorflow/trunk/48935.patch) =================================================================== --- community-testing-x86_64/48935.patch (rev 0) +++ community-testing-x86_64/48935.patch 2021-06-25 22:42:23 UTC (rev 967471) @@ -0,0 +1,432 @@ +From 0f8fde42d09b199d02cf5d9d79fe76ebf1d260ef Mon Sep 17 00:00:00 2001 +From: Ben Greiner <c...@bnavigator.de> +Date: Thu, 6 May 2021 12:13:40 +0200 +Subject: [PATCH 1/7] Fix NumPy 1.20 error with np.prod() + +Reference: #47691, https://stackoverflow.com/questions/66373169 +--- + tensorflow/python/ops/array_ops.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tensorflow/python/ops/array_ops.py b/tensorflow/python/ops/array_ops.py +index 519f2ef26fcef..d143ee96a2fc9 100644 +--- a/tensorflow/python/ops/array_ops.py ++++ b/tensorflow/python/ops/array_ops.py +@@ -36,6 +36,7 @@ + from tensorflow.python.framework.constant_op import constant + from tensorflow.python.ops import gen_array_ops + from tensorflow.python.ops import gen_math_ops ++from tensorflow.python.ops import math_ops + # go/tf-wildcard-import + # pylint: disable=wildcard-import + from tensorflow.python.ops.gen_array_ops import * +@@ -2894,7 +2895,7 @@ def matrix_set_diag( + + def _constant_if_small(value, shape, dtype, name): + try: +- if np.prod(shape) < 1000: ++ if math_ops.reduce_prod(shape) < 1000: + return constant(value, shape=shape, dtype=dtype, name=name) + except TypeError: + # Happens when shape is a Tensor, list with Tensor elements, etc. + +From 86cbf87703876330b5818b7f170489356d9d2c86 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <c...@bnavigator.de> +Date: Thu, 6 May 2021 12:34:12 +0200 +Subject: [PATCH 2/7] relax upper bounds for NumPy and SciPy in pip installs + +--- + .../tools/pip_package/setup_with_binary.py | 2 +- + .../install/install_centos_pip_packages.sh | 6 +++--- + .../ci_build/install/install_pip_packages.sh | 4 ++-- + .../install/install_pip_packages_by_version.sh | 2 +- + .../install/install_python3.6_pip_packages.sh | 2 +- + tensorflow/tools/ci_build/release/common.sh | 18 +++++++++--------- + tensorflow/tools/pip_package/setup.py | 2 +- + 7 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/tensorflow/lite/tools/pip_package/setup_with_binary.py b/tensorflow/lite/tools/pip_package/setup_with_binary.py +index 6b9fe534bb2b1..ae06df8245521 100644 +--- a/tensorflow/lite/tools/pip_package/setup_with_binary.py ++++ b/tensorflow/lite/tools/pip_package/setup_with_binary.py +@@ -67,5 +67,5 @@ + package_dir={'': '.'}, + package_data={'': ['*.so', '*.pyd']}, + install_requires=[ +- 'numpy ~= 1.19.2', # Higher versions have a compatibility issue. ++ 'numpy >= 1.19.2 , <1.21', + ]) +diff --git a/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh b/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh +index b9906b9378c79..ab0a766bf22b0 100755 +--- a/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_centos_pip_packages.sh +@@ -55,17 +55,17 @@ pip2 install --upgrade protobuf==3.6.1 + pip3 install --upgrade protobuf==3.6.1 + + pip2 install --upgrade numpy==1.14.5 +-pip3 install --upgrade numpy==1.14.5 ++pip3 install --upgrade numpy>=1.14.5 + + pip2 install scipy==1.2.2 +-pip3 install scipy==1.4.1 ++pip3 install scipy>=1.4.1 + + pip2 install scikit-learn==0.18.1 + pip3 install scikit-learn==0.18.1 + + # pandas required by `inflow` + pip2 install pandas==0.19.2 +-pip3 install pandas==0.19.2 ++pip3 install pandas>=0.19.2 + + # Benchmark tests require the following: + pip2 install psutil +diff --git a/tensorflow/tools/ci_build/install/install_pip_packages.sh b/tensorflow/tools/ci_build/install/install_pip_packages.sh +index f9aa818c57038..6f0bf612e51ec 100755 +--- a/tensorflow/tools/ci_build/install/install_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_pip_packages.sh +@@ -60,9 +60,9 @@ rm -rf /usr/lib/python3/dist-packages/six* + # https://github.com/tensorflow/tensorflow/issues/6968 + # This workaround isn't needed for Ubuntu 16.04 or later. + if $(cat /etc/*-release | grep -q 14.04); then +- pip3 install --no-binary=:all: --upgrade numpy==1.14.5 ++ pip3 install --no-binary=:all: --upgrade numpy>=1.14.5 + else +- pip3 install --upgrade numpy==1.14.5 ++ pip3 install --upgrade numpy>=1.14.5 + fi + + pip3 install scipy==1.4.1 +diff --git a/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh b/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh +index 110928f3b3de5..b536bf20b8992 100755 +--- a/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh ++++ b/tensorflow/tools/ci_build/install/install_pip_packages_by_version.sh +@@ -29,7 +29,7 @@ PACKAGES=( + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- "numpy ~= 1.19.2" ++ "numpy>=1.19.2,<1.21" + "auditwheel" + "wheel" + "setuptools" +diff --git a/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh b/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh +index 761973deb28cb..3b49679031c29 100755 +--- a/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh ++++ b/tensorflow/tools/ci_build/install/install_python3.6_pip_packages.sh +@@ -72,7 +72,7 @@ rm -rf /usr/lib/python3/dist-packages/six* + # numpy needs to be installed from source to fix segfaults. See: + # https://github.com/tensorflow/tensorflow/issues/6968 + # This workaround isn't needed for Ubuntu 16.04 or later. +-pip3 install --no-binary=:all: --upgrade numpy==1.14.5 ++pip3 install --no-binary=:all: --upgrade numpy>=1.14.5 + + pip3 install scipy==1.4.1 + +diff --git a/tensorflow/tools/ci_build/release/common.sh b/tensorflow/tools/ci_build/release/common.sh +index 89eecc5d83c8a..59bafb5198992 100644 +--- a/tensorflow/tools/ci_build/release/common.sh ++++ b/tensorflow/tools/ci_build/release/common.sh +@@ -125,8 +125,8 @@ function install_ubuntu_16_pip_deps { + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. + # TODO(mihaimaruseac): Convert to requirements.txt +- "${PIP_CMD}" install --user 'numpy ~= 1.19.2' +- # Now, install the deps, as listed in setup.py ++ "${PIP_CMD}" install --user 'numpy >= 1.19.2,< 1.21' ++ # Now, install the deps, as listed in setup. py + "${PIP_CMD}" install --user 'absl-py ~= 0.10' + "${PIP_CMD}" install --user 'astunparse ~= 1.6.3' + "${PIP_CMD}" install --user 'flatbuffers ~= 1.12.0' +@@ -149,7 +149,7 @@ function install_ubuntu_16_pip_deps { + # Test dependencies + "${PIP_CMD}" install --user 'grpcio >= 1.37.0, < 2.0' + "${PIP_CMD}" install --user 'portpicker ~= 1.3.1' +- "${PIP_CMD}" install --user 'scipy ~= 1.5.2' ++ "${PIP_CMD}" install --user 'scipy >= 1.5.2, < 1.7' + # LINT.ThenChange(:mac_pip_installations) + # Need to be addressed later. Unblocking 2.4 branchcut + "${PIP_CMD}" install --user 'PyYAML ~= 5.3.1' +@@ -182,7 +182,7 @@ function install_ubuntu_16_python_pip_deps { + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. + # TODO(mihaimaruseac): Convert to requirements.txt +- ${PIP_CMD} install --user 'numpy ~= 1.19.2' ++ ${PIP_CMD} install --user 'numpy >= 1.19.2, < 1.21' + # Now, install the deps, as listed in setup.py + ${PIP_CMD} install --user 'absl-py ~= 0.10' + ${PIP_CMD} install --user 'astunparse ~= 1.6.3' +@@ -206,7 +206,7 @@ function install_ubuntu_16_python_pip_deps { + # Test dependencies + ${PIP_CMD} install --user 'grpcio >= 1.37.0, < 2.0' + ${PIP_CMD} install --user 'portpicker ~= 1.3.1' +- ${PIP_CMD} install --user 'scipy ~= 1.5.2' ++ ${PIP_CMD} install --user 'scipy >= 1.5.2, <1.7' + # LINT.ThenChange(:mac_pip_installations) + # Need to be addressed later. Unblocking 2.4 branchcut + ${PIP_CMD} install --user 'PyYAML ~= 5.3.1' +@@ -225,7 +225,7 @@ function install_macos_pip_deps { + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. + # TODO(mihaimaruseac): Convert to requirements.txt +- ${PIP_CMD} install 'numpy ~= 1.19.2' ++ ${PIP_CMD} install 'numpy >= 1.19.2 , <1.21' + # Now, install the deps, as listed in setup.py + ${PIP_CMD} install 'absl-py ~= 0.10' + ${PIP_CMD} install 'astunparse ~= 1.6.3' +@@ -249,7 +249,7 @@ function install_macos_pip_deps { + # Test dependencies + ${PIP_CMD} install 'grpcio >= 1.37.0, < 2.0' + ${PIP_CMD} install 'portpicker ~= 1.3.1' +- ${PIP_CMD} install 'scipy ~= 1.5.2' ++ ${PIP_CMD} install 'scipy >= 1.5.2, < 1.7' + ${PIP_CMD} install --upgrade certifi + + # LINT.ThenChange(:linux_pip_installations_orig) +@@ -272,7 +272,7 @@ function install_macos_pip_deps_no_venv { + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. + # TODO(mihaimaruseac): Convert to requirements.txt +- ${PIP_CMD} install 'numpy ~= 1.19.2' --user ++ ${PIP_CMD} install 'numpy >= 1.19.2, <1.21' --user + # Now, install the deps, as listed in setup.py + ${PIP_CMD} install 'absl-py ~= 0.10' --user + ${PIP_CMD} install 'astunparse ~= 1.6.3' --user +@@ -296,7 +296,7 @@ function install_macos_pip_deps_no_venv { + # Test dependencies + ${PIP_CMD} install 'grpcio >= 1.37.0, < 2.0' --user + ${PIP_CMD} install 'portpicker ~= 1.3.1' --user +- ${PIP_CMD} install 'scipy ~= 1.5.2' --user ++ ${PIP_CMD} install 'scipy >= 1.5.2, <1.7' --user + ${PIP_CMD} install --upgrade certifi --user + + # LINT.ThenChange(:install_macos_pip_deps) +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 5fe345ed7ed9f..453c930700139 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -78,7 +78,7 @@ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.19.2, < 1.21', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', + +From 7d2b0cff4e4df1b2b706daaa003f274777b85aa4 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <c...@bnavigator.de> +Date: Thu, 6 May 2021 12:38:22 +0200 +Subject: [PATCH 3/7] relax upper numpy bound in dockerfiles + +--- + .../dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile | 2 +- + .../dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile | 2 +- + .../tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile | 2 +- + tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile | 2 +- + .../tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile | 2 +- + tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile | 2 +- + .../dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile | 2 +- + .../tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile | 2 +- + .../partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile | 2 +- + .../dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile | 2 +- + 13 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile +index e8a5026d7eddc..5fcca1b4a0d58 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8-jupyter.Dockerfile +@@ -88,7 +88,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile +index 5efeed2796c5c..381b4084f3e0a 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/arm64v8/devel-cpu-arm64v8.Dockerfile +@@ -88,7 +88,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile +index 88c941704aee6..d9062086b184a 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu-jupyter.Dockerfile +@@ -84,7 +84,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile +index 618d3d211d9df..2d310dec012cf 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-cpu.Dockerfile +@@ -84,7 +84,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile +index 4be850f5fae3b..6c100cc9d8e05 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu-jupyter.Dockerfile +@@ -125,7 +125,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile +index feba442ec1c26..a8e9b8d9088fb 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile +@@ -125,7 +125,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile +index 129f983eb319e..a1a5cfbc03040 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le-jupyter.Dockerfile +@@ -83,7 +83,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile +index aa2b9f88702e2..118de55a138de 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-cpu-ppc64le.Dockerfile +@@ -83,7 +83,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile +index 0f6a9ae5e5e27..4f94ba1edb119 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le-jupyter.Dockerfile +@@ -124,7 +124,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile +index 7086a0cd5d6d7..0eefc0737d5a8 100644 +--- a/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile ++++ b/tensorflow/tools/dockerfiles/dockerfiles/ppc64le/devel-gpu-ppc64le.Dockerfile +@@ -124,7 +124,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile +index ac3d23c3747e8..620660f0b28a4 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazel.partial.Dockerfile +@@ -14,7 +14,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile +index 969445c627465..87497f60ae3f9 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild-arm64v8.partial.Dockerfile +@@ -18,7 +18,7 @@ RUN python3 -m pip --no-cache-dir install \ + h5py \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ +diff --git a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile +index 0cf475d9deb13..22d2104db7a28 100644 +--- a/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile ++++ b/tensorflow/tools/dockerfiles/partials/ubuntu/bazelbuild.partial.Dockerfile +@@ -13,7 +13,7 @@ RUN python3 -m pip --no-cache-dir install \ + keras_preprocessing \ + matplotlib \ + mock \ +- 'numpy<1.19.0' \ ++ 'numpy<1.21' \ + scipy \ + sklearn \ + pandas \ + +From 444840954cab9fda8be108e83af74d6a79e395b9 Mon Sep 17 00:00:00 2001 +From: Ben Greiner <c...@bnavigator.de> +Date: Thu, 17 Jun 2021 11:44:08 +0200 +Subject: [PATCH 7/7] shape must be integer tuple + +--- + tensorflow/python/eager/function_test.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tensorflow/python/eager/function_test.py b/tensorflow/python/eager/function_test.py +index ccf3f117e3970..69985f6557c17 100644 +--- a/tensorflow/python/eager/function_test.py ++++ b/tensorflow/python/eager/function_test.py +@@ -279,8 +279,8 @@ def testImplementsAttributeAssertsOnSideInput(self): + z = array_ops.zeros(0) + v = def_function.function( + experimental_implements='func')(lambda x, y: x + y + z) +- a = array_ops.ones((1.0,)) +- b = array_ops.ones((1.0,)) ++ a = array_ops.ones((1,)) ++ b = array_ops.ones((1,)) + with self.assertRaisesRegex(AssertionError, + 'variables are always captured'): + v(a, b) Copied: tensorflow/repos/community-testing-x86_64/PKGBUILD (from rev 967470, tensorflow/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2021-06-25 22:42:23 UTC (rev 967471) @@ -0,0 +1,322 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@gmail.com> +# Maintainer: Konstantin Gizdov (kgizdov) <a...@kge.pw> +# Contributor: Adria Arrufat (archdria) <adria.arrufat+...@protonmail.ch> +# Contributor: Thibault Lorrain (fredszaq) <freds...@gmail.com> + +pkgbase=tensorflow +pkgname=(tensorflow tensorflow-opt tensorflow-cuda tensorflow-opt-cuda python-tensorflow python-tensorflow-opt python-tensorflow-cuda python-tensorflow-opt-cuda) +pkgver=2.5.0 +_pkgver=2.5.0 +pkgrel=4 +pkgdesc="Library for computation using data flow graphs for scalable machine learning" +url="https://www.tensorflow.org/" +license=('APACHE') +arch=('x86_64') +depends=('c-ares' 'intel-mkl' 'onednn' 'pybind11' 'openssl-1.0' 'lmdb' 'libpng' 'curl' 'giflib' 'icu' 'libjpeg-turbo') +makedepends=('bazel' 'python-numpy' 'cuda' 'nvidia-utils' 'nccl' 'git' + 'cudnn' 'python-pip' 'python-wheel' 'python-setuptools' 'python-h5py' + 'python-keras-applications' 'python-keras-preprocessing' + 'cython') +optdepends=('tensorboard: Tensorflow visualization toolkit') +source=("$pkgname-$pkgver.tar.gz::https://github.com/tensorflow/tensorflow/archive/v${_pkgver}.tar.gz" + 48935.patch + fix-c++17-compat.patch + build-against-actual-mkl.patch) +sha512sums=('637c63b1bed1c0eb7bb018f1ff7f29f7f0d78e75dac384df4ecb5dfb92bbcb28209e3d3d2204145abddf88e3247d8c31bbb4cea032a73b7122b2ef3eb0d2b947' + '6dab3966de6e8065a3aa91575976df9593b56c7f347f5ef45cc791a4427b4569cde0b772ca6060f229d4e97ce637a69b04346a347c23cdc63420d8226da313ab' + 'a39f4adff91a60b05c18c4c1ef99b65375887bbea5991610eb162a3c6e3562f8d4438f9f1e1910b672f6094235b5b70dea633578f7f6b5b931f221ca2805152a' + 'e51e3f3dced121db3a09fbdaefd33555536095584b72a5eb6f302fa6fa68ab56ea45e8a847ec90ff4ba076db312c06f91ff672e08e95263c658526582494ce08') + +# consolidate common dependencies to prevent mishaps +_common_py_depends=(python-termcolor python-astor python-gast03 python-numpy python-protobuf absl-py python-h5py python-keras-applications python-keras-preprocessing python-tensorflow-estimator python-opt_einsum python-astunparse python-pasta python-flatbuffers) + +get_pyver () { + python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' +} + +check_dir() { + # first make sure we do not break parsepkgbuild + if ! command -v cp &> /dev/null; then + >&2 echo "'cp' command not found. PKGBUILD is probably being checked by parsepkgbuild." + if ! command -v install &> /dev/null; then + >&2 echo "'install' command also not found. PKGBUILD must be getting checked by parsepkgbuild." + >&2 echo "Cannot check if directory '${1}' exists. Ignoring." + >&2 echo "If you are not running nacmap or parsepkgbuild, please make sure the PATH is correct and try again." + >&2 echo "PATH should not be '/dummy': PATH=$PATH" + return 0 + fi + fi + # if we are running normally, check the given path + if [ -d "${1}" ]; then + return 0 + else + >&2 echo Directory "${1}" does not exist or is a file! Exiting... + exit 1 + fi +} + +prepare() { + # Allow any bazel version + echo "*" > tensorflow-${_pkgver}/.bazelversion + + # Tensorflow actually wants to build against a slimmed down version of Intel MKL called MKLML + # See https://github.com/intel/mkl-dnn/issues/102 + # MKLML version that Tensorflow wants to use is https://github.com/intel/mkl-dnn/releases/tag/v0.21 + # patch -Np1 -d tensorflow-${_pkgver} -i "$srcdir"/build-against-actual-mkl.patch + + # https://github.com/tensorflow/tensorflow/pull/48935/files + patch -Np1 -d tensorflow-${_pkgver} -i "$srcdir"/48935.patch + + # Get rid of hardcoded versions. Not like we ever cared about what upstream + # thinks about which versions should be used anyway. ;) (FS#68772) + sed -i -E "s/'([0-9a-z_-]+) .= [0-9].+[0-9]'/'\1'/" tensorflow-${_pkgver}/tensorflow/tools/pip_package/setup.py + + cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt + cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-cuda + cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt-cuda + + # These environment variables influence the behavior of the configure call below. + export PYTHON_BIN_PATH=/usr/bin/python + export USE_DEFAULT_PYTHON_LIB_PATH=1 + export TF_NEED_JEMALLOC=1 + export TF_NEED_KAFKA=1 + export TF_NEED_OPENCL_SYCL=0 + export TF_NEED_AWS=1 + export TF_NEED_GCP=1 + export TF_NEED_HDFS=1 + export TF_NEED_S3=1 + export TF_ENABLE_XLA=1 + export TF_NEED_GDR=0 + export TF_NEED_VERBS=0 + export TF_NEED_OPENCL=0 + export TF_NEED_MPI=0 + export TF_NEED_TENSORRT=0 + export TF_NEED_NGRAPH=0 + export TF_NEED_IGNITE=0 + export TF_NEED_ROCM=0 + # See https://github.com/tensorflow/tensorflow/blob/master/third_party/systemlibs/syslibs_configure.bzl + export TF_SYSTEM_LIBS="boringssl,curl,cython,gif,icu,libjpeg_turbo,lmdb,nasm,pcre,png,pybind11,zlib" + export TF_SET_ANDROID_WORKSPACE=0 + export TF_DOWNLOAD_CLANG=0 + export TF_NCCL_VERSION=$(pkg-config nccl --modversion | grep -Po '\d+\.\d+') + export TF_IGNORE_MAX_BAZEL_VERSION=1 + export TF_MKL_ROOT=/opt/intel/mkl + export NCCL_INSTALL_PATH=/usr + export GCC_HOST_COMPILER_PATH=/usr/bin/gcc-10 + export HOST_C_COMPILER=/usr/bin/gcc-10 + export HOST_CXX_COMPILER=/usr/bin/g++-10 + export TF_CUDA_CLANG=0 # Clang currently disabled because it's not compatible at the moment. + export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang + export TF_CUDA_PATHS=/opt/cuda,/usr/lib,/usr + export TF_CUDA_VERSION=$(/opt/cuda/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p') + export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' /usr/include/cudnn_version.h) + # https://github.com/tensorflow/tensorflow/blob/1ba2eb7b313c0c5001ee1683a3ec4fbae01105fd/third_party/gpus/cuda_configure.bzl#L411-L446 + # according to the above, we should be specifying CUDA compute capabilities as 'sm_XX' or 'compute_XX' from now on + # add latest PTX for future compatibility + export TF_CUDA_COMPUTE_CAPABILITIES=sm_52,sm_53,sm_60,sm_61,sm_62,sm_70,sm_72,sm_75,sm_80,sm_86,compute_86 + + export CC=gcc-10 + export CXX=g++-10 + + export BAZEL_ARGS="--config=mkl -c opt --copt=-I/usr/include/openssl-1.0 --host_copt=-I/usr/include/openssl-1.0 --linkopt=-l:libssl.so.1.0.0 --linkopt=-l:libcrypto.so.1.0.0 --host_linkopt=-l:libssl.so.1.0.0 --host_linkopt=-l:libcrypto.so.1.0.0" +} + +build() { + echo "Building without cuda and without non-x86-64 optimizations" + cd "${srcdir}"/tensorflow-${_pkgver} + export CC_OPT_FLAGS="-march=x86-64" + export TF_NEED_CUDA=0 + ./configure + bazel \ + build ${BAZEL_ARGS[@]} \ + //tensorflow:libtensorflow.so \ + //tensorflow:libtensorflow_cc.so \ + //tensorflow:install_headers \ + //tensorflow/tools/pip_package:build_pip_package + bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmp + + + echo "Building without cuda and with non-x86-64 optimizations" + cd "${srcdir}"/tensorflow-${_pkgver}-opt + export CC_OPT_FLAGS="-march=haswell -O3" + export TF_NEED_CUDA=0 + ./configure + bazel \ + build --config=avx2_linux \ + ${BAZEL_ARGS[@]} \ + //tensorflow:libtensorflow.so \ + //tensorflow:libtensorflow_cc.so \ + //tensorflow:install_headers \ + //tensorflow/tools/pip_package:build_pip_package + bazel-bin/tensorflow/tools/pip_package/build_pip_package "${srcdir}"/tmpopt + + + echo "Building with cuda and without non-x86-64 optimizations" + cd "${srcdir}"/tensorflow-${_pkgver}-cuda + export CC_OPT_FLAGS="-march=x86-64" + export TF_NEED_CUDA=1 + ./configure + bazel \ + build \ + ${BAZEL_ARGS[@]} \ + //tensorflow:libtensorflow.so \ + //tensorflow:libtensorflow_cc.so \ + //tensorflow:install_headers \ + //tensorflow/tools/pip_package:build_pip_package + bazel-bin/tensorflow/tools/pip_package/build_pip_package --gpu "${srcdir}"/tmpcuda + + + echo "Building with cuda and with non-x86-64 optimizations" + cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda + export CC_OPT_FLAGS="-march=haswell -O3" + export TF_NEED_CUDA=1 + ./configure + bazel \ + build --config=avx2_linux \ + ${BAZEL_ARGS[@]} \ + //tensorflow:libtensorflow.so \ + //tensorflow:libtensorflow_cc.so \ + //tensorflow:install_headers \ + //tensorflow/tools/pip_package:build_pip_package + bazel-bin/tensorflow/tools/pip_package/build_pip_package --gpu "${srcdir}"/tmpoptcuda +} + +_package() { + # install headers first + install -d "${pkgdir}"/usr/include/tensorflow + cp -r bazel-bin/tensorflow/include/* "${pkgdir}"/usr/include/tensorflow/ + # install python-version to get all extra headers + WHEEL_PACKAGE=$(find "${srcdir}"/$1 -name "tensor*.whl") + pip install --ignore-installed --upgrade --root "${pkgdir}"/ $WHEEL_PACKAGE --no-dependencies + # move extra headers to correct location + local _srch_path="${pkgdir}/usr/lib/python$(get_pyver)"/site-packages/tensorflow/include + check_dir "${_srch_path}" # we need to quit on broken search paths + find "${_srch_path}" -maxdepth 1 -mindepth 1 -type d -print0 | while read -rd $'\0' _folder; do + cp -nr "${_folder}" "${pkgdir}"/usr/include/tensorflow/ + done + # clean up unneeded files + rm -rf "${pkgdir}"/usr/bin + rm -rf "${pkgdir}"/usr/lib + rm -rf "${pkgdir}"/usr/share + # make sure no lib objects are outside valid paths + local _so_srch_path="${pkgdir}/usr/include" + check_dir "${_so_srch_path}" # we need to quit on broken search paths + find "${_so_srch_path}" -type f,l \( -iname "*.so" -or -iname "*.so.*" \) -print0 | while read -rd $'\0' _so_file; do + # check if file is a dynamic executable + ldd "${_so_file}" &>/dev/null && rm -rf "${_so_file}" + done + + # install the rest of tensorflow + tensorflow/c/generate-pc.sh --prefix=/usr --version=${pkgver} + sed -e 's@/include$@/include/tensorflow@' -i tensorflow.pc -i tensorflow_cc.pc + install -Dm644 tensorflow.pc "${pkgdir}"/usr/lib/pkgconfig/tensorflow.pc + install -Dm644 tensorflow_cc.pc "${pkgdir}"/usr/lib/pkgconfig/tensorflow_cc.pc + install -Dm755 bazel-bin/tensorflow/libtensorflow.so "${pkgdir}"/usr/lib/libtensorflow.so.${pkgver} + ln -s libtensorflow.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow.so.${pkgver:0:1} + ln -s libtensorflow.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow.so + install -Dm755 bazel-bin/tensorflow/libtensorflow_cc.so "${pkgdir}"/usr/lib/libtensorflow_cc.so.${pkgver} + ln -s libtensorflow_cc.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow_cc.so.${pkgver:0:1} + ln -s libtensorflow_cc.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow_cc.so + install -Dm755 bazel-bin/tensorflow/libtensorflow_framework.so "${pkgdir}"/usr/lib/libtensorflow_framework.so.${pkgver} + ln -s libtensorflow_framework.so.${pkgver} "${pkgdir}"/usr/lib/libtensorflow_framework.so.${pkgver:0:1} + ln -s libtensorflow_framework.so.${pkgver:0:1} "${pkgdir}"/usr/lib/libtensorflow_framework.so + install -Dm644 tensorflow/c/c_api.h "${pkgdir}"/usr/include/tensorflow/tensorflow/c/c_api.h + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + # Fix interoperability of C++14 and C++17. See https://bugs.archlinux.org/task/65953 + patch -Np0 -i "${srcdir}"/fix-c++17-compat.patch -d "${pkgdir}"/usr/include/tensorflow/absl/base +} + +_python_package() { + WHEEL_PACKAGE=$(find "${srcdir}"/$1 -name "tensor*.whl") + pip install --ignore-installed --upgrade --root "${pkgdir}"/ $WHEEL_PACKAGE --no-dependencies + + # create symlinks to headers + local _srch_path="${pkgdir}/usr/lib/python$(get_pyver)"/site-packages/tensorflow/include/ + check_dir "${_srch_path}" # we need to quit on broken search paths + find "${_srch_path}" -maxdepth 1 -mindepth 1 -type d -print0 | while read -rd $'\0' _folder; do + rm -rf "${_folder}" + _smlink="$(basename "${_folder}")" + ln -s /usr/include/tensorflow/"${_smlink}" "${_srch_path}" + done + + # tensorboard has been separated from upstream but they still install it with + # tensorflow. I don't know what kind of sense that makes but we have to clean + # it out from this pacakge. + rm -rf "${pkgdir}"/usr/bin/tensorboard + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +package_tensorflow() { + cd "${srcdir}"/tensorflow-${_pkgver} + _package tmp +} + +package_tensorflow-opt() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with AVX2 CPU optimizations)" + conflicts=(tensorflow) + provides=(tensorflow) + + cd "${srcdir}"/tensorflow-${_pkgver}-opt + _package tmpopt +} + +package_tensorflow-cuda() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)" + depends+=(cuda cudnn nccl) + conflicts=(tensorflow) + provides=(tensorflow) + + cd "${srcdir}"/tensorflow-${_pkgver}-cuda + _package tmpcuda +} + +package_tensorflow-opt-cuda() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA and AVX2 CPU optimizations)" + depends+=(cuda cudnn nccl) + conflicts=(tensorflow) + provides=(tensorflow tensorflow-cuda) + + cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda + _package tmpoptcuda +} + +package_python-tensorflow() { + depends+=(tensorflow "${_common_py_depends[@]}") + + cd "${srcdir}"/tensorflow-${_pkgver} + _python_package tmp +} + +package_python-tensorflow-opt() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with AVX2 CPU optimizations)" + depends+=(tensorflow-opt "${_common_py_depends[@]}") + conflicts=(python-tensorflow) + provides=(python-tensorflow) + + cd "${srcdir}"/tensorflow-${_pkgver}-opt + _python_package tmpopt +} + +package_python-tensorflow-cuda() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)" + depends+=(tensorflow-cuda cuda cudnn nccl python-pycuda "${_common_py_depends[@]}") + conflicts=(python-tensorflow) + provides=(python-tensorflow) + + cd "${srcdir}"/tensorflow-${_pkgver}-cuda + _python_package tmpcuda +} + +package_python-tensorflow-opt-cuda() { + pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA and AVX2 CPU optimizations)" + depends+=(tensorflow-opt-cuda cuda cudnn nccl python-pycuda "${_common_py_depends[@]}") + conflicts=(python-tensorflow) + provides=(python-tensorflow python-tensorflow-cuda) + + cd "${srcdir}"/tensorflow-${_pkgver}-opt-cuda + _python_package tmpoptcuda +} + +# vim:set ts=2 sw=2 et: Copied: tensorflow/repos/community-testing-x86_64/build-against-actual-mkl.patch (from rev 967470, tensorflow/trunk/build-against-actual-mkl.patch) =================================================================== --- community-testing-x86_64/build-against-actual-mkl.patch (rev 0) +++ community-testing-x86_64/build-against-actual-mkl.patch 2021-06-25 22:42:23 UTC (rev 967471) @@ -0,0 +1,37 @@ +diff --git a/third_party/mkl/build_defs.bzl b/third_party/mkl/build_defs.bzl +index 4b8fb83eb0..f4e1adfb22 100644 +--- a/third_party/mkl/build_defs.bzl ++++ b/third_party/mkl/build_defs.bzl +@@ -124,7 +124,7 @@ def _mkl_autoconf_impl(repository_ctx): + if _enable_local_mkl(repository_ctx): + # Symlink lib and include local folders. + mkl_root = repository_ctx.os.environ[_TF_MKL_ROOT] +- mkl_lib_path = "%s/lib" % mkl_root ++ mkl_lib_path = "%s/lib/intel64" % mkl_root + repository_ctx.symlink(mkl_lib_path, "lib") + mkl_include_path = "%s/include" % mkl_root + repository_ctx.symlink(mkl_include_path, "include") +diff --git a/third_party/mkl/mkl.BUILD b/third_party/mkl/mkl.BUILD +index 72370182c4..4972bb005e 100644 +--- a/third_party/mkl/mkl.BUILD ++++ b/third_party/mkl/mkl.BUILD +@@ -5,7 +5,6 @@ exports_files(["license.txt"]) + filegroup( + name = "LICENSE", + srcs = [ +- "license.txt", + ], + visibility = ["//visibility:public"], + ) +@@ -21,7 +20,10 @@ cc_library( + name = "mkl_libs_linux", + srcs = [ + "lib/libiomp5.so", +- "lib/libmklml_intel.so", ++ "lib/libmkl_core.so", ++ "lib/libmkl_rt.so", ++ "lib/libmkl_intel_thread.so", ++ "lib/libmkl_intel_lp64.so", + ], + visibility = ["//visibility:public"], + ) Copied: tensorflow/repos/community-testing-x86_64/fix-c++17-compat.patch (from rev 967470, tensorflow/trunk/fix-c++17-compat.patch) =================================================================== --- community-testing-x86_64/fix-c++17-compat.patch (rev 0) +++ community-testing-x86_64/fix-c++17-compat.patch 2021-06-25 22:42:23 UTC (rev 967471) @@ -0,0 +1,11 @@ +--- config-old.h 2021-06-13 04:22:15.841839739 +0200 ++++ config.h 2021-06-13 04:22:32.308939638 +0200 +@@ -533,7 +533,7 @@ + + #ifdef __has_include + #if __has_include(<string_view>) && __cplusplus >= 201703L +-#define ABSL_HAVE_STD_STRING_VIEW 1 ++// #define ABSL_HAVE_STD_STRING_VIEW 1 + #endif + #endif + Copied: tensorflow/repos/community-testing-x86_64/test.py (from rev 967470, tensorflow/trunk/test.py) =================================================================== --- community-testing-x86_64/test.py (rev 0) +++ community-testing-x86_64/test.py 2021-06-25 22:42:23 UTC (rev 967471) @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +import tensorflow as tf + +with tf.device("/GPU:0"): + a = tf.random.normal([1, 2]) + + +def temp(x): + return tf.shape(x)[0] + +tf.autograph.to_graph(temp)