COSMA/2.6.2-cpeGNU-22.12-CPU (COSMA-2.6.2-cpeGNU-22.12-CPU.eb)
This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/c/COSMA/COSMA-2.6.2-cpeGNU-22.12-CPU.eb. The corresponding module would be COSMA/2.6.2-cpeGNU-22.12-CPU.
# contributed by Peter Larsson (LUST)
easyblock = 'CMakeMake'
name = 'COSMA'
version = '2.6.2'
versionsuffix = '-CPU'
homepage = 'https://github.com/eth-cscs/COSMA'
whatis = [
"Description: COSMA is a parallel, high-performance, GPU-accelerated, matrix-matrix multiplication algorithm that is communication-optimal."
]
description = """
COSMA is a parallel, high-performance, GPU-accelerated, matrix-matrix
multiplication algorithm that is communication-optimal for all combinations
of matrix dimensions, number of processors and memory sizes, without the
need for any parameter tuning. The key idea behind COSMA is to first derive
a tight optimal sequential schedule and only then parallelize it, preserving
I/O optimality between processes.
"""
docurls = [
'Manual: https://github.com/eth-cscs/COSMA'
]
toolchain = {'name': 'cpeGNU', 'version': '22.12'}
toolchainopts = {'opt': True}
source_urls = ['https://github.com/eth-cscs/%(name)s/releases/download/v%(version)s/']
sources = ['cosma.tar.gz']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True), # For CMake
('bzip2', '1.0.8'),
]
parallel = 16
configopts = [
" -DCOSMA_BLAS=CRAY_LIBSCI -DCOSMA_SCALAPACK=CRAY_LIBSCI -DCOSMA_WITH_TESTS=NO -DCOSMA_WITH_BENCHMARKS=NO -DCMAKE_CXX_COMPILER=CC -DCOSMA_WITH_APPS=NO -DCOSMA_WITH_PROFILING=NO -DBUILD_SHARED_LIBS=NO ",
]
sanity_check_paths = {
'files': ['lib64/libcosma.a', 'lib64/libcosta.a'],
'dirs': ['lib64'],
}
moduleclass = 'math'