 #include <thrust/inner_product.h>
 #include <thrust/host_vector.h>
 #include <thrust/device_vector.h>
+#include <thrust/execution_policy.h>
 
 #include "vector_categories.h"
 #include "vector_traits.h"

    value_type alpha, beta;
};

template <class value_type>
struct Plus_Functor
{

    value_type alpha;
};

template< class Vector>
inline void doPlus(  Vector& x, typename VectorTraits<Vector>::value_type alpha, ThrustVectorTag)
{
#if THRUST_DEVICE_SYSTEM!=THRUST_DEVICE_SYSTEM_CUDA
    unsigned size=x.size();
