16 #ifndef dealii_cuda_vector_h 17 #define dealii_cuda_vector_h 27 #ifdef DEAL_II_WITH_CUDA 33 class CommunicationPatternBase;
34 template <
typename Number>
35 class ReadWriteVector;
55 template <
typename Number>
94 operator=(const
Vector<Number> &v);
100 operator=(
Vector<Number> &&v) noexcept = default;
134 const
bool omit_zeroing_entries = false) override;
156 operator=(const Number s) override;
162 operator*=(const Number factor) override;
168 operator/=(const Number factor) override;
192 add(const Number a) override;
306 size() const override;
320 const
unsigned int precision = 2,
321 const
bool scientific = true,
322 const
bool across = true) const override;
341 std::unique_ptr<Number[],
void (*)(Number *)>
val;
361 template <typename Number>
373 template <
typename Number>
382 template <
typename Number>
390 template <
typename Number>
399 template <
typename Number>
virtual Number add_and_dot(const Number a, const VectorSpaceVector< Number > &V, const VectorSpaceVector< Number > &W) override
typename VectorSpaceVector< Number >::size_type size_type
virtual void equ(const Number a, const VectorSpaceVector< Number > &V) override
void reinit(const size_type n, const bool omit_zeroing_entries=false)
Number * get_values() const
std::unique_ptr< Number[], void(*)(Number *)> val
virtual real_type l1_norm() const override
virtual void swap(Vector< Number > &v)
virtual value_type mean_value() const override
typename VectorSpaceVector< Number >::real_type real_type
virtual ::IndexSet locally_owned_elements() const override
virtual void add(const Number a) override
#define DeclException0(Exception0)
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcVectorTypeNotCompatible()
virtual bool all_zero() const override
typename VectorSpaceVector< Number >::value_type value_type
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
typename numbers::NumberTraits< Number >::real_type real_type
real_type norm_sqr() const
IndexSet complete_index_set(const IndexSet::size_type N)
virtual std::size_t memory_consumption() const override
virtual real_type l2_norm() const override
#define DEAL_II_NAMESPACE_OPEN
virtual void scale(const VectorSpaceVector< Number > &scaling_factors) override
virtual void sadd(const Number s, const Number a, const VectorSpaceVector< Number > &V) override
void swap(LinearAlgebra::CUDAWrappers::Vector< Number > &u, LinearAlgebra::CUDAWrappers::Vector< Number > &v)
virtual void import(const ReadWriteVector< Number > &V, VectorOperation::values operation, std::shared_ptr< const CommunicationPatternBase > communication_pattern=std::shared_ptr< const CommunicationPatternBase >()) override
virtual void print(std::ostream &out, const unsigned int precision=2, const bool scientific=true, const bool across=true) const override
virtual size_type size() const override
virtual real_type linfty_norm() const override