diff options
author | Denis Davydov <davydden@gmail.com> | 2016-06-30 00:19:50 +0200 |
---|---|---|
committer | Denis Davydov <davydden@gmail.com> | 2016-06-30 00:19:50 +0200 |
commit | 37728afadae43ccf3b5aa47e314b61d517e26c3e (patch) | |
tree | c4cfdadc964aa83f65c243854fb2309d80921c93 | |
parent | c99663211379389f416c5ba50a759555e2b1f9ec (diff) | |
download | spack-37728afadae43ccf3b5aa47e314b61d517e26c3e.tar.gz spack-37728afadae43ccf3b5aa47e314b61d517e26c3e.tar.bz2 spack-37728afadae43ccf3b5aa47e314b61d517e26c3e.tar.xz spack-37728afadae43ccf3b5aa47e314b61d517e26c3e.zip |
petsc: run a test
-rw-r--r-- | var/spack/repos/builtin/packages/petsc/package.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 8dd1d8d2b9..b2fc80e084 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -148,6 +148,21 @@ class Petsc(Package): make('MAKE_NP=%s' % make_jobs, parallel=False) make("install") + # solve Poisson equation in 2D to make sure nothing is broken: + with working_dir('src/ksp/ksp/examples/tutorials'): + os.system('%s ex50.c -I%s -L%s -lpetsc -o ex50' % ( + self.spec['mpi'].mpicc, prefix.include, prefix.lib)) + ex50 = Executable('./ex50') + ex50('-da_grid_x', '4', '-da_grid_y','4') + if 'superlu-dist' in spec: + ex50('-da_grid_x', '4', '-da_grid_y','4','-pc_type','lu', '-pc_factor_mat_solver_package', 'superlu_dist') # NOQA: ignore=E501 + + if 'mumps' in spec: + ex50('-da_grid_x', '4', '-da_grid_y','4','-pc_type','lu', '-pc_factor_mat_solver_package', 'mumps') # NOQA: ignore=E501 + + if 'hypre' in spec: + ex50('-da_grid_x', '4', '-da_grid_y','4', '-pc_type', 'hypre', '-pc_hypre_type', 'boomeramg') # NOQA: ignore=E501 + def setup_dependent_environment(self, spack_env, run_env, dependent_spec): # set up PETSC_DIR for everyone using PETSc package spack_env.set('PETSC_DIR', self.prefix) |