Skip to content

[COSMA] [package list]

COSMA/2.6.2-cpeGNU-22.12-CPU (COSMA-2.6.2-cpeGNU-22.12-CPU.eb)

Install with the EasyBuild-user module:

eb COSMA-2.6.2-cpeGNU-22.12-CPU.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider COSMA/2.6.2-cpeGNU-22.12-CPU.

EasyConfig:

# 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'

[COSMA] [package list]