Classes | |
| struct | TileT |
| struct | Tile |
| struct | LU |
Public Types | |
| using | ThisType = MatrixInternal<ValueT,EllPackSize> |
| using | ValueType = ValueT |
| using | value_type = ValueT |
| using | ProfileType = BEllPackStructInfo<EllPackSize,int> |
| using | InternalProfileType = typename ProfileType::InternalType |
| using | IndexType = typename InternalProfileType::IndexType |
| using | IndexBufferType = typename InternalProfileType::IndexBufferType |
| using | IndexBufferPtrType = std::unique_ptr<IndexBufferType> |
| using | value_buffer_type = sycl::buffer<value_type, 1> |
| using | ValueBufferType = sycl::buffer<value_type, 1> |
| using | ValueBufferPtrType = std::unique_ptr<ValueBufferType> |
| using | QueueType = sycl::queue |
Public Member Functions | |
| MatrixInternal (ProfileType const *profile, int blk_size=1) | |
| bool | setMatrixValues (ValueType const *values, bool only_host) |
| bool | setMatrixValuesFromHost () |
| bool | setMatrixValues (ValueBufferType &values) |
| bool | setMatrixValues (ValueBufferType &values, ValueBufferType &ext_values) |
| bool | copy (std::size_t nb_blocks, Integer block_size, ValueBufferType &rhs_values, Integer rhs_block_size) |
| bool | copy (std::size_t nb_blocks, Integer block_size, ValueBufferType &rhs_values, ValueBufferType &rhs_ext_values, Integer rhs_block_size) |
| bool | needUpdate () |
| void | notifyChanges () |
| void | endUpdate () |
| template<int N> | |
| void | multN (ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | mult (ValueBufferType &x, ValueBufferType &y) const |
| void | mult (ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| template<int N> | |
| void | addExtMultN (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | addExtMult (ValueBufferType &x, ValueBufferType &y) const |
| void | addExtMult (ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| template<int N> | |
| void | addLMultN (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| template<int N> | |
| void | addUMultN (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | addLMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y) const |
| void | addUMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y) const |
| void | addLMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | addUMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| template<int N> | |
| void | addExtLMultN (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | addExtLMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y) const |
| void | addExtLMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| template<int N> | |
| void | addExtUMultN (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | addExtUMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y) const |
| void | addExtUMult (ValueType alpha, ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | multDiag (ValueBufferType &x, ValueBufferType &y) const |
| void | multDiag (ValueBufferType &x, ValueBufferType &y, QueueType &queue) const |
| void | multDiag (ValueBufferType &y) const |
| void | multDiag (ValueBufferType &y, QueueType &queue) const |
| void | computeDiag (ValueBufferType &y) const |
| void | computeDiag (ValueBufferType &y, QueueType &queue) const |
| void | computeBlockDiag (ValueBufferType &y) const |
| void | computeBlockDiag (ValueBufferType &y, QueueType &queue) const |
| void | multInvDiag (ValueBufferType &y) const |
| void | multInvDiag (ValueBufferType &y, QueueType &queue) const |
| void | computeInvDiag (ValueBufferType &y) const |
| void | computeInvDiag (ValueBufferType &y, QueueType &queue) const |
| void | computeInvBlockDiag (ValueBufferType &y) const |
| void | computeInvBlockDiag (ValueBufferType &y, QueueType &queue) const |
| void | scal (ValueBufferType &y) |
| void | scal (ValueBufferType &y, QueueType &queue) |
| void | copyDevicePointers (int local_offset, std::size_t nrows, std::size_t nnz, int *rows, int *ncols, int *cols, ValueT *values) const |
| ValueBufferType & | getValues () |
| ValueBufferType const | getValues () const |
| ProfileType const * | getProfile () const |
| ValueType const * | getHCsrData () const |
| ValueType * | getHCsrData () |
| IndexBufferType & | getSendIds () const |
| IndexBufferType & | getRecvIds () const |
Public Attributes | |
| int | m_N = 1 |
| int | m_NxN = 1 |
| ProfileType const * | m_profile = nullptr |
| ProfileType const * | m_ext_profile = nullptr |
| int | m_first_upper_ghost_index = 0 |
| std::vector< ValueType > | m_h_csr_values |
| std::vector< ValueType > | m_h_values |
| ValueBufferType | m_values |
| std::vector< ValueType > | m_h_csr_ext_values |
| std::vector< ValueType > | m_h_ext_values |
| ValueBufferPtrType | m_ext_values |
| bool | m_values_is_update = false |
| int const * | m_h_interface_row_ids = nullptr |
| IndexBufferPtrType | m_interface_row_ids |
| IndexBufferPtrType | m_send_ids |
| IndexBufferPtrType | m_recv_ids |
| IndexBufferPtrType | m_recv_uids |
Static Public Attributes | |
| static constexpr int | ellpack_size = EllPackSize |
Definition at line 126 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::IndexBufferPtrType = std::unique_ptr<IndexBufferType> |
Definition at line 141 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::IndexBufferType = typename InternalProfileType::IndexBufferType |
Definition at line 140 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::IndexType = typename InternalProfileType::IndexType |
Definition at line 139 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::InternalProfileType = typename ProfileType::InternalType |
Definition at line 138 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::ProfileType = BEllPackStructInfo<EllPackSize,int> |
Definition at line 137 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::QueueType = sycl::queue |
Definition at line 147 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::ThisType = MatrixInternal<ValueT,EllPackSize> |
Definition at line 130 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::value_buffer_type = sycl::buffer<value_type, 1> |
Definition at line 143 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::value_type = ValueT |
Definition at line 135 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::ValueBufferPtrType = std::unique_ptr<ValueBufferType> |
Definition at line 145 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::ValueBufferType = sycl::buffer<value_type, 1> |
Definition at line 144 of file SYCLBEllPackInternal.h.
| using Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::ValueType = ValueT |
Definition at line 134 of file SYCLBEllPackInternal.h.
| Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::MatrixInternal | ( | ProfileType const * | profile, |
| int | blk_size = 1 ) |
Definition at line 433 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 331 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtLMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y ) const |
Definition at line 2518 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtLMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 2385 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 758 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtMult | ( | ValueBufferType & | x, |
| ValueBufferType & | y ) const |
Definition at line 2084 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtMult | ( | ValueBufferType & | x, |
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 1955 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 446 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtUMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y ) const |
Definition at line 2953 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addExtUMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 2820 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 877 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addLMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y ) const |
Definition at line 2379 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addLMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 2091 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 524 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addUMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y ) const |
Definition at line 2814 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::addUMult | ( | ValueType | alpha, |
| ValueBufferType & | x, | ||
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 2526 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 638 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeBlockDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 3186 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeBlockDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 3108 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 3180 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 2984 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeInvBlockDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 3581 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeInvBlockDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 3365 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeInvDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 3575 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::computeInvDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 3206 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::copyDevicePointers | ( | int | local_offset, |
| std::size_t | nrows, | ||
| std::size_t | nnz, | ||
| int * | rows, | ||
| int * | ncols, | ||
| int * | cols, | ||
| ValueT * | values ) const |
Definition at line 3690 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::endUpdate | ( | ) |
Definition at line 1530 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 1042 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1037 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1035 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1051 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1047 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1029 of file SYCLBEllPackInternal.h.
|
inline |
Definition at line 1031 of file SYCLBEllPackInternal.h.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::mult | ( | ValueBufferType & | x, |
| ValueBufferType & | y ) const |
Definition at line 1949 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::mult | ( | ValueBufferType & | x, |
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 1615 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multDiag | ( | ValueBufferType & | x, |
| ValueBufferType & | y ) const |
Definition at line 2965 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multDiag | ( | ValueBufferType & | x, |
| ValueBufferType & | y, | ||
| QueueType & | queue ) const |
Definition at line 2960 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 2978 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 2971 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multInvDiag | ( | ValueBufferType & | y | ) | const |
Definition at line 3200 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::multInvDiag | ( | ValueBufferType & | y, |
| QueueType & | queue ) const |
Definition at line 3193 of file SYCLBEllPackMatrix.cc.
|
inline |
Definition at line 356 of file SYCLBEllPackInternal.h.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::needUpdate | ( | ) |
Definition at line 1518 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::notifyChanges | ( | ) |
Definition at line 1524 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::scal | ( | ValueBufferType & | y | ) |
Definition at line 3684 of file SYCLBEllPackMatrix.cc.
| void Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::scal | ( | ValueBufferType & | y, |
| QueueType & | queue ) |
Definition at line 3588 of file SYCLBEllPackMatrix.cc.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::setMatrixValues | ( | ValueBufferType & | values | ) |
Definition at line 859 of file SYCLBEllPackMatrix.cc.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::setMatrixValues | ( | ValueBufferType & | values, |
| ValueBufferType & | ext_values ) |
Definition at line 1067 of file SYCLBEllPackMatrix.cc.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::setMatrixValues | ( | ValueType const * | values, |
| bool | only_host ) |
Definition at line 1276 of file SYCLBEllPackMatrix.cc.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllpackSize >::setMatrixValuesFromHost | ( | ) |
Definition at line 445 of file SYCLBEllPackMatrix.cc.
|
staticconstexpr |
Definition at line 132 of file SYCLBEllPackInternal.h.
| ProfileType const* Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_ext_profile = nullptr |
Definition at line 1060 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1069 of file SYCLBEllPackInternal.h.
| int Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_first_upper_ghost_index = 0 |
Definition at line 1061 of file SYCLBEllPackInternal.h.
| std::vector<ValueType> Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_h_csr_ext_values |
Definition at line 1067 of file SYCLBEllPackInternal.h.
| std::vector<ValueType> Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_h_csr_values |
Definition at line 1063 of file SYCLBEllPackInternal.h.
| std::vector<ValueType> Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_h_ext_values |
Definition at line 1068 of file SYCLBEllPackInternal.h.
| int const* Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_h_interface_row_ids = nullptr |
Definition at line 1072 of file SYCLBEllPackInternal.h.
| std::vector<ValueType> Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_h_values |
Definition at line 1064 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1073 of file SYCLBEllPackInternal.h.
| int Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_N = 1 |
Definition at line 1057 of file SYCLBEllPackInternal.h.
| int Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_NxN = 1 |
Definition at line 1058 of file SYCLBEllPackInternal.h.
| ProfileType const* Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_profile = nullptr |
Definition at line 1059 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1075 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1076 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1074 of file SYCLBEllPackInternal.h.
|
mutable |
Definition at line 1065 of file SYCLBEllPackInternal.h.
| bool Alien::SYCLInternal::MatrixInternal< ValueT, EllPackSize >::m_values_is_update = false |
Definition at line 1070 of file SYCLBEllPackInternal.h.