ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/optimization/Problem.cpp
Revision: 1969
Committed: Wed Feb 26 14:14:50 2014 UTC (11 years, 2 months ago) by gezelter
File size: 856 byte(s)
Log Message:
Fixes to deal with deprecation of MPI C++ bindings.  We've reverted back to the
C calls.

File Contents

# Content
1 #ifdef IS_MPI
2 #include <mpi.h>
3 #endif
4
5 #include "config.h"
6 #include "optimization/Problem.hpp"
7
8 namespace QuantLib {
9 RealType Problem::DotProduct(DynamicVector<RealType>& v1,
10 DynamicVector<RealType>& v2){
11 RealType dp = dot(v1, v2);
12 #ifdef IS_MPI
13 // in parallel, we need to add up the contributions from all
14 // processors:
15 MPI_Allreduce(MPI_IN_PLACE, &dp, 1, MPI_REALTYPE,
16 MPI_SUM, MPI_COMM_WORLD);
17 #endif
18 return dp;
19 }
20
21 RealType Problem::computeGradientNormValue(DynamicVector<RealType>& grad_f) {
22
23 RealType dot = grad_f.lengthSquare();
24 #ifdef IS_MPI
25 // in parallel, we need to add up the contributions from all
26 // processors:
27 MPI_Allreduce(MPI_IN_PLACE, &dot, 1, MPI_REALTYPE,
28 MPI_SUM, MPI_COMM_WORLD);
29 #endif
30 return dot;
31
32 }
33 }

Properties

Name Value
svn:eol-style native