HANDE: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Information about HANDE releases and |
Information about HANDE releases and running tests. |
||
Line 54: | Line 54: | ||
<pre> |
<pre> |
||
nikola github_deploy |
nikola github_deploy |
||
</pre> |
|||
== Running the test suite on cerebro == |
|||
Make use of other people having done the work for you: |
|||
<pre> |
|||
cd |
|||
ln -s ~ajwt3/privatemodules |
|||
</pre> |
|||
Then load these modules (to test with the tough gfortran compiler and mpi): |
|||
<pre> |
|||
module load use.own |
|||
module unload gcc |
|||
module load gcc/6.4.0 |
|||
module unload mpi |
|||
module load mpi/openmpi/gnu6/3.0.0 |
|||
module load anaconda/python2/4.4.0 |
|||
module unload lua |
|||
module load lua/5.3.4/gcc-4.8.3 |
|||
module load mkl/64/2017/0/4 |
|||
module unload trlan |
|||
module load trlan/201009/gcc-6.4.0 |
|||
module unload hdf5 |
|||
module load hdf5/1.8.20/gcc-6.4.0 |
|||
</pre> |
|||
Compile HANDE with these files modified ("git diff"): |
|||
<pre> |
|||
diff --git a/config/gfortran.mkl.mpi.pop64 b/config/gfortran.mkl.mpi.pop64 |
|||
index 065d1a3..cf79d05 100644 |
|||
--- a/config/gfortran.mkl.mpi.pop64 |
|||
+++ b/config/gfortran.mkl.mpi.pop64 |
|||
@@ -1,5 +1,5 @@ |
|||
[DEFAULT] |
|||
-include_f = -I $${HDF5_ROOT-/usr}/include -std=f2008ts |
|||
+include_f = -I $${HDF5_ROOT}/include -std=f2008ts |
|||
cppflags_opt = -DHAVE_SSE2 -DPARALLEL -DDET_SIZE=64 -DPOP_SIZE=64 -DDSFMT_MEXP=19937 |
|||
[main] |
|||
@@ -7,7 +7,8 @@ fc = mpif90 |
|||
cc = mpicc |
|||
cxx = mpiCC |
|||
ld = mpif90 |
|||
-libs = -ltrlan_mpi -lmkl_scalapack_lp64 -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -Wl,--end-group -lpthread -lstdc++ -lhdf5_fortran -luui |
|||
+libs = -ltrlan_mpi ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a ${MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_gf_lp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl -luuid -llua -lstdc++ -lhdf5_fortran |
|||
f90_module_flag = -J |
|||
[opt] |
|||
diff --git a/test_suite/userconfig b/test_suite/userconfig |
|||
index 80452b1..9c39799 100644 |
|||
--- a/test_suite/userconfig |
|||
+++ b/test_suite/userconfig |
|||
@@ -8,6 +8,7 @@ ignore_fields = time |
|||
skip_program = grep |
|||
skip_args = -i 'disabled at compile-time\|Fatal: not compiled with HDF5 support\|Running with .* threads\|Tried to pass logging options to a non-debug build' |
|||
skip_cmd_template = tc.skip tc.args tc.test tc.error |
|||
+launch_parallel = srun -N1 -p TEST -n tc.nprocs |
|||
[user] |
|||
diff = vimdiff |
|||
</pre> |
|||
and then run the test suite with |
|||
<pre> |
|||
../../testcode/bin/testcode.py -cpop64_mpi --total-processors=120 --processors=1 |
|||
</pre> |
|||
To run just one test, e.g. nh3.ccsdt.ppN.in, |
|||
<pre> |
|||
srun -n4 -N1 ~/code/hande/bin/hande.x nh3.ccsdt.ppN.in |
|||
</pre> |
</pre> |
Revision as of 15:57, 8 May 2018
Information about HANDE releases and running tests.
Github releases
Releases are pushed to github approx. every 6 months. Merge the public branch into the private master to keep a single history:
git remote add github git@github.com:hande-qmc/hande git fetch github git checkout -tb github-master github/master git config remote.github.push github-master:master git checkout master git merge github/master --strategy=ours git tag v1.3 git co -B github-master git push
(Remember to appropriately update the version information in environment_report.F90, and test benchmarks should also be regenerated prior to the release.)
In between releases, bug-fix commits from the private (development) repository are applied to the public branch (if the underlying bug is present in the public release):
git rebase --preserve-merges --onto github-master HEAD^ HEAD git co -B github-master git push
Buildbot
The tests are run nightly by buildbot. To update the configuration, edit
hande_master@zeeman.cmth.ph.ic.ac.uk:hande/master.cfg
Remember to restart the buildbot afterwards:
buildbot restart
Other relevant accounts are the account the slaves connect to by ssh: hande@zeeman, and the account the CUC3 buildslave runs on: jss43@hypatia. This latter may need the buildslave restarted each time hypatia is rebooted:
buildslave start
Website
The website uses rst and Nikola. The source on github. To update, edit the rst files (currently there is only a main page: to create others simply add more files to the pages/ folder), commit the changes and run
nikola github_deploy
Running the test suite on cerebro
Make use of other people having done the work for you:
cd ln -s ~ajwt3/privatemodules
Then load these modules (to test with the tough gfortran compiler and mpi):
module load use.own module unload gcc module load gcc/6.4.0 module unload mpi module load mpi/openmpi/gnu6/3.0.0 module load anaconda/python2/4.4.0 module unload lua module load lua/5.3.4/gcc-4.8.3 module load mkl/64/2017/0/4 module unload trlan module load trlan/201009/gcc-6.4.0 module unload hdf5 module load hdf5/1.8.20/gcc-6.4.0
Compile HANDE with these files modified ("git diff"):
diff --git a/config/gfortran.mkl.mpi.pop64 b/config/gfortran.mkl.mpi.pop64 index 065d1a3..cf79d05 100644 --- a/config/gfortran.mkl.mpi.pop64 +++ b/config/gfortran.mkl.mpi.pop64 @@ -1,5 +1,5 @@ [DEFAULT] -include_f = -I $${HDF5_ROOT-/usr}/include -std=f2008ts +include_f = -I $${HDF5_ROOT}/include -std=f2008ts cppflags_opt = -DHAVE_SSE2 -DPARALLEL -DDET_SIZE=64 -DPOP_SIZE=64 -DDSFMT_MEXP=19937 [main] @@ -7,7 +7,8 @@ fc = mpif90 cc = mpicc cxx = mpiCC ld = mpif90 -libs = -ltrlan_mpi -lmkl_scalapack_lp64 -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -Wl,--end-group -lpthread -lstdc++ -lhdf5_fortran -luui +libs = -ltrlan_mpi ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a ${MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_gf_lp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_lp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl -luuid -llua -lstdc++ -lhdf5_fortran f90_module_flag = -J [opt] diff --git a/test_suite/userconfig b/test_suite/userconfig index 80452b1..9c39799 100644 --- a/test_suite/userconfig +++ b/test_suite/userconfig @@ -8,6 +8,7 @@ ignore_fields = time skip_program = grep skip_args = -i 'disabled at compile-time\|Fatal: not compiled with HDF5 support\|Running with .* threads\|Tried to pass logging options to a non-debug build' skip_cmd_template = tc.skip tc.args tc.test tc.error +launch_parallel = srun -N1 -p TEST -n tc.nprocs [user] diff = vimdiff
and then run the test suite with
../../testcode/bin/testcode.py -cpop64_mpi --total-processors=120 --processors=1
To run just one test, e.g. nh3.ccsdt.ppN.in,
srun -n4 -N1 ~/code/hande/bin/hande.x nh3.ccsdt.ppN.in