eth-cscs / COSMA

Distributed Communication-Optimal Matrix-Matrix Multiplication Algorithm
BSD 3-Clause "New" or "Revised" License
196 stars 27 forks source link

update the cmake build system to work when included in a cmake project #124

Closed simonpintarelli closed 1 year ago

simonpintarelli commented 1 year ago

Authors:

mtaillefumier commented 1 year ago

can we merge ?

kabicm commented 1 year ago

Looks good to me. Just one thing: do we want to allow COSMA_BLAS_VENDOR_LIST to be NONE? I guess this is required. Alternatively, we can add some basic implementation for local gemm calls, but there is probably no need for it.

mtaillefumier commented 1 year ago

Looks good to me. Just one thing: do we want to allow COSMA_BLAS_VENDOR_LIST to be NONE? I guess this is required. Alternatively, we can add some basic implementation for local gemm calls, but there is probably no need for it.

I use OFF instead of NONE after following both simon and your suggestion.

It is off by default and an error message will show up if COSMA_BLAS=OFF so the user is warmed. It means that this parameter should be explicitly set during compilation time. It is also the old behavior because we did not want to complicate the spack recipe too much between versions.

If COSMA_BLAS=CUDA,ROCM then the BLAS implementation is the scalapack one if COSMA_SCALAPACK=MKL,CRAY_LIBSCI,CUSTOM.

mtaillefumier commented 1 year ago

if you agree I will create a tagged version of COSMA as well and create a PR for spack

kabicm commented 1 year ago

Sure, once you believe it's ready, feel free to merge it and make a new release.

For the release, just pay attention to the following: