@@ -56,7 +56,7 @@ KOKKOS_INLINE_FUNCTION static int checkTrsmInput([[maybe_unused]] const AViewTyp
56
56
// / A(m x m), B(m x n)
57
57
58
58
#if defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL) && defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_BATCHED) && \
59
- defined (__KOKKOSBATCHED_ENABLE_INTEL_MKL_COMPACT_BATCHED__ )
59
+ defined (KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_COMPACT_BATCHED )
60
60
template <typename ArgDiag>
61
61
struct SerialTrsm<Side::Left, Uplo::Lower, Trans::NoTranspose, ArgDiag, Algo::Trsm::CompactMKL> {
62
62
template <typename ScalarType, typename AViewType, typename BViewType>
@@ -112,8 +112,24 @@ struct SerialTrsm<Side::Left, Uplo::Lower, Trans::NoTranspose, ArgDiag, Algo::Tr
112
112
// Quick return if possible
113
113
if (B.extent (0 ) == 0 || B.extent (1 ) == 0 ) return 0 ;
114
114
115
+ <<<<<<< HEAD
115
116
auto info = KokkosBatched::Impl::checkTrsmInput<Side::Left>(A, B);
116
117
if (info) return info;
118
+ =======
119
+ // /
120
+ // / R/U/NT
121
+ // /
122
+ // / B := (alpha*B) inv(triu(A))
123
+ // / A(n x n), B(m x n)
124
+ #if defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL) && defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_BATCHED) && \
125
+ defined (KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_COMPACT_BATCHED)
126
+ template <typename ArgDiag>
127
+ struct SerialTrsm <Side::Right, Uplo::Upper, Trans::NoTranspose, ArgDiag, Algo::Trsm::CompactMKL> {
128
+ template <typename ScalarType, typename AViewType, typename BViewType>
129
+ KOKKOS_INLINE_FUNCTION static int invoke (const ScalarType alpha, const AViewType &A, const BViewType &B) {
130
+ typedef typename BViewType::value_type vector_type;
131
+ // typedef typename vector_type::value_type value_type;
132
+ >>>>>>> 20b927f3e (deprecate __KOKKOSBATCHED_ENABLE_INTEL_MKL_COMPACT_BATCHED__)
117
133
118
134
return KokkosBatched::Impl::SerialTrsmInternalLeftLower<Algo::Trsm::Blocked>::invoke (
119
135
ArgDiag::use_unit_diag, false , B.extent (0 ), B.extent (1 ), alpha, A.data (), A.stride_0 (), A.stride_1 (), B.data (),
@@ -127,7 +143,7 @@ struct SerialTrsm<Side::Left, Uplo::Lower, Trans::NoTranspose, ArgDiag, Algo::Tr
127
143
// / B := inv(triu(A)) (alpha*B)
128
144
// / A(m x m), B(m x n)
129
145
#if defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL) && defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_BATCHED) && \
130
- defined (__KOKKOSBATCHED_ENABLE_INTEL_MKL_COMPACT_BATCHED__ )
146
+ defined (KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_COMPACT_BATCHED )
131
147
template <typename ArgDiag>
132
148
struct SerialTrsm <Side::Left, Uplo::Upper, Trans::NoTranspose, ArgDiag, Algo::Trsm::CompactMKL> {
133
149
template <typename ScalarType, typename AViewType, typename BViewType>
@@ -199,7 +215,7 @@ struct SerialTrsm<Side::Left, Uplo::Upper, Trans::NoTranspose, ArgDiag, Algo::Tr
199
215
// / A(m x m), B(m x n)
200
216
201
217
#if defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL) && defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_BATCHED) && \
202
- defined (__KOKKOSBATCHED_ENABLE_INTEL_MKL_COMPACT_BATCHED__ )
218
+ defined (KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_COMPACT_BATCHED )
203
219
template <typename ArgDiag>
204
220
struct SerialTrsm <Side::Left, Uplo::Lower, Trans::Transpose, ArgDiag, Algo::Trsm::CompactMKL> {
205
221
template <typename ScalarType, typename AViewType, typename BViewType>
@@ -270,7 +286,7 @@ struct SerialTrsm<Side::Left, Uplo::Lower, Trans::Transpose, ArgDiag, Algo::Trsm
270
286
// / B := inv(triu(AT)) (alpha*B)
271
287
// / A(m x m), B(m x n)
272
288
#if defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL) && defined(KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_BATCHED) && \
273
- defined (__KOKKOSBATCHED_ENABLE_INTEL_MKL_COMPACT_BATCHED__ )
289
+ defined (KOKKOSBATCHED_IMPL_ENABLE_INTEL_MKL_COMPACT_BATCHED )
274
290
template <typename ArgDiag>
275
291
struct SerialTrsm <Side::Left, Uplo::Upper, Trans::Transpose, ArgDiag, Algo::Trsm::CompactMKL> {
276
292
template <typename ScalarType, typename AViewType, typename BViewType>
0 commit comments