16 #ifndef dealii_cuda_vector_h
17 #define dealii_cuda_vector_h
27 #ifdef DEAL_II_WITH_CUDA
35 template <
typename Number>
36 class ReadWriteVector;
55 template <
typename Number>
94 operator=(const
Vector<Number> &v);
100 operator=(
Vector<Number> &&v) noexcept = default;
130 reinit(const
Vector<Number> &
V, const
bool omit_zeroing_entries = false);
144 const std::shared_ptr<const
Utilities::MPI::CommunicationPatternBase>
145 &communication_pattern = {});
153 std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
154 communication_pattern = {})
325 print(std::ostream &out,
326 const unsigned int precision = 2,
327 const bool scientific =
true,
328 const bool across =
true)
const;
347 std::unique_ptr<Number[], void (*)(Number *)>
val;
366 template <
typename Number>
378 template <
typename Number>
387 template <
typename Number>
395 template <
typename Number>
404 template <
typename Number>
Vector(Vector< Number > &&) noexcept=default
real_type linfty_norm() const
void equ(const Number a, const Vector< Number > &V)
types::global_dof_index size_type
void sadd(const Number s, const Number a, const Vector< Number > &V)
Number add_and_dot(const Number a, const Vector< Number > &V, const Vector< Number > &W)
real_type l2_norm() const
std::unique_ptr< Number[], void(*)(Number *)> val
typename numbers::NumberTraits< Number >::real_type real_type
Vector< Number > & operator*=(const Number factor)
real_type l1_norm() const
value_type mean_value() const
real_type norm_sqr() const
void import_elements(const ReadWriteVector< Number > &V, const VectorOperation::values operation, const std::shared_ptr< const Utilities::MPI::CommunicationPatternBase > &communication_pattern={})
Vector & operator=(const Vector< Number > &v)
Vector< Number > & operator+=(const Vector< Number > &V)
void scale(const Vector< Number > &scaling_factors)
::IndexSet locally_owned_elements() const
void print(std::ostream &out, const unsigned int precision=2, const bool scientific=true, const bool across=true) const
Number operator*(const Vector< Number > &V) const
void swap(Vector< Number > &v)
Number * get_values() const
void reinit(const size_type n, const bool omit_zeroing_entries=false)
Vector< Number > & operator-=(const Vector< Number > &V)
std::size_t memory_consumption() const
Vector< Number > & operator/=(const Number factor)
void swap(LinearAlgebra::CUDAWrappers::Vector< Number > &u, LinearAlgebra::CUDAWrappers::Vector< Number > &v)
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
void swap(LinearAlgebra::CUDAWrappers::Vector< Number > &u, LinearAlgebra::CUDAWrappers::Vector< Number > &v)
#define DeclException0(Exception0)
static ::ExceptionBase & ExcVectorTypeNotCompatible()
IndexSet complete_index_set(const IndexSet::size_type N)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
unsigned int global_dof_index