diff --git a/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb b/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000..0de742a1 --- /dev/null +++ b/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# IT4Innovations 2023 +# JK +# --from-pr 17168 + +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.7' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library + +Includes the Flatbuffers compiler, C/C++ bindings and Python runtime library. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4c7986174dc3941220bf14feaacaad409c3e1526d9ad7f490366fede9a6f43fa'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +# Install into the same dir as the Python extension which is /lib +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON -DCMAKE_INSTALL_LIBDIR=lib' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('flatbuffers', version, { + 'sources': { + 'download_filename': SOURCE_TAR_GZ, + 'filename': '%(name)s-python-%(version)s.tar.gz', + }, + 'checksums': ['0ae7d69c5b82bf41962ca5fde9cc43033bc9501311d975fd5a25e8a7d29c1245'], + }), +] + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake', 'lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'devel' diff --git a/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb b/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb new file mode 100644 index 00000000..2be4a5c6 --- /dev/null +++ b/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -0,0 +1,99 @@ +# IT4Innovations 2023 +# JK + +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 + # OpenMPI-4.1.1_build-with-internal-cuda-header.patch + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', + # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.1.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# IT4I-specific settings + +configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs ' +configopts += '--enable-mpirun-prefix-by-default ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-tm=/opt/pbs ' # Enable PBS +configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings +configopts += '--with-ucx=$EBROOTUCX ' + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +postinstallcmds = [ + 'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf', + 'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf', +] + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': [ + "bin/%s" % + binfile for binfile in [ + "ompi_info", "opal_wrapper", "orterun"]] + [ + "lib/lib%s.%s" % + (libfile, SHLIB_EXT) for libfile in local_libs] + [ + "include/%s.h" % + x for x in [ + "mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], } + +import os +if os.environ.get("CLUSTERNAME") in ["BARBORA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24', + 'OMPI_MCA_orte_base_help_aggregate': '0', + } +elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0', + 'OMPI_MCA_orte_base_help_aggregate': '0', + } +else: + modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0', + 'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8', + } + +moduleclass = 'mpi' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb index 0fcc8e22..fd6fc660 100644 --- a/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb @@ -38,9 +38,9 @@ sources = [ {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, ] checksums = [ - 'feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a', # qe-7.1-ReleasePack.tar.gz -# '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513', # qe-gipaw-7.1.tar.gz - '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz + {'qe-7.1-ReleasePack.tar.gz': 'feacdbc67d084d55df464f989a916f20dfe11a50ccfda782573cdeed4fab3d3a'}, +# {'qe-gipaw-7.1.tar.gz': '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513'}, + {'wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, ] builddependencies = [ @@ -67,12 +67,9 @@ elif os.environ.get("CLUSTERNAME") in ["BARBORA"]: configopts += '-DNVFORTRAN_CUDA_CC=70 ' # gipaw zatim neni portle na GPU -<<<<<<< HEAD -buildopts = 'all gwl xspectra couple epw w90 gipaw' -======= -buildopts = 'all gwl xspectra couple epw w90' # no rule to make target 'gipaw' +buildopts = 'all want gwl xspectra couple epw w90' +#buildopts = 'all gwl xspectra couple epw w90' # no rule to make target 'gipaw' # preinstallopts = ' FC=pgfortran F77=pgfortran F90=pgfortran CC=pgcc CXX=pgc++ ctest -j4 --output-on-failure -L unit && ' ->>>>>>> 29b78ea8b06f36251039ac323d3514a3ffa54caa # parallel build tends to fail parallel = 1 diff --git a/t/Tensorflow/TensorFlow-2.10.1-foss-2022a-CUDA-11.7.0.eb b/t/Tensorflow/TensorFlow-2.10.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000..21895087 --- /dev/null +++ b/t/Tensorflow/TensorFlow-2.10.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,221 @@ +# IT4Innovations 2023 +# JK +# --from-pr 17168 +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.10.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), + ('LLVM', '14.0.3'), # for debugging with llvm-symbolizer, to be removed +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +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'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.10.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['f324ea17cd57f16e33bf188711d5077e6b2e5f5a12c328d6e01a07b23888edcd'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('google-auth', '2.16.0', { + 'modulename': 'google.auth', + 'checksums': ['ed7057a101af1146f0554a769930ac9de506aeca4fd5af6543ebe791851a9fbd'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c'], + }), + ('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.10.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['26a6e2c2522e7468ddea22710a99b3290493768fc08a39e75d1173a0e3452fdf'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('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, { + 'patches': [ + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.8.4_resolve-gcc-symlinks.patch', + 'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch', + ], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + '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/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//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', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + '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, + 'checksums': [ + {'v2.10.1.tar.gz': '622a92e22e6f3f4300ea43b3025a0b6122f1cc0e2d9233235e4c628c331a94a3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'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-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + 'db57afc1bdc2ea3367754a808af8a5f35a67e9b78862081701a08839151f788b'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch': + '13a987ce8e20957d9a618493f6a0e8f67e0f9c8b11596f27bcd7322a8e62113d'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/t/Tensorflow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch b/t/Tensorflow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch new file mode 100644 index 00000000..1a093825 --- /dev/null +++ b/t/Tensorflow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch @@ -0,0 +1,18 @@ +XNNPACK is not supported on PowerPC so disable it by default. +See https://github.com/tensorflow/tensorflow/issues/58768 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD +index 198f949b341..d15dcf9a80d 100644 +--- a/tensorflow/lite/BUILD ++++ b/tensorflow/lite/BUILD +@@ -709,6 +709,8 @@ cc_library( + deps = select({ + "//tensorflow:macos": [], + "//tensorflow:fuchsia": [], ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], + "//conditions:default": [":tflite_with_xnnpack_enabled"], + }), + ) diff --git a/t/Tensorflow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch b/t/Tensorflow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch new file mode 100644 index 00000000..c4d8668a --- /dev/null +++ b/t/Tensorflow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch @@ -0,0 +1,28 @@ +Fix for "undeclared inclusion(s) in rule" errors when the installation directory +for GCC is hosted in a path that is a symlink to another path. + +From https://github.com/tensorflow/tensorflow/pull/56360 + +From b3a8fdbcb79e723f8d62f86bddcfdfb73fe76291 Mon Sep 17 00:00:00 2001 +From: Jinzhe Zeng +Date: Sat, 4 Jun 2022 19:06:58 -0400 +Subject: [PATCH] resolve gcc_host_compiler_path in a symlink directory + +Resolves a missing dependency declarations error, when gcc_host_compiler_path is in a symlink directory resolving to other directories. +--- + configure.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.py b/configure.py +index bf338bdda2297..77af09a22a05d 100644 +--- a/configure.py ++++ b/configure.py +@@ -619,7 +619,7 @@ def prompt_loop_or_load_from_env(environ_cp, + 'Assuming to be a scripting mistake.' % + (var_name, n_ask_attempts)) + +- if resolve_symlinks and os.path.islink(val): ++ if resolve_symlinks: + val = os.path.realpath(val) + environ_cp[var_name] = val + return val diff --git a/t/Tensorflow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch b/t/Tensorflow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch new file mode 100644 index 00000000..7701d85e --- /dev/null +++ b/t/Tensorflow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch @@ -0,0 +1,55 @@ +TensorFlow adds some GPU tests twice increasing the runtime of the test suite. +This filters out the test part meant for CPU. + +See https://github.com/tensorflow/tensorflow/issues/47081 +From https://github.com/tensorflow/tensorflow/pull/59129 + +Author: Alexander Grund (TU Dresden) +--- + tensorflow/tensorflow.bzl | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 649c8e22dcc95..d3fc0e3221497 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1461,22 +1461,23 @@ def tf_gpu_cc_test( + linkopts = [], + **kwargs): + targets = [] +- tf_cc_test( +- name = name, +- size = size, +- srcs = srcs, +- args = args, +- data = data, +- extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), +- kernels = kernels, +- linkopts = linkopts, +- linkstatic = linkstatic, +- suffix = "_cpu", +- tags = tags, +- deps = deps, +- **kwargs +- ) +- targets.append(name + "_cpu") ++ if 'gpu' not in tags: ++ tf_cc_test( ++ name = name, ++ size = size, ++ srcs = srcs, ++ args = args, ++ data = data, ++ extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), ++ kernels = kernels, ++ linkopts = linkopts, ++ linkstatic = linkstatic, ++ suffix = "_cpu", ++ tags = tags, ++ deps = deps, ++ **kwargs ++ ) ++ targets.append(name + "_cpu") + tf_cc_test( + name = name, + size = size, diff --git a/t/Tensorflow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch b/t/Tensorflow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 00000000..437f45fe --- /dev/null +++ b/t/Tensorflow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,35 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) +Updated by Alexander Grund (TU Dresden) + +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -83,7 +83,6 @@ REQUIRED_PACKAGES = [ + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', + 'keras_preprocessing >= 1.1.1', # 1.1.0 needs tensorflow==1.7 +- 'libclang >= 13.0.0', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + 'packaging', +@@ -100,7 +99,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb b/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000..7de7b858 --- /dev/null +++ b/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb @@ -0,0 +1,56 @@ +# IT4Innovations 2023 +# JK +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.13.1' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', + 'UCX-1.13.1_fix-undeclared-PTR.patch', +] +checksums = [ + {'ucx-1.13.1.tar.gz': '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, + {'UCX-1.13.1_fix-undeclared-PTR.patch': 'ef22c29604552ad3223f2a6bac352f30023cc5cf68f786abfdc4ad7c04189a76'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/x/XALT/XALT-2.10.45-GPU-eb.eb b/x/XALT/XALT-2.10.45-GPU-eb.eb new file mode 100644 index 00000000..7dca3546 --- /dev/null +++ b/x/XALT/XALT-2.10.45-GPU-eb.eb @@ -0,0 +1,65 @@ +#IT4Innovations +# LK 2023 + +name = 'XALT' +version = '2.10.45' +versionsuffix = "-GPU-eb" + +homepage = 'https://github.com/xalt/xalt' +description = """XALT 2 is a tool to allow a site to track user executables + and library usage on a cluster. When installed it can tell a site what are + the top executables by Node-Hours or by the number of users or the number + of times it is run. XALT 2 also tracks library usage as well. XALT 2 can + also track package use by R, MATLAB or Python. It tracks both MPI and + non-MPI programs.""" + +toolchain = SYSTEM + +# The location of XALT configuration file must be specified via +# 'config_py' easyconfig parameter. You can edit the easyconfig file, +# or use 'eb --try-amend=config_py='. " See +# https://xalt.readthedocs.io/en/latest/030_site_filtering.html for +# more information. +config_py = "/apps/.xalt/IT4I_config.py" + +# The name of the system must be specified via the 'syshost' +# easyconfig parameter. You can edit the easyconfig file, or use 'eb +# --try-amend=syshost='. See +# https://xalt.readthedocs.io/en/latest/020_site_configuration.html +# for more information. +syshost = "env_var:CLUSTERNAME" + +# The XALT transmission method must be specified via the +# 'transmission' easyconfig parameter. You can edit the easyconfig +# file, or use 'eb --try-amend=transmission='. See +# https://xalt.readthedocs.io/en/latest/020_site_configuration.html +# for more information. +transmission = "file" + +# Additional options +executable_tracking = True +gpu_tracking = True +logging_url = None +mysql = True +scalar_sampling = True +static_cxx = False + +source_urls = ['https://github.com/xalt/xalt/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c10898402111b230eac1c0d3769a4b46361c97fc3415977c2199b5db3de8c547'] + +builddependencies = [ + ('cURL', '7.76.0'), + ('flex', '2.6.4'), + ('util-linux', '2.36'), + ('CUDA', '11.7.0') +] + +osdependencies = [ + ('bc'), + ('coreutils'), + ('libelf-dev', 'elfutils-libelf-devel'), + OS_PKG_OPENSSL_DEV, +] + +moduleclass = 'lib' diff --git a/x/XALT/XALT-2.10.45-eb.eb b/x/XALT/XALT-2.10.45-eb.eb index 563f950b..32e4ac38 100644 --- a/x/XALT/XALT-2.10.45-eb.eb +++ b/x/XALT/XALT-2.10.45-eb.eb @@ -37,12 +37,12 @@ syshost = "env_var:CLUSTERNAME" transmission = "file" # Additional options -local_executable_tracking = True -local_gpu_tracking = Yes -local_logging_url = None -local_mysql = False -local_scalar_sampling = True -local_static_cxx = True +executable_tracking = True +gpu_tracking = False +logging_url = None +mysql = True +scalar_sampling = True +static_cxx = False source_urls = ['https://github.com/xalt/xalt/archive/'] sources = [SOURCELOWER_TAR_GZ]