new file: f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb

new file:   o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb
	modified:   q/QuantumESPRESSO/QuantumESPRESSO-7.1-NVHPC-21.9.eb
	new file:   t/Tensorflow/TensorFlow-2.10.1-foss-2022a-CUDA-11.7.0.eb
	new file:   t/Tensorflow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch
	new file:   t/Tensorflow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch
	new file:   t/Tensorflow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch
	new file:   t/Tensorflow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch
	new file:   u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb
	new file:   x/XALT/XALT-2.10.45-GPU-eb.eb
	modified:   x/XALT/XALT-2.10.45-eb.eb
This commit is contained in:
easybuild 2023-01-25 17:48:29 +01:00
parent 9e05f5c97f
commit 3178cb7962
11 changed files with 652 additions and 14 deletions

View File

@ -0,0 +1,64 @@
# IT4Innovations 2023
# JK
# --from-pr 17168
##
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
##
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'

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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"],
}),
)

View File

@ -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 <jinzhe.zeng@rutgers.edu>
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

View File

@ -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,

View File

@ -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.

View File

@ -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'

View File

@ -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=<path>'. " 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=<string>'. 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=<string>'. 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'

View File

@ -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]