TAU/2.35-cpeGNU-25.03-cray-python-3.11.7-noMpi-CPU (TAU-2.35-cpeGNU-25.03-cray-python-3.11.7-noMpi-CPU.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider TAU/2.35-cpeGNU-25.03-cray-python-3.11.7-noMpi-CPU.
EasyConfig:
# by Joachim Sødequist <joachim.sodequist@deic.dk>
# TAU installation uses a custom ./configure script that is not related to autotools.
easyblock = 'ConfigureMake'
local_craypython_version = '3.11.7'
local_Boost_version = '1.88.0' # https://www.boost.org/
local_oneTBB_version = '2022.2.0' # https://github.com/uxlfoundation/oneTBB/releases
local_libbfd_version = '2.45' # https://ftp.gnu.org/gnu/binutils/
local_libunwind_version = '1.8.1' # http://download.savannah.nongnu.org/releases/libunwind/
local_PDT_version = '3.25.2' # https://www.cs.uoregon.edu/research/pdt/
local_zlib_version = '1.3.1' # https://zlib.net/
name = 'TAU'
version = '2.35'
versionsuffix = f'-cray-python-{local_craypython_version}-noMpi-CPU'
whatis = [
'Description: TAU - Tuning and Analysis Utilities'
]
description = """
TAU provides a suite of static and dynamic tools that provide
graphical user interaction and interoperation to form an integrated analysis
environment for parallel Fortran, C++, C, Java, and Python applications.
"""
homepage = 'https://www.cs.uoregon.edu/research/tau/home.php'
docurls = 'https://www.cs.uoregon.edu/research/tau/docs.php'
toolchain = {'name': 'cpeGNU', 'version': '25.03'}
toolchainopts = {'openmp': True}
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('Boost', local_Boost_version), # Dyninst dependency
('cray-dyninst', EXTERNAL_MODULE),
(f'cray-python/{local_craypython_version}', EXTERNAL_MODULE),
('libunwind', local_libunwind_version),
('libbfd', local_libbfd_version),
('oneTBB', local_oneTBB_version), # Dyninst dependency
('papi', EXTERNAL_MODULE),
('PDT', local_PDT_version),
('zlib', local_zlib_version),
]
sources = [{
'source_urls': ['https://www.cs.uoregon.edu/research/tau/tau_releases/'],
'filename': SOURCELOWER_TAR_GZ,
'extract_cmd': 'tar zxvf %s --strip-components=2',
}]
buildininstalldir = True # Source code is part of the build, paths to src are hard-coded during configure
configure_without_installdir = True # Custom configure script uses '-prefix' instead of '--prefix', configure manually
configopts = ' '.join([
'-prefix=%(installdir)s',
'-c++=CC',
'-cc=cc',
'-fortran=gfortran', # ftn wrapper not compatible, gfortran is required set TAU_CXXLIBS_GNU_CNL for tau_cc.sh
'-arch=craycnl',
'-bfd=$EBROOTLIBBFD',
'-unwind=$EBROOTLIBUNWIND',
'-zlib=$EBROOTZLIB',
'-openmp',
'-pthread',
'-papi=$CRAY_PAPI_PREFIX',
'-python',
'-pdt=$EBROOTPDT',
'-tbb=$EBROOTONETBB',
'-dyninst=$CRAY_DYNINST_INSTALL_DIR',
])
prebuildopts = ['PATH=$PATH:%(installdir)s/craycnl/bin/']
# The custom installation procedure does not have seperate build and install steps.
build_cmd = 'make install'
install_cmd = ' ' # Empty string would get passed as None-like resulting in default
postinstallcmds = [
'mkdir -p %(installdir)s/share/licenses/%(name)s',
'cp COPYRIGHT CREDITS LICENSE README README.gpu README.sampling %(installdir)s/share/licenses/%(name)s',
]
sanity_check_paths = {
'files': ['craycnl/bin/tau_exec'],
'dirs': []
}
modextrapaths = {'PATH': 'craycnl/bin/'}
modextravars = {'TAU_MAKEFILE': '%(installdir)s/craycnl/lib/Makefile.tau-gnu-papi-pthread-python-pdt-openmp'}
moduleclass = 'tools'