From 177e19001fce9f5b4054825830aa83ae728318bd Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:06:33 -0400 Subject: [PATCH 1/9] Start adding ensemble analysis test --- test/Test_Ensemble_HREMD/RunTest.sh | 15 ++- test/Test_Ensemble_HREMD/distances.dat.0.save | 101 ++++++++++++++++++ test/Test_Ensemble_HREMD/distances.dat.1.save | 101 ++++++++++++++++++ test/Test_Ensemble_HREMD/distances.dat.2.save | 101 ++++++++++++++++++ test/Test_Ensemble_HREMD/distances.dat.3.save | 101 ++++++++++++++++++ 5 files changed, 418 insertions(+), 1 deletion(-) create mode 100644 test/Test_Ensemble_HREMD/distances.dat.0.save create mode 100644 test/Test_Ensemble_HREMD/distances.dat.1.save create mode 100644 test/Test_Ensemble_HREMD/distances.dat.2.save create mode 100644 test/Test_Ensemble_HREMD/distances.dat.3.save diff --git a/test/Test_Ensemble_HREMD/RunTest.sh b/test/Test_Ensemble_HREMD/RunTest.sh index 357627bb20..c46acf537f 100755 --- a/test/Test_Ensemble_HREMD/RunTest.sh +++ b/test/Test_Ensemble_HREMD/RunTest.sh @@ -2,7 +2,7 @@ . ../MasterTest.sh -CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? +CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? distances.dat.? TESTNAME='H-REMD sorting tests' Requires netcdf nthreads 4 @@ -35,4 +35,17 @@ DoTest sorted.remlog.crd.1.save sorted.crdidx.crd.1 DoTest sorted.remlog.crd.2.save sorted.crdidx.crd.2 DoTest sorted.remlog.crd.3.save sorted.crdidx.crd.3 +UNITNAME='Ensemble analysis test' +cat > cpptraj.in < Date: Fri, 16 Jun 2023 10:09:13 -0400 Subject: [PATCH 2/9] Ensemble analysis test --- test/Test_Ensemble_HREMD/RunTest.sh | 7 ++++++- test/Test_Ensemble_HREMD/avg.distances.dat.0.save | 2 ++ test/Test_Ensemble_HREMD/avg.distances.dat.1.save | 2 ++ test/Test_Ensemble_HREMD/avg.distances.dat.2.save | 2 ++ test/Test_Ensemble_HREMD/avg.distances.dat.3.save | 2 ++ 5 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 test/Test_Ensemble_HREMD/avg.distances.dat.0.save create mode 100644 test/Test_Ensemble_HREMD/avg.distances.dat.1.save create mode 100644 test/Test_Ensemble_HREMD/avg.distances.dat.2.save create mode 100644 test/Test_Ensemble_HREMD/avg.distances.dat.3.save diff --git a/test/Test_Ensemble_HREMD/RunTest.sh b/test/Test_Ensemble_HREMD/RunTest.sh index c46acf537f..048a2d9d58 100755 --- a/test/Test_Ensemble_HREMD/RunTest.sh +++ b/test/Test_Ensemble_HREMD/RunTest.sh @@ -2,7 +2,7 @@ . ../MasterTest.sh -CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? distances.dat.? +CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? distances.dat.? avg.distances.dat.? TESTNAME='H-REMD sorting tests' Requires netcdf nthreads 4 @@ -41,11 +41,16 @@ parm ../tz2.nhe.parm7 ensemblesize 4 ensemble rem.crd.001 nosort distance EndToEnd :1 :12 out distances.dat +avg EndToEnd out avg.distances.dat name AvgE2E EOF RunCpptraj "$UNITNAME" DoTest distances.dat.0.save distances.dat.0 DoTest distances.dat.1.save distances.dat.1 DoTest distances.dat.2.save distances.dat.2 DoTest distances.dat.3.save distances.dat.3 +DoTest avg.distances.dat.0.save avg.distances.dat.0 +DoTest avg.distances.dat.1.save avg.distances.dat.1 +DoTest avg.distances.dat.2.save avg.distances.dat.2 +DoTest avg.distances.dat.3.save avg.distances.dat.3 EndTest diff --git a/test/Test_Ensemble_HREMD/avg.distances.dat.0.save b/test/Test_Ensemble_HREMD/avg.distances.dat.0.save new file mode 100644 index 0000000000..21decaccc3 --- /dev/null +++ b/test/Test_Ensemble_HREMD/avg.distances.dat.0.save @@ -0,0 +1,2 @@ +#Set AvgE2E[avg]%0 AvgE2E[sd]%0 AvgE2E[ymin]%0 AvgE2E[ymax]%0 AvgE2E[yminidx]%0 AvgE2E[ymaxidx]%0 AvgE2E[names]%0 + 1 6.71 1.719 4.412 12.42 46 83 "EndToEnd%0" diff --git a/test/Test_Ensemble_HREMD/avg.distances.dat.1.save b/test/Test_Ensemble_HREMD/avg.distances.dat.1.save new file mode 100644 index 0000000000..b43f9bbb2a --- /dev/null +++ b/test/Test_Ensemble_HREMD/avg.distances.dat.1.save @@ -0,0 +1,2 @@ +#Set AvgE2E[avg]%1 AvgE2E[sd]%1 AvgE2E[ymin]%1 AvgE2E[ymax]%1 AvgE2E[yminidx]%1 AvgE2E[ymaxidx]%1 AvgE2E[names]%1 + 1 7.124 1.837 4.798 12.24 45 78 "EndToEnd%1" diff --git a/test/Test_Ensemble_HREMD/avg.distances.dat.2.save b/test/Test_Ensemble_HREMD/avg.distances.dat.2.save new file mode 100644 index 0000000000..035b13ea6f --- /dev/null +++ b/test/Test_Ensemble_HREMD/avg.distances.dat.2.save @@ -0,0 +1,2 @@ +#Set AvgE2E[avg]%2 AvgE2E[sd]%2 AvgE2E[ymin]%2 AvgE2E[ymax]%2 AvgE2E[yminidx]%2 AvgE2E[ymaxidx]%2 AvgE2E[names]%2 + 1 6.907 1.741 5.132 12.59 1 80 "EndToEnd%2" diff --git a/test/Test_Ensemble_HREMD/avg.distances.dat.3.save b/test/Test_Ensemble_HREMD/avg.distances.dat.3.save new file mode 100644 index 0000000000..336b6a8515 --- /dev/null +++ b/test/Test_Ensemble_HREMD/avg.distances.dat.3.save @@ -0,0 +1,2 @@ +#Set AvgE2E[avg]%3 AvgE2E[sd]%3 AvgE2E[ymin]%3 AvgE2E[ymax]%3 AvgE2E[yminidx]%3 AvgE2E[ymaxidx]%3 AvgE2E[names]%3 + 1 7.513 2.06 5.376 12.43 17 91 "EndToEnd%3" From 650355dffe9f2c51e4ea4f6c5caa9b5ca596db95 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:21:05 -0400 Subject: [PATCH 3/9] Restore original parallel behavior for ensemble, where trajcomm masters would execute --- src/AnalysisList.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/AnalysisList.cpp b/src/AnalysisList.cpp index 226e2d8fae..2d9477f7d0 100644 --- a/src/AnalysisList.cpp +++ b/src/AnalysisList.cpp @@ -54,8 +54,10 @@ int AnalysisList::DoAnalyses() { ret = ana->ptr_->Analyze(); } else { mprintf("Warning: Analysis '%s' does not currently use multiple MPI processes.\n", ana->args_.Command()); - if (Parallel::World().Master()) + if (Parallel::TrajComm().Master()) ret = ana->ptr_->Analyze(); + else + ret = Analysis::OK; Parallel::World().MasterBcast( &ret, 1, MPI_INT ); } int err; From 1d15556fc439d5b3cd8d43e46e0c66fcc59bb05a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:24:32 -0400 Subject: [PATCH 4/9] Have runanalysis behave the same way (use trajcomm master) --- src/Exec_RunAnalysis.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Exec_RunAnalysis.cpp b/src/Exec_RunAnalysis.cpp index 0bb1096821..80e0938db8 100644 --- a/src/Exec_RunAnalysis.cpp +++ b/src/Exec_RunAnalysis.cpp @@ -45,11 +45,10 @@ int Exec_RunAnalysis::DoRunAnalysis(CpptrajState& State, ArgList& argIn) const { bool run_analysis = true; # ifdef MPI - Parallel::Comm const& analyzeComm = Parallel::World(); - AnalysisSetup setup(State.DSL(), State.DFL(), analyzeComm); + AnalysisSetup setup(State.DSL(), State.DFL(), Parallel::World()); if (!ana->IsParallel()) { mprintf("Warning: Analysis '%s' does not currently use multiple MPI processes.\n", analyzeargs.Command()); - run_analysis = analyzeComm.Master(); + run_analysis = Parallel::TrajComm().Master(); } # else /* MPI */ AnalysisSetup setup(State.DSL(), State.DFL()); From dc6b38e4b6c12140cc29b942d7f767bf8ea3f134 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:25:04 -0400 Subject: [PATCH 5/9] Version 6.19.5. Revision bump for parallel ensemble analysis fix. --- src/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Version.h b/src/Version.h index 6c9b7b8805..183804cea8 100644 --- a/src/Version.h +++ b/src/Version.h @@ -12,7 +12,7 @@ * Whenever a number that precedes is incremented, all subsequent * numbers should be reset to 0. */ -#define CPPTRAJ_INTERNAL_VERSION "V6.19.4" +#define CPPTRAJ_INTERNAL_VERSION "V6.19.5" /// PYTRAJ relies on this #define CPPTRAJ_VERSION_STRING CPPTRAJ_INTERNAL_VERSION #endif From 03ed71af0aed98f1c764c7bd55ddf93f36c53f95 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:27:33 -0400 Subject: [PATCH 6/9] Fix clean rule --- test/Test_GIST/RunTest.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/test/Test_GIST/RunTest.sh b/test/Test_GIST/RunTest.sh index 147959b527..76f6f22c7f 100755 --- a/test/Test_GIST/RunTest.sh +++ b/test/Test_GIST/RunTest.sh @@ -7,6 +7,7 @@ CleanFiles gist.in gist.out gist-*.dx ww_Eij.dat Eww_ij.dat \ Gist3-*.dx Gist3-*.dat Gist4-*.dx Gist4-*.dat \ Gist5-*.dx Gist5-*.dat Gist6-*.dx Gist6-*.dat \ Gist7-*.dx Gist7-*.dat Gist8-*.dx Gist8-*.dat \ + Gist9-*.dx Gist9-*.dat Gist10-*.dx Gist10-*.dat \ Gist-dummy*.dx Gist-dummy*.dat gaussian_entropy*.txt \ benzene-ions-energy.txt benzene-ions-gist*.txt INPUT="-i gist.in" From 11eaaca0d12ac210ba8faa5cfc9c329efc617a0b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 10:29:32 -0400 Subject: [PATCH 7/9] Enable calcdiffusion test --- test/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile index ab93679861..02acb7ddd8 100644 --- a/test/Makefile +++ b/test/Makefile @@ -518,6 +518,9 @@ test.avgbox: test.tordiff: @-cd Test_TorDiff && ./RunTest.sh $(OPT) +test.calcdiffusion: + @-cd Test_CalcDiffusion && ./RunTest.sh $(OPT) + # Every test target should go here. COMPLETETESTS=test.general \ test.strip \ @@ -681,7 +684,8 @@ COMPLETETESTS=test.general \ test.netcdfdata \ test.compareenergy \ test.avgbox \ - test.tordiff + test.tordiff \ + test.calcdiffusion test.all: $(MAKE) test.complete summary From 1e6e700e35d28c013dea41d862a9b591f4e08c39 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 11:03:34 -0400 Subject: [PATCH 8/9] Update debug info --- src/MetaData.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MetaData.cpp b/src/MetaData.cpp index 98c149cb1e..f3a5b560a6 100644 --- a/src/MetaData.cpp +++ b/src/MetaData.cpp @@ -109,9 +109,10 @@ bool MetaData::Match_Exact(MetaData const& In) const { /** This version allows wildcards and ranges. */ bool MetaData::Match_WildCard(SearchString const& search) const { - //mprintf("DEBUG: Input: %s[%s]:%s This Set: %s[%s]:%i\n", - // dsname.c_str(), aspect.c_str(), idxRange.RangeArg(), - // name_.c_str(), aspect_.c_str(), idx_); + //mprintf("DEBUG: Input: %s[%s]:%s%%%s This Set: %s[%s]:%i%%%i\n", + // search.NameArg().c_str(), search.AspectArg().c_str(), + // search.IdxRange().RangeArg(), search.MemberRange().RangeArg(), + // name_.c_str(), aspect_.c_str(), idx_, ensembleNum_); // Match type if specified if (fileName_.empty()) { // No filename. Match name if specified. From 1b6a2b6df113c7a3e0a2003289dfe1fc191a20ce Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 16 Jun 2023 11:04:25 -0400 Subject: [PATCH 9/9] Add non-parallel test save --- test/Test_Ensemble_HREMD/RunTest.sh | 30 ++++-- .../avg.distances.dat.save | 5 + test/Test_Ensemble_HREMD/distances.dat.save | 101 ++++++++++++++++++ 3 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 test/Test_Ensemble_HREMD/avg.distances.dat.save create mode 100644 test/Test_Ensemble_HREMD/distances.dat.save diff --git a/test/Test_Ensemble_HREMD/RunTest.sh b/test/Test_Ensemble_HREMD/RunTest.sh index 048a2d9d58..85bb4477ba 100755 --- a/test/Test_Ensemble_HREMD/RunTest.sh +++ b/test/Test_Ensemble_HREMD/RunTest.sh @@ -2,7 +2,9 @@ . ../MasterTest.sh -CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? distances.dat.? avg.distances.dat.? +CleanFiles cpptraj.in sorted.remlog.crd.? sorted.crdidx.crd.? \ + distances.dat.? avg.distances.dat.? \ + distances.dat avg.distances.dat TESTNAME='H-REMD sorting tests' Requires netcdf nthreads 4 @@ -35,22 +37,30 @@ DoTest sorted.remlog.crd.1.save sorted.crdidx.crd.1 DoTest sorted.remlog.crd.2.save sorted.crdidx.crd.2 DoTest sorted.remlog.crd.3.save sorted.crdidx.crd.3 +# FIXME distance currently only sets up first ensemble member initially. +# Should do all members. UNITNAME='Ensemble analysis test' cat > cpptraj.in <