Skip to content

[Scalasca] [package list]

Scalasca/2.6.1-cpeGNU-24.03 (Scalasca-2.6.1-cpeGNU-24.03.eb)

Install with the EasyBuild-user module:

eb Scalasca-2.6.1-cpeGNU-24.03.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module 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'

[Scalasca] [package list]