diff options
Diffstat (limited to 'test cases/frameworks/30 scalapack/meson.build')
-rw-r--r-- | test cases/frameworks/30 scalapack/meson.build | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test cases/frameworks/30 scalapack/meson.build b/test cases/frameworks/30 scalapack/meson.build new file mode 100644 index 0000000..f9c453f --- /dev/null +++ b/test cases/frameworks/30 scalapack/meson.build @@ -0,0 +1,42 @@ +project('test scalapack', 'c') + +cc = meson.get_compiler('c') + +mpiexec = find_program('mpiexec', required: false) +if not mpiexec.found() + error('MESON_SKIP_TEST: mpiexec not found') +endif + +mpi_c = dependency('mpi', language: 'c', required: false) +if not mpi_c.found() + error('MESON_SKIP_TEST: MPI library not available') +endif + +# examples can run with any number of MPI images. +mpi_args = ['-np', '1'] + +scalapack = dependency('scalapack', required: false) +if not scalapack.found() + error('MESON_SKIP_TEST: scalapack library not available') +endif + +# https://software.intel.com/en-us/mkl-developer-reference-c-scalapack-routines +c_exe = executable('scalapack_c', 'main.c', + dependencies: [scalapack, mpi_c]) +test('scalapack_c', mpiexec, + args: [mpi_args, c_exe], + timeout: 30) + +if add_languages('fortran') + mpi_f = dependency('mpi', language: 'fortran', required: false) + if not mpi_f.found() + error('MESON_SKIP_TEST: MPI Fortran library not available') + endif + + # https://software.intel.com/en-us/mkl-developer-reference-fortran-scalapack-routines + f_exe = executable('scalapack_fortran', 'main.f90', + dependencies: [scalapack, mpi_f]) + test('scalapack_fortran', mpiexec, + args: [mpi_args, f_exe], + timeout: 30) +endif
\ No newline at end of file |