Changeset 856d05


Ignore:
Timestamp:
Sep 26, 2012, 5:24:47 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
a98122
Parents:
c3ecde
git-author:
Frederik Heber <heber@…> (09/05/12 14:10:32)
git-committer:
Frederik Heber <heber@…> (09/26/12 17:24:47)
Message:

MEMFIX: Added WorldTime and ObserverLog ::purgeInstance() calls.

  • added several memory fixes:
  • added ObserverLog include to GLMoleculeObject_bond, _molecule, and GLWorldView.
  • TESTFIX: due to changes with new JobMarket, we need to give jobids in regression test mpqc-jobs.
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • configure.ac

    rc3ecde r856d05  
    170170
    171171
    172 # CodePatterns library (needs boost/archive/iserializer.hpp before MemDebug.hpp)
    173 AM_PATH_CODEPATTERNS([1.2.2], $have_debug,,[AC_MSG_ERROR([Missing CodePatterns library, please specify PKG_CONFIG_PATH or use --with-codepatterns...])])
     172# CodePatterns library (needs boost/exception_ptr.hpp before MemDebug.hpp)
     173AM_PATH_CODEPATTERNS([1.2.3], $have_debug,,[AC_MSG_ERROR([Missing CodePatterns library, please specify PKG_CONFIG_PATH or use --with-codepatterns...])])
    174174
    175175# JobMarket library (needs boost/archive/iserializer.hpp before MemDebug.hpp)
     
    181181AC_MSG_RESULT($enable_jobmarket)
    182182AS_IF([test x"$enable_jobmarket" != x"no"],[
    183   AM_PATH_JOBMARKET([1.0.0], $have_debug,[
     183  # JobMarket library (needs newer ax_jobmarket.m4 and smaller fixes)
     184  AM_PATH_JOBMARKET([1.1.1], $have_debug,[
    184185    # the following is only required if we have JobMarket
    185186    BOOST_ASIO
  • m4/ax_jobmarket.m4

    rc3ecde r856d05  
    66[
    77AC_REQUIRE([AM_PATH_CODEPATTERNS])
     8AC_REQUIRE([BOOST_THREADS])
    89
    910AC_ARG_WITH(jobmarket,[  --with-jobmarket=PFX   Prefix where JobMarket is installed (optional)],
     
    211212  SAVE_CPPFLAGS="$CPPFLAGS"
    212213  SAVE_LIBS="$LIBS"
    213   CPPFLAGS="$JobMarket_CFLAGS  ${CodePatterns_CFLAGS}"
    214   LIBS="$JobMarket_LIBS $CodePatterns_LDFLAGS $CodePatterns_LIBS"
     214  CPPFLAGS="$JobMarket_CFLAGS  $CodePatterns_CFLAGS $BOOST_CPPFLAGS"
     215  LIBS="$JobMarket_LIBS $CodePatterns_LIBS $BOOST_THREAD_LDFLAGS $BOOST_THREAD_LIBS"
    215216  if test x$jobmarket_version = xyes; then
    216217    AC_CACHE_CHECK(for $jobmarket_libname lib, cp_cv_jobmarket_lib, [
  • src/ControllerOptions_MPQCCommandJob.cpp

    rc3ecde r856d05  
    3939  if (command == "receivempqc") {
    4040    if (!vm.count("fragment-path")) {
    41       ELOG(1, "'"+command+"' requires two options: [fragment-path].");
     41      ELOG(1, "'"+command+"' requires two options: [fragment-path] [jobids].");
    4242      return 255;
    4343    }
     
    5858}
    5959
     60int ControllerOptions_MPQCCommandJob::parseIds(boost::program_options::variables_map &vm) {
     61  if (command == "receivempqc") {
     62    if (vm.count("ids")) {
     63      ids = vm["ids"].as< std::vector<JobId_t> >();
     64    }
     65  }
     66  return 0;
     67}
     68
  • src/ControllerOptions_MPQCCommandJob.hpp

    rc3ecde r856d05  
    1919
    2020#include "JobMarket/Controller/ControllerOptions.hpp"
     21#include "JobMarket/types.hpp"
    2122
    2223struct ControllerOptions_MPQCCommandJob : public ControllerOptions
     
    2526  int parseFragmentpath(boost::program_options::variables_map &vm);
    2627  int parseJobfiles(boost::program_options::variables_map &vm);
     28  int parseIds(boost::program_options::variables_map &vm);
    2729
    2830  std::string executable;
    2931  std::string fragmentpath;
    3032  std::vector<std::string> jobfiles;
     33  std::vector<JobId_t> ids;
    3134};
    3235
  • src/Parser/XmlParser.hpp

    rc3ecde r856d05  
    4848  //!> grant unit test access to private parts
    4949  friend class ParserXmlUnitTest;
     50  //!> grant mem debugger access
     51  friend void AddStaticEntitiestoIgnoreList();
    5052public:
    5153  FormatParser();
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_bond.cpp

    rc3ecde r856d05  
    2525#include "CodePatterns/MemDebug.hpp"
    2626
     27
    2728#include <cmath>
    2829
     
    3031#include "CodePatterns/Log.hpp"
    3132#include "CodePatterns/Observer/Notification.hpp"
     33#include "CodePatterns/Observer/ObserverLog.hpp"
    3234#include "Atom/atom.hpp"
    3335#include "Bond/bond.hpp"
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_molecule.cpp

    rc3ecde r856d05  
    3131#include "CodePatterns/Log.hpp"
    3232#include "CodePatterns/Observer/Notification.hpp"
     33#include "CodePatterns/Observer/ObserverLog.hpp"
    3334
    3435#include "Atom/atom.hpp"
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.cpp

    rc3ecde r856d05  
    4141#include "CodePatterns/Log.hpp"
    4242#include "CodePatterns/Observer/Notification.hpp"
     43#include "CodePatterns/Observer/ObserverLog.hpp"
    4344#include "World.hpp"
    4445#include "Box.hpp"
  • src/cleanUp.cpp

    rc3ecde r856d05  
    3030#include "CodePatterns/errorlogger.hpp"
    3131#include "CodePatterns/logger.hpp"
     32#include "CodePatterns/Observer/ObserverLog.hpp"
    3233
    3334#include "Actions/ActionHistory.hpp"
     
    4142#include "Parser/ChangeTracker.hpp"
    4243#include "Parser/FormatParserStorage.hpp"
     44#include "Parser/XmlParser.hpp"
    4345
    4446#include "UIElements/CommandLineUI/CommandLineParser.hpp"
     
    4648#include "UIElements/UIFactory.hpp"
    4749#include "World.hpp"
     50#include "WorldTime.hpp"
    4851
    4952/** In this function all dynamicly allocated member variables to static/global
     
    6164  Memory::ignore(unitVec[1].get());
    6265  Memory::ignore(unitVec[2].get());
     66
     67  // XmlParser has static instance that uses vectorContent as well
     68  Memory::ignore(FormatParser< xml >::defaultAtomInfo.field.get());
    6369}
    6470
     
    8490  logger::purgeInstance();
    8591  errorLogger::purgeInstance();
     92  WorldTime::purgeInstance();
    8693}
    8794
     
    102109#ifdef LOG_OBSERVER
    103110  cout << observerLog().getLog();
     111#endif
     112#ifndef NDEBUG
     113  ObserverLog::purgeInstance();
    104114#endif
    105115  Memory::getState();
  • src/controller_MPQCCommandJob.cpp

    rc3ecde r856d05  
    325325  registrator(new ControllerCommand("receivempqc",
    326326      boost::assign::list_of< ControllerCommand::commands_t >
     327        (boost::bind(&FragmentController_JobIdProxy::setJobids,
     328            boost::ref(controller), boost::cref(CI.ids)))
    327329        (boost::bind(&FragmentController::receiveResults,
    328330            boost::ref(controller), boost::cref(ControllerInfo.server), boost::cref(ControllerInfo.serverport)))
     
    341343    ("fragment-path", boost::program_options::value< std::string >(), "path to fragment files for 'receivempqc'")
    342344    ("jobfiles", boost::program_options::value< std::vector< std::string > >()->multitoken(), "list of files as single argument toexecutable for 'addjobs'")
     345    ("ids", boost::program_options::value< std::vector< JobId_t > >()->multitoken(), "list of jobids to request from server for 'receivempqc'")
    343346    ;
    344347}
     
    356359  if (status) return status;
    357360  status = CI.parseJobfiles(vm);
     361  if (status) return status;
     362  status = CI.parseIds(vm);
    358363  return status;
    359364}
  • src/controller_MPQCCommandJob.hpp

    rc3ecde r856d05  
    1818
    1919#include "JobMarket/Controller/controller_AddOn.hpp"
     20#include "JobMarket/Controller/FragmentController_JobIdProxy.hpp"
    2021
    2122class ControllerCommand;
     
    2526class FragmentController;
    2627
    27 struct controller_MPQCCommandJob : public controller_AddOn
     28struct controller_MPQCCommandJob : public controller_AddOn, public FragmentController_JobIdProxy
    2829{
    2930  ControllerOptions *allocateControllerInfo();
  • tests/JobMarket/Makefile.am

    rc3ecde r856d05  
    33if CONDJOBMARKET
    44mpqc_SOURCES = $(srcdir)/mpqc.cpp
    5 mpqc_CPPFLAGS = ${CodePatterns_CFLAGS}
     5mpqc_CPPFLAGS = ${CodePatterns_CFLAGS} $(BOOST_CPPFLAGS)
    66mpqc_LDADD = \
    77        ${CodePatterns_LIBS}
  • tests/JobMarket/testsuite-jobmarket-mpqc-jobs.at

    rc3ecde r856d05  
    3636
    3737# check number of done jobs
    38 AT_CHECK([${AUTOTEST_PATH}/Controller --server 127.0.0.1:$CONTROLLERPORT --command receivempqc --fragment-path ${abs_top_srcdir}/tests/JobMarket/pre/], 0, [stdout], [ignore], [kill $server_pid])
     38NoJobs=`ls -l ${abs_top_srcdir}/tests/JobMarket/pre/BondFragment* 2>/dev/null | wc -l`
     39AT_CHECK([${AUTOTEST_PATH}/Controller --server 127.0.0.1:$CONTROLLERPORT --command receivempqc --fragment-path ${abs_top_srcdir}/tests/JobMarket/pre/ --ids `seq --sep=" " 1 $NoJobs`], 0, [stdout], [ignore], [kill $server_pid])
    3940AT_CHECK([fgrep "There are 7 fragments" stdout], 0, [ignore], [ignore], [kill $server_pid])
    4041AT_CHECK([fgrep "There are 23 atoms" stdout], 0, [ignore], [ignore], [kill $server_pid])
Note: See TracChangeset for help on using the changeset viewer.