26class ALIEN_EXPORT SYCLDistStructInfo
38 SYCLDistStructInfo(
const SYCLDistStructInfo& src)
44 SYCLDistStructInfo& operator=(
const SYCLDistStructInfo& src)
50 void computeUpperDiagOffset(
const ProfileType& profile)
const
52 auto nrows = profile.getNRows();
53 auto const* kcol = profile.kcol();
54 auto const* lrow_size = profile.localRowSize();
55 m_upper_diag_offset.resize(nrows);
56 for (std::size_t irow = 0; irow < nrows; ++irow)
58 int begin = kcol[irow] ;
59 int end = kcol[irow] + lrow_size[irow] ;
61 for (
int k = begin; k < end; ++k)
68 m_upper_diag_offset[irow] = index;
72 ConstArrayView<Integer> getUpperDiagOffset(
const ProfileType& profile)
const
74 if (m_upper_diag_offset.size() == 0)
75 computeUpperDiagOffset(profile);
76 return m_upper_diag_offset.constView();
79 int const* dcol(
const ProfileType& profile)
const
81 getUpperDiagOffset(profile);
82 return this->m_upper_diag_offset.data();