@@ -28,8 +28,8 @@ struct joint_matrix {
28
28
__spv::__spirv_JointMatrixINTEL<
29
29
T, Rows, Cols, spv_matrix_layout_traits<Layout>::value,
30
30
spv_scope_traits<Group>::value, spv_matrix_use_traits<Use>::value> *spvm;
31
+ #endif // defined(__NVPTX__)
31
32
#endif // defined(__SYCL_DEVICE_ONLY__)
32
- #endif
33
33
34
34
joint_matrix () {
35
35
#ifndef __SYCL_DEVICE_ONLY__
@@ -93,12 +93,8 @@ template <typename Group, typename T, use Use, size_t Rows, size_t Cols,
93
93
inline __SYCL_ALWAYS_INLINE decltype (auto )
94
94
get_wi_data(Group sg, joint_matrix<Group, T, Use, Rows, Cols, Layout> &jm) {
95
95
#if defined(__SYCL_DEVICE_ONLY__)
96
- #if defined(__NVPTX__)
97
96
std::ignore = sg;
98
97
return wi_data (jm);
99
- #else
100
- return wi_data<Group, T, Use, Rows, Cols, Layout>(jm);
101
- #endif // defined(__NVPTX__)
102
98
#else
103
99
if constexpr (std::is_same_v<T, precision::tf32>) {
104
100
marray<float , 1 > unused{};
@@ -131,10 +127,8 @@ joint_matrix_fill(Group sg,
131
127
std::ignore = sg;
132
128
std::ignore = res;
133
129
std::ignore = v;
134
- throw runtime_error (
135
- " This version of the matrix extension is only currently supported on "
136
- " Nvidia devices" ,
137
- PI_ERROR_INVALID_DEVICE);
130
+ throw runtime_error (" joint matrix is not supported on host device." ,
131
+ PI_ERROR_INVALID_DEVICE);
138
132
#endif // defined(__SYCL_DEVICE_ONLY__)
139
133
}
140
134
@@ -155,8 +149,6 @@ inline __SYCL_ALWAYS_INLINE void joint_matrix_load(
155
149
sycl::ext::oneapi::detail::load_accumulator_cuda (res.cuda_impl , src, stride,
156
150
Layout);
157
151
#else
158
- // intel's impl
159
- // matL is determined by matrix.use?
160
152
T *Ptr = src.get ();
161
153
switch (Layout) {
162
154
default :
@@ -189,10 +181,8 @@ inline __SYCL_ALWAYS_INLINE void joint_matrix_load(
189
181
std::ignore = res;
190
182
std::ignore = src;
191
183
std::ignore = stride;
192
- throw runtime_error (
193
- " This version of the matrix extension is only currently supported on "
194
- " Nvidia devices" ,
195
- PI_ERROR_INVALID_DEVICE);
184
+ throw runtime_error (" joint matrix is not supported on host device." ,
185
+ PI_ERROR_INVALID_DEVICE);
196
186
#endif // defined(__SYCL_DEVICE_ONLY__)
197
187
}
198
188
@@ -228,10 +218,8 @@ joint_matrix_load(Group sg,
228
218
std::ignore = res;
229
219
std::ignore = src;
230
220
std::ignore = stride;
231
- throw runtime_error (
232
- " This version of the matrix extension is only currently supported on "
233
- " Nvidia devices" ,
234
- PI_ERROR_INVALID_DEVICE);
221
+ throw runtime_error (" joint matrix is not supported on host device." ,
222
+ PI_ERROR_INVALID_DEVICE);
235
223
#endif // defined(__SYCL_DEVICE_ONLY__)
236
224
}
237
225
@@ -250,7 +238,6 @@ inline __SYCL_ALWAYS_INLINE void joint_matrix_store(
250
238
Space>(src.cuda_impl , dst,
251
239
stride, Layout);
252
240
#else
253
- // intel's impl
254
241
T *Ptr = dst.get ();
255
242
switch (Layout) {
256
243
default :
@@ -283,10 +270,8 @@ inline __SYCL_ALWAYS_INLINE void joint_matrix_store(
283
270
std::ignore = src;
284
271
std::ignore = dst;
285
272
std::ignore = stride;
286
- throw runtime_error (
287
- " This version of the matrix extension is only currently supported on "
288
- " Nvidia devices" ,
289
- PI_ERROR_INVALID_DEVICE);
273
+ throw runtime_error (" joint matrix is not supported on host device." ,
274
+ PI_ERROR_INVALID_DEVICE);
290
275
#endif // defined(__SYCL_DEVICE_ONLY__)
291
276
}
292
277
@@ -337,10 +322,8 @@ inline __SYCL_ALWAYS_INLINE
337
322
std::ignore = A;
338
323
std::ignore = B;
339
324
std::ignore = C;
340
- throw runtime_error (
341
- " This version of the matrix extension is only currently supported on "
342
- " Nvidia devices" ,
343
- PI_ERROR_INVALID_DEVICE);
325
+ throw runtime_error (" joint matrix is not supported on host device." ,
326
+ PI_ERROR_INVALID_DEVICE);
344
327
#endif // defined(__SYCL_DEVICE_ONLY__)
345
328
}
346
329
0 commit comments