From 38f7ba240b6a7f2932cef11f5784e626b803c207 Mon Sep 17 00:00:00 2001
From: easybuild <you@example.com>
Date: Thu, 9 Mar 2023 10:53:14 +0100
Subject: [PATCH] 	new file:   a/ANSYS/ANSYS-2022R2-intel-2022a.eb 
 new file:  
 h/Horovod/Horovod-0.27.0-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb 	new
 file:   h/Horovod/Horovod-0.27.0-foss-2022a-CUDA-11.7.0-TensorFlow-2.10.1.eb 
 new file:   t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb 
 deleted:   
 h/Horovod/Horovod-0.27.0-foss-2021a-CUDA-11.7.0-TensorFlow-2.10.1.eb

---
 a/ANSYS/ANSYS-2022R2-intel-2022a.eb           |  37 +++
 ...foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb |  53 ++++
 ...ss-2022a-CUDA-11.7.0-TensorFlow-2.10.1.eb} |   0
 ...TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb | 239 ++++++++++++++++++
 4 files changed, 329 insertions(+)
 create mode 100644 a/ANSYS/ANSYS-2022R2-intel-2022a.eb
 create mode 100644 h/Horovod/Horovod-0.27.0-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb
 rename h/Horovod/{Horovod-0.27.0-foss-2021a-CUDA-11.7.0-TensorFlow-2.10.1.eb => Horovod-0.27.0-foss-2022a-CUDA-11.7.0-TensorFlow-2.10.1.eb} (100%)
 create mode 100644 t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb

diff --git a/a/ANSYS/ANSYS-2022R2-intel-2022a.eb b/a/ANSYS/ANSYS-2022R2-intel-2022a.eb
new file mode 100644
index 00000000..da485402
--- /dev/null
+++ b/a/ANSYS/ANSYS-2022R2-intel-2022a.eb
@@ -0,0 +1,37 @@
+# IT4Innovations 2023
+# JK
+
+name = 'ANSYS'
+version = '2022R2'
+
+homepage = 'http://www.ansys.com'
+description = """ANSYS simulation software enables organizations to confidently predict
+    how their products will operate in the real world. We believe that every product is
+    a promise of something greater. """
+
+toolchain = {'name': 'intel', 'version': '2022a'}
+
+sources = [
+    {'filename': '%(name)s%(version)s_LINX64_Disk1.iso', 'extract_cmd': '7z x -aos %s'},
+    {'filename': '%(name)s%(version)s_LINX64_Disk2.iso', 'extract_cmd': '7z x -aos %s'},
+    {'filename': '%(name)s%(version)s_LINX64_Disk3.iso', 'extract_cmd': '7z x -aos %s'},
+]
+
+checksums = [
+    {'ANSYS2022R2_LINX64_Disk1.iso': '7c9b2a57dd3b87c1dabcd84c913135c83aaac46bf75fbe3fae8da61c85e78198'},
+    {'ANSYS2022R2_LINX64_Disk2.iso': '7962ef251e2edb7e999bfb6a857272597973d7ac4c17c2271cfd891347fd452a'},
+    {'ANSYS2022R2_LINX64_Disk3.iso': '58d4b72e90a27fe11aee3cd7db251ecd1f80b2353441e7061543c0fc21c14dac'},
+]
+
+dependencies = [
+   ('libGLU', '9.0.2'),
+   ('libnsl', '2.0.0'),
+]
+
+osdependencies = [('p7zip', 'p7zip-plugins')]
+
+import os
+license_server = os.getenv('EB_ANSYS_LICENSE_SERVER', '10.5.8.13')
+license_server_port = os.getenv('EB_ANSYS_LICENSE_SERVER_PORT', '2325:1055')
+
+moduleclass = 'tools'
diff --git a/h/Horovod/Horovod-0.27.0-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb b/h/Horovod/Horovod-0.27.0-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb
new file mode 100644
index 00000000..4344e248
--- /dev/null
+++ b/h/Horovod/Horovod-0.27.0-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb
@@ -0,0 +1,53 @@
+# IT4Innovations 2023
+# JK
+
+easyblock = 'PythonBundle'
+
+name = 'Horovod'
+version = '0.27.0'
+local_tf_version = '2.8.4'
+local_cuda_suffix = '-CUDA-%(cudaver)s'
+versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version
+
+homepage = 'https://github.com/uber/horovod'
+description = "Horovod is a distributed training framework for TensorFlow."
+
+toolchain = {'name': 'foss', 'version': '2021b'}
+
+builddependencies = [
+    ('CMake', '3.22.1'),
+    ('flatbuffers', '2.0.0'),
+]
+dependencies = [
+    ('CUDA', '11.4.1', '', SYSTEM),
+    ('UCX-CUDA', '1.11.2', local_cuda_suffix),
+    ('NCCL', '2.10.3', local_cuda_suffix),
+    ('Python', '3.9.6'),
+    ('PyYAML', '5.4.1'),
+    ('TensorFlow', local_tf_version, local_cuda_suffix),
+]
+
+use_pip = True
+sanity_pip_check = True
+
+preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL '
+preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 '
+
+# Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend
+maxparallel = 1
+
+exts_list = [
+    ('cloudpickle', '2.2.1', {
+        'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'],
+    }),
+    ('horovod', version'[keras]', {
+        'checksums': ['8a76a98266579de46a1b1cde53d5ec115fc163ffdaa65a8f771aee936e804b33'],
+    }),
+]
+
+sanity_check_paths = {
+    'files': ['bin/horovodrun'],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/h/Horovod/Horovod-0.27.0-foss-2021a-CUDA-11.7.0-TensorFlow-2.10.1.eb b/h/Horovod/Horovod-0.27.0-foss-2022a-CUDA-11.7.0-TensorFlow-2.10.1.eb
similarity index 100%
rename from h/Horovod/Horovod-0.27.0-foss-2021a-CUDA-11.7.0-TensorFlow-2.10.1.eb
rename to h/Horovod/Horovod-0.27.0-foss-2022a-CUDA-11.7.0-TensorFlow-2.10.1.eb
diff --git a/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb b/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb
new file mode 100644
index 00000000..464d522d
--- /dev/null
+++ b/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb
@@ -0,0 +1,239 @@
+# IT4Innovations 2023
+# JK
+# vzato z nejakeho PR
+
+easyblock = 'PythonBundle'
+
+name = 'TensorFlow'
+version = '2.8.4'
+versionsuffix = '-CUDA-%(cudaver)s'
+
+homepage = 'https://www.tensorflow.org/'
+description = "An open-source software library for Machine Intelligence"
+
+toolchain = {'name': 'foss', 'version': '2021b'}
+toolchainopts = {'pic': True}
+
+builddependencies = [
+    ('Bazel', '4.2.2'),
+    ('protobuf', '3.17.3'),
+    # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053
+    ('git', '2.33.1', '-nodocs'),
+    ('pybind11', '2.7.1'),
+    ('UnZip', '6.0'),
+    ('LLVM', '12.0.1'),  # for debugging with llvm-symbolizer, to be removed
+]
+dependencies = [
+    ('CUDA', '11.4.1', '', SYSTEM),
+    ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM),
+    ('NCCL', '2.10.3', versionsuffix),
+    ('Python', '3.9.6'),
+    ('h5py', '3.6.0'),
+    ('cURL', '7.78.0'),
+    ('dill', '0.3.4'),
+    ('double-conversion', '3.1.5'),
+    ('flatbuffers', '2.0.0'),
+    ('giflib', '5.2.1'),
+    ('hwloc', '2.5.0'),
+    ('ICU', '69.1'),
+    ('JsonCpp', '1.9.4'),
+    ('libjpeg-turbo', '2.0.6'),
+    ('LMDB', '0.9.29'),
+    ('NASM', '2.15.05'),
+    ('nsync', '1.24.0'),
+    ('SQLite', '3.36'),
+    ('protobuf-python', '3.17.3'),
+    ('flatbuffers-python', '2.0'),
+    ('libpng', '1.6.37'),
+    ('snappy', '1.1.9'),
+    ('zlib', '1.2.11'),
+]
+
+use_pip = True
+sanity_pip_check = True
+
+# Dependencies created and updated using findPythonDeps.sh:
+# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d
+exts_list = [
+    ('wrapt', '1.14.1', {
+        'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'],
+    }),
+    ('tensorflow-estimator', '2.8.0', {
+        'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl',
+        'checksums': ['bee8e0520c60ae7eaf6ca8cb46c5a9f4b45725531380db8fbe38fcb48478b6bb'],
+    }),
+    ('termcolor', '1.1.0', {
+        'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'],
+    }),
+    ('Werkzeug', '2.1.2', {
+        'checksums': ['1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6'],
+    }),
+    ('tensorboard_plugin_wit', '1.8.1', {
+        'source_tmpl': SOURCE_PY3_WHL,
+        'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'],
+    }),
+    ('tensorboard-data-server', '0.6.1', {
+        'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl',
+        'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'],
+    }),
+    ('Markdown', '3.3.7', {
+        'checksums': ['cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874'],
+    }),
+    ('grpcio', '1.46.1', {
+        'modulename': 'grpc',
+        'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ",
+        'checksums': ['4835b0f5fedbee3a3d6eea48f4e65dffd30b52c078690fa97ddc9fcea1e3b35d'],
+    }),
+    ('oauthlib', '3.2.0', {
+        'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'],
+    }),
+    ('requests-oauthlib', '1.3.1', {
+        'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'],
+    }),
+    ('rsa', '4.8', {
+        'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'],
+    }),
+    ('pyasn1-modules', '0.2.8', {
+        'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'],
+    }),
+    ('cachetools', '5.1.0', {
+        'checksums': ['8b3b8fa53f564762e5b221e9896798951e7f915513abf2ba072ce0f07f3f5a98'],
+    }),
+    ('google-auth', '2.6.6', {
+        'modulename': 'google.auth',
+        'checksums': ['1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312'],
+    }),
+    ('google-auth-oauthlib', '0.4.6', {
+        'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'],
+    }),
+    ('tensorboard', '2.8.0', {
+        'source_tmpl': SOURCE_PY3_WHL,
+        'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'],
+    }),
+    ('opt-einsum', '3.3.0', {
+        'source_tmpl': 'opt_einsum-%(version)s.tar.gz',
+        'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'],
+    }),
+    ('Keras-Preprocessing', '1.1.2', {
+        'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz',
+        'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'],
+    }),
+    ('keras', '2.8.0', {
+        'source_tmpl': SOURCE_WHL,
+        'checksums': ['744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e'],
+    }),
+    ('google-pasta', '0.2.0', {
+        'modulename': 'pasta',
+        'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'],
+    }),
+    ('astunparse', '1.6.3', {
+        'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'],
+    }),
+    ('tblib', '1.7.0', {
+        'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'],
+    }),
+    ('portpicker', '1.5.2', {
+        'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'],
+    }),
+    ('absl-py', '1.0.0', {
+        'modulename': 'absl',
+        'checksums': ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea'],
+    }),
+    # System dependency astor_archive
+    ('astor', '0.8.1', {
+        'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'],
+    }),
+    # Optional profile plugin + dependency
+    ('gviz-api', '1.10.0', {
+        'source_tmpl': 'gviz_api-%(version)s.tar.gz',
+        'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'],
+    }),
+    ('tensorboard-plugin-profile', '2.8.0', {
+        'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz',
+        'checksums': ['58d65c979951e7628ca3b46c798e10e5813026a3ecfbacc319cf88ebe766134a'],
+    }),
+    (name, version, {
+        'source_tmpl': 'v%(version)s.tar.gz',
+        'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'],
+        'patches': [
+            'TensorFlow-2.4.0_add-ldl.patch',
+            'TensorFlow-2.4.0_dont-use-var-lock.patch',
+            'TensorFlow-2.5.0_add-support-for-large-core-systems.patch',
+            'TensorFlow-2.5.0_disable-avx512-extensions.patch',
+            'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch',
+            'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch',
+            'TensorFlow-2.5.0_fix-crash-on-shutdown.patch',
+            'TensorFlow-2.7.1_fix_cpu_count.patch',
+            'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch',
+            'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch',
+            'TensorFlow-2.8.4_fix-PPC-JIT.patch',
+            'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch',
+            'TensorFlow-2.8.4_resolve-gcc-symlinks.patch',
+        ],
+        'checksums': [
+            {'v2.8.4.tar.gz': 'c08a222792bdbff9da299c7885561ee27b95d414d1111c426efac4ccdce92cde'},
+            {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'},
+            {'TensorFlow-2.4.0_dont-use-var-lock.patch':
+             'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'},
+            {'TensorFlow-2.5.0_add-support-for-large-core-systems.patch':
+             '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636'},
+            {'TensorFlow-2.5.0_disable-avx512-extensions.patch':
+             '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03'},
+            {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch':
+             '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'},
+            {'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch':
+             '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8'},
+            {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch':
+             '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'},
+            {'TensorFlow-2.7.1_fix_cpu_count.patch':
+             '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'},
+            {'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch':
+             'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483'},
+            {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch':
+             'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'},
+            {'TensorFlow-2.8.4_fix-PPC-JIT.patch':
+             '27d28293105b4dd0a25f58346c68b672f57215756f14a97c442d0e3317e93a2b'},
+            {'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch':
+             '10a6daad2ef65d649a6d4a6659f97f833359b3c35d3ce15e63d2db2e331a6a35'},
+            {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch':
+             '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'},
+        ],
+        'test_script': 'TensorFlow-2.x_mnist-test.py',
+        'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only',
+        'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,'
+                                 '-benchmark-test,-v1only'),
+        'test_targets': [
+            '//tensorflow/core/...',
+            '-//tensorflow/core:example_java_proto',
+            '-//tensorflow/core/example:example_protos_closure',
+            '//tensorflow/cc/...',
+            '//tensorflow/c/...',
+            '//tensorflow/python/...',
+            # Fails on some nodes but C API isn't installed anyway
+            '-//tensorflow/c/eager:c_api_test_gpu',
+            '-//tensorflow/c/eager:c_api_distributed_test',
+            '-//tensorflow/c/eager:c_api_distributed_test_gpu',
+            # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602
+            '-//tensorflow/c/eager:c_api_cluster_test_gpu',
+            '-//tensorflow/c/eager:c_api_remote_function_test_gpu',
+            '-//tensorflow/c/eager:c_api_remote_test_gpu',
+            # Fails to open its own test.xml(?)
+            '-//tensorflow/core/common_runtime:collective_param_resolver_local_test',
+            # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532
+            '-//tensorflow/core/common_runtime:mkl_layout_pass_test',
+            '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test',
+            # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151
+            '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test',
+            # All tests in this directory fail with segfault (TensorFlow Graph IR)
+            '-//tensorflow/core/ir/importexport/tests/roundtrip/...',
+            # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717
+            '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_test',
+        ],
+        'testopts': "--test_timeout=3600 --test_size_filters=small",
+        'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " +
+                        "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute",
+        'with_xla': True,
+    }),
+]
+
+moduleclass = 'lib'