COSMA/2.6.6-cpeGNU-22.12-CPU (COSMA-2.6.6-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.6-cpeGNU-22.12-CPU.eb. The corresponding module would be COSMA/2.6.6-cpeGNU-22.12-CPU.
# contributed by Peter Larsson (LUST)
easyblock = 'CMakeMake'
name = 'COSMA'
version = '2.6.6'
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}
sources = [{
'filename': SOURCELOWER_TAR_GZ,
'git_config': {
'url': 'https://github.com/eth-cscs',
'repo_name':'%(name)s',
'tag' :'v2.6.6',
'recursive': True,
'keep_git_dir' : True, },
}]
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'