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>
99 operator=(
Vector<Number> &&v) noexcept = default;
133 const
bool omit_zeroing_entries = false) override;
147 communication_pattern = {})
override;
190 add(
const Number a)
override;
304 size()
const override;
318 const unsigned int precision = 2,
319 const bool scientific =
true,
320 const bool across =
true)
const override;
339 std::unique_ptr<Number[], void (*)(Number *)>
val;
358template <
typename Number>
370 template <
typename Number>
379 template <
typename Number>
387 template <
typename Number>
396 template <
typename Number>
400 std::swap(val, v.
val);
virtual Vector< Number > & operator*=(const Number factor) override
virtual Vector< Number > & operator/=(const Number factor) override
Vector(Vector< Number > &&) noexcept=default
typename VectorSpaceVector< Number >::value_type value_type
virtual Vector< Number > & operator=(const Number s) override
std::unique_ptr< Number[], void(*)(Number *)> val
virtual void import(const ReadWriteVector< Number > &V, VectorOperation::values operation, std::shared_ptr< const Utilities::MPI::CommunicationPatternBase > communication_pattern={}) override
typename VectorSpaceVector< Number >::size_type size_type
virtual Number operator*(const VectorSpaceVector< Number > &V) const override
virtual real_type l2_norm() const override
virtual bool all_zero() const override
virtual Vector< Number > & operator-=(const VectorSpaceVector< Number > &V) override
virtual ::IndexSet locally_owned_elements() const override
typename VectorSpaceVector< Number >::real_type real_type
virtual void add(const Number a, const VectorSpaceVector< Number > &V, const Number b, const VectorSpaceVector< Number > &W) override
virtual Number add_and_dot(const Number a, const VectorSpaceVector< Number > &V, const VectorSpaceVector< Number > &W) override
virtual real_type l1_norm() const override
void reinit(const size_type n, const bool omit_zeroing_entries=false)
virtual void sadd(const Number s, const Number a, const VectorSpaceVector< Number > &V) override
virtual void print(std::ostream &out, const unsigned int precision=2, const bool scientific=true, const bool across=true) const override
virtual void add(const Number a) override
virtual value_type mean_value() const override
virtual real_type linfty_norm() const override
virtual void add(const Number a, const VectorSpaceVector< Number > &V) override
virtual void equ(const Number a, const VectorSpaceVector< Number > &V) override
virtual Vector< Number > & operator+=(const VectorSpaceVector< Number > &V) override
Vector(const Vector< Number > &V)
real_type norm_sqr() const
virtual void swap(Vector< Number > &v)
Number * get_values() const
virtual void scale(const VectorSpaceVector< Number > &scaling_factors) override
virtual size_type size() const override
virtual std::size_t memory_consumption() const override
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()
typename numbers::NumberTraits< Number >::real_type real_type
IndexSet complete_index_set(const IndexSet::size_type N)