# IT4Innovations 2022 # LK JK easyblock = 'CMakeMake' name = 'ScaLAPACK' version = '3.0' homepage = 'https://www.netlib.org/scalapack/' description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers.""" toolchain = {'name': 'NVHPC', 'version': '22.2'} toolchainopts = {'pic': True} # https://github.com/amd/scalapack/archive/3.0.tar.gz source_urls = ['https://github.com/amd/scalapack/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f'] builddependencies = [ ('CMake', '3.18.4'), ] dependencies = [ ('OpenMPI', '4.1.2', '-CUDA-11.6.0'), ('BLIS', '3.0.1'), ('libFLAME', '5.2.0'), ] # Config Opts based on AOCL User Guide: # https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf configopts = '-DBUILD_SHARED_LIBS=ON ' configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis-mt.a" ' configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' configopts += '-DCMAKE_C_COMPILER=mpicc ' configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' configopts += '-DUSE_OPTIMIZED_LAPACK_BLAS=ON ' configopts += '-DUSE_F2C=ON ' configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' sanity_check_paths = { 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], 'dirs': ["lib", "lib64"], } moduleclass = 'numlib'