Scalasca/2.6.1-cpeGNU-24.03 (Scalasca-2.6.1-cpeGNU-24.03.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 Scalasca/2.6.1-cpeGNU-24.03
.
EasyConfig:
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2023 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# Christian Feld <c.feld@fz-juelich.de>
# Jan André Reuter <j.reuter@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
easyblock = 'ConfigureMake'
local_Scalasca_version = '2.6.1' # https://www.scalasca.org/scalasca/software/scalasca-2.x/download.html
local_CubeLib_version = '4.8.2' # https://www.scalasca.org/scalasca/software/cube-4.x/download.html
local_CubeWriter_version = '4.8.2' # https://www.scalasca.org/scalasca/software/cube-4.x/download.html
local_OTF2_version = '3.0.3' # https://www.vi-hps.org/projects/score-p/
local_ScoreP_version = '8.4' # https://www.vi-hps.org/projects/score-p/
name = 'Scalasca'
version = local_Scalasca_version
homepage = 'https://www.scalasca.org/'
whatis = [
'Description: Scalasca is a tool to measure and analyse program runtime behaviour'
]
description = """
Scalasca is a software tool that supports the performance optimization of
parallel programs by measuring and analysing their runtime behaviour. The
analysis identifies potential performance bottlenecks -- in particular
those concerning communication and synchronization -- and offers guidance
in exploring their causes.
"""
local_Scalasca_maj_min = '.'.join( local_Scalasca_version.split('.')[:2] )
docurls = [
f'PDF manual at https://apps.fz-juelich.de/scalasca/releases/scalasca/{local_Scalasca_maj_min}/docs/UserGuide.pdf',
'Web links to documentation of the latest version on https://scalasca.org/scalasca/front_content.php?idart=1071',
]
toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'pic': True, 'usempi': True, 'openmp': True}
source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
patches = [
'Scalasca-2.6.1_nowarn_omp_pragmas.patch',
]
checksums = [
'a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7', # scalasca-2.6.1.tar.gz
'53fd1305f75b7552208ff5375d0d754eb97d3eec45f67e506e9b55d2b16361ac', # Scalasca-2.6.1_nowarn_omp_pragmas.patch
]
builddependencies = [
('CubeWriter', local_CubeWriter_version),
]
dependencies = [
('CubeLib', local_CubeLib_version),
('OTF2', local_OTF2_version),
]
sanity_check_paths = {
'files': ['bin/scalasca', ('lib/backend/libpearl.replay.a', 'lib64/backend/libpearl.replay.a')],
'dirs': [],
}
# note that modextrapaths can be used for relative paths only
modextrapaths = {
# Ensure that local metric documentation is found by CubeGUI
'CUBE_DOCPATH': 'share/doc/scalasca/patterns',
'PATH': 'bin/backend'
}
modextravars = {
# Specifies an optional list of colon separated paths identifying
# suitable file systems for tracing. If set, the file system of
# trace measurements has to match at least one of the specified
# file systems.
'SCAN_TRACE_FILESYS': '/scratch:/projappl:/project:/flash'
}
modluafooter = f"""
LmodMessage( 'Scalasca also requires a suitable version of Score-P to be loaded, ' ..
'which is not done by this module as there might be multiple suitable versions, ' ..
'especially to support the multiple versions of ROCm that we sometimes offer. '..
'This version was tested with Score-P {local_ScoreP_version}.' )
"""
moduleclass = 'perf'