14#include <alien/kernels/sycl/SYCLBackEnd.h>
15#include <alien/kernels/sycl/SYCLPrecomp.h>
27 template <
typename ValueT>
31template <
typename ValueT>
35 typedef ValueT ValueType;
36 typedef Integer IndexType;
47 void resize(Integer alloc_size) ;
55 const bool need_allocate)
override ;
62 return m_own_distribution;
70 return m_own_distribution.localSize();
78 return m_own_distribution.globalSize();
86 return m_own_distribution.offset();
89 Arccore::Integer allocSize()
const {
93 Arccore::Integer getAllocSize()
const {
97 ValueType
const* dataPtr()
const ;
98 void initDevicePointers(
int** rows, ValueType** values)
const ;
99 void freeDevicePointers(
int* rows, ValueType* values)
const ;
101 void copyValuesTo(ValueType* values)
const;
103 InternalType* internal() {
104 return m_internal.get() ;
107 InternalType
const* internal()
const {
108 return m_internal.get() ;
112 Alien::BackEnd::Memory::eType m_mem_kind = Alien::BackEnd::Memory::Device;
113 std::unique_ptr<InternalType> m_internal ;
114 Integer m_local_size = 0;
115 VectorDistribution m_own_distribution;
void clear() override
Wipe out internal data.
void init(const VectorDistribution &dist, const bool need_allocate) override
Initialize vector datas.
const VectorDistribution & distribution() const override
Get the distribution of the vector.
HCSRVector()
Constructeur sans association ? un MultiImpl.
HCSRVector(const MultiVectorImpl *multi_impl)
Constructeur avec association ? un MultiImpl.
Arccore::Integer scalarizedOffset() const override
Get the "scalarized" offset.
Arccore::Integer scalarizedGlobalSize() const override
Get the "scalarized" global size.
Arccore::Integer scalarizedLocalSize() const override
Get the "scalarized" local size.
virtual Arccore::Integer scalarizedOffset() const
Get the "scalarized" offset.
const MultiVectorImpl * m_multi_impl
Pointer on vectors implementations.
virtual const VectorDistribution & distribution() const
Get the distribution of the vector.
IVectorImpl(const MultiVectorImpl *multi_impl, BackEndId backend="")
Constructor.
virtual Arccore::Integer scalarizedGlobalSize() const
Get the "scalarized" global size.
virtual Arccore::Integer scalarizedLocalSize() const
Get the "scalarized" local size.
Computes a vector distribution.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --