16#ifndef dealii_cuda_vector_h
17#define dealii_cuda_vector_h
28#ifdef DEAL_II_WITH_CUDA
34template <
typename Number>
54 template <
typename Number>
93 operator=(const
Vector<Number> &v);
99 operator=(
Vector<Number> &&v) noexcept = default;
133 const
bool omit_zeroing_entries = false) override;
148 communication_pattern = {})
override;
153 DEAL_II_DEPRECATED_EARLY
virtual void
156 std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
157 communication_pattern = {})
override
203 add(
const Number a)
override;
317 size()
const override;
330 print(std::ostream & out,
331 const unsigned int precision = 2,
332 const bool scientific =
true,
333 const bool across =
true)
const override;
352 std::unique_ptr<Number[], void (*)(Number *)>
val;
371template <
typename Number>
383 template <
typename Number>
392 template <
typename Number>
400 template <
typename Number>
409 template <
typename Number>
413 std::swap(val, v.
val);
virtual value_type mean_value() const override
Vector(Vector< Number > &&) noexcept=default
virtual void scale(const VectorSpaceVector< Number > &scaling_factors) override
typename VectorSpaceVector< Number >::value_type value_type
virtual void import_elements(const ReadWriteVector< Number > &V, VectorOperation::values operation, std::shared_ptr< const Utilities::MPI::CommunicationPatternBase > communication_pattern={}) override
std::unique_ptr< Number[], void(*)(Number *)> val
virtual void add(const Number a) override
typename VectorSpaceVector< Number >::size_type size_type
virtual Vector< Number > & operator+=(const VectorSpaceVector< Number > &V) override
virtual void sadd(const Number s, const Number a, const VectorSpaceVector< Number > &V) override
virtual Vector< Number > & operator-=(const VectorSpaceVector< Number > &V) override
virtual Vector< Number > & operator*=(const Number factor) override
virtual ::IndexSet locally_owned_elements() const override
virtual Number add_and_dot(const Number a, const VectorSpaceVector< Number > &V, const VectorSpaceVector< Number > &W) override
typename VectorSpaceVector< Number >::real_type real_type
virtual void print(std::ostream &out, const unsigned int precision=2, const bool scientific=true, const bool across=true) const override
real_type norm_sqr() const
virtual real_type l2_norm() const override
Vector & operator=(const Vector< Number > &v)
virtual void equ(const Number a, const VectorSpaceVector< Number > &V) override
virtual Number operator*(const VectorSpaceVector< Number > &V) const override
virtual void swap(Vector< Number > &v)
virtual real_type l1_norm() const override
virtual bool all_zero() const override
Number * get_values() const
virtual real_type linfty_norm() const override
virtual Vector< Number > & operator/=(const Number factor) override
void reinit(const size_type n, const bool omit_zeroing_entries=false)
virtual std::size_t memory_consumption() const override
virtual size_type size() const override
typename numbers::NumberTraits< Number >::real_type real_type
void swap(LinearAlgebra::CUDAWrappers::Vector< Number > &u, LinearAlgebra::CUDAWrappers::Vector< Number > &v)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcVectorTypeNotCompatible()
IndexSet complete_index_set(const IndexSet::size_type N)