Changeset 8a8c8c


Ignore:
Timestamp:
Nov 13, 2012, 11:11:59 AM (12 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:
69c733
Parents:
e9cfc4
git-author:
Frederik Heber <heber@…> (07/30/12 13:05:40)
git-committer:
Frederik Heber <heber@…> (11/13/12 11:11:59)
Message:

Using CommMPI in VMGJob now.

  • this is used instead of CommSerial as CommMPI is better maintained right now.
  • using lx_find_mpi from Libra project to detect mpi compiler and linker flags.
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified configure.ac

    re9cfc4 r8a8c8c  
    210210  AC_SUBST(VMG_CFLAGS)
    211211  AC_SUBST(VMG_LIBS)
     212
     213  # check whether to use mpi
     214  AC_ARG_WITH(
     215      [vmg-mpi],
     216      [AS_HELP_STRING([--with-vmg-mpi], [whether to use MPI for communication in VMGJobs])],
     217      [with_vmg_mpi=yes],
     218      [with_vmg_mpi=no])
     219  AS_IF(
     220    [test "x$with_vmg_mpi" != xno],
     221    [
     222      AC_LANG_SAVE
     223      AC_LANG_CPLUSPLUS
     224      LX_FIND_MPI
     225      AC_LANG_RESTORE
     226      AS_IF([test "x$have_CXX_mpi" = xyes],[
     227            AC_DEFINE([MPICH_SKIP_MPICXX], [1], [Skip C++ bindings])
     228            AC_DEFINE([OMPI_SKIP_MPICXX], [1], [Skip C++ bindings])
     229            AC_DEFINE([MPI_NO_CPPBIND], [1], [Skip C++ bindings])
     230            AC_DEFINE([_MPICC_H], [1], [Skip C++ bindings])
     231            AC_DEFINE([MPIBULL_SKIP_MPICXX], [1], [Skip C++ bindings])
     232           ])
     233    ],
     234    [])
    212235])
    213236AM_CONDITIONAL([CONDVMG], [test x"$enable_vmg" = x"yes"])
     237AM_CONDITIONAL([CONDVMGMPI], [test x"$have_CXX_mpi" = x"yes"])
    214238
    215239
  • TabularUnified src/Jobs/Makefile.am

    re9cfc4 r8a8c8c  
    4040        $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
    4141  $(CodePatterns_LIBS)
    42 
     42if CONDVMGMPI
     43libMolecuilderJobs_la_CPPFLAGS += $(MPI_CXXFLAGS)
     44libMolecuilderJobs_la_LDFLAGS += $(MPI_CXXLDFLAGS)
     45endif
     46 
  • TabularUnified src/Jobs/VMGJob.cpp

    re9cfc4 r8a8c8c  
    3434#endif
    3535
     36#ifdef HAVE_MPI
     37#include "mpi.h"
     38#endif
     39
    3640// include headers that implement a archive in simple text format
    3741// otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect
     
    4650#include "base/object.hpp"
    4751#include "base/defs.hpp"
     52
     53#ifdef HAVE_MPI
     54#include "comm/comm_mpi.hpp"
     55#include "comm/domain_decomposition_mpi.hpp"
     56#else
    4857#include "comm/comm_serial.hpp"
     58#endif
    4959#include "cycles/cycle_cs_periodic.hpp"
    5060#include "grid/multigrid.hpp"
     
    115125   * Choose multigrid components (self-registering)
    116126   */
     127#ifdef HAVE_MPI
     128  new CommMPI(boundary, new DomainDecompositionMPI());
     129#else
    117130  new CommSerial(boundary);
     131#endif
    118132  new DiscretizationPoissonFD(4);
    119133  new VMGInterfaces::InterfaceVMGJob(
Note: See TracChangeset for help on using the changeset viewer.