Skip to content

[lumi-CPEtools] [package list]

lumi-CPEtools/1.1-cpeCray-23.03 (lumi-CPEtools-1.1-cpeCray-23.03.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider lumi-CPEtools/1.1-cpeCray-23.03.

EasyConfig:

easyblock = 'MakeCp'

name =    'lumi-CPEtools'
version = '1.1'

homepage = 'https://www.lumi-supercomputer.eu'

whatis = [
    'Description: Various programs to experiment with starting processes and core affinity and analyse executables.',
]

description = """
The LUMI-CPEtools module provides various programs to experiment with starting
applications of various types and with core affinity and to show which Cray PE
libraries are used by an executable. It may be enhanced with additional 
features in the future.

Sources can be accessed after loading the module in the directory
$EBROOTLUMIMINCPETOOLS/src.
"""

docurls = [
    "Man pages, start with man lumi-CPEtools",
]

toolchain = {'name': 'cpeCray', 'version': '23.03'}
# Note: The Makefile is designed to work with the compiler variables as defined
# when usempi and openmp are both false, as the module contains code with and
# without MPI or OpenMP support, though it would probably still work if these
# are set to true as usually it does no harm to compile with the MPI wrappers
# or OpenMP options enabled even if the sources don't use these.
toolchainopts = {'usempi': False,'openmp': False}

# Downloading from GitHub releases..
# https://github.com/Lumi-supercomputer/lumi-CPEtools/archive/refs/tags/1.1.tar.gz
sources = [{
    'download_filename': '%(version)s.tar.gz',
    'filename':          '%(name)s-%(version)s.tar.gz',
    'source_urls':       ['https://github.com/Lumi-supercomputer/%(name)s/archive/refs/tags']
}]
checksums = ['ffc3bea3a7842fc2be48beefce900caa7c74fbe14989330b82c55c7bc99a4ada']

builddependencies = [
    ('buildtools', '%(toolchain_version)s', '', SYSTEM), # For make
]

import os as local_os
local_partition = local_os.getenv('LUMI_STACK_PARTITION')

prebuildopts = 'cd src ; '
buildopts  = 'CC=cc MPICC=cc CFLAGS="-O2 -std=c99" OMPFLAG="-fopenmp" CXX=CC MPICXX=CC CXXFLAGS="-O2 -std=c++11" '
buildopts += 'DEFINES="-D_GNU_SOURCE=" ROCMDEFINES="-D__HIP_PLATFORM_AMD__" '
buildopts += 'LIBS="" ROCMLIBS="-L${ROCM_PATH}/lib -lamdhip64" '

if local_partition == 'G':
    buildopts += 'exe_cpu exe_gpu'
else:
    buildopts += 'exe_cpu'

files_to_copy = [
    'bin',
    'man',
    'src',
    'README.md',
]

local_exe = [ 'serial_check', 'omp_check', 'mpi_check', 'hybrid_check', 'xldd' ] 
if local_partition == 'G': 
    local_exe += [ 'gpu_check' ]

sanity_check_paths = {
    'files': [ 'bin/%s' % x for x in [ 'serial_check', 'omp_check', 'mpi_check', 'hybrid_check', 'xldd' ] ],
    'dirs':  [ 'man/man1', 'src' ]
}

sanity_check_commands = [
    'xldd --help',
    'serial_check',
    'OMP_NUM_THREADS=4 omp_check',
    'mpi_check',
    'OMP_NUM_THREADS=4 hybrid_check',
]
if local_partition == 'G': 
    sanity_check_commands += [ 'gpu_check -h' ]

moduleclass = 'devel'

[lumi-CPEtools] [package list]