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

# User Rev Content
1 gezelter 1741 #ifdef IS_MPI
2     #include <mpi.h>
3     #endif
4    
5 gezelter 1938 #include "config.h"
6     #include "optimization/Problem.hpp"
7 gezelter 1741
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 gezelter 1969 MPI_Allreduce(MPI_IN_PLACE, &dp, 1, MPI_REALTYPE,
16     MPI_SUM, MPI_COMM_WORLD);
17 gezelter 1741 #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 gezelter 1969 MPI_Allreduce(MPI_IN_PLACE, &dot, 1, MPI_REALTYPE,
28     MPI_SUM, MPI_COMM_WORLD);
29 gezelter 1741 #endif
30     return dot;
31    
32     }
33     }

Properties

Name Value
svn:eol-style native