Skip to content

Commit f1dfcaf

Browse files
committed
[SYCL-PTX] Fix __spirv_GroupAsyncCopy stride computation
Signed-off-by: Victor Lomuller <victor@codeplay.com>
1 parent 2551b19 commit f1dfcaf

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

libclc/generic/libspirv/async/async_work_group_strided_copy.inc

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,17 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#define STRIDED_COPY(DST_AS, SRC_AS, DST_STRIDE, SRC_STRIDE) \
10-
size_t size = __spirv_LocalInvocationId_x() * \
11-
__spirv_LocalInvocationId_y() * \
12-
__spirv_LocalInvocationId_z(); \
13-
size_t id = (__spirv_WorkgroupSize_y() * __spirv_WorkgroupSize_z() * \
14-
__spirv_LocalInvocationId_x()) + \
15-
(__spirv_WorkgroupSize_z() * \
16-
__spirv_LocalInvocationId_y()) + \
17-
__spirv_LocalInvocationId_z(); \
18-
size_t i; \
19-
\
20-
for (i = id; i < num_gentypes; i += size) { \
21-
dst[i * DST_STRIDE] = src[i * SRC_STRIDE]; \
9+
#define STRIDED_COPY(DST_AS, SRC_AS, DST_STRIDE, SRC_STRIDE) \
10+
size_t size = __spirv_WorkgroupSize_x() * __spirv_WorkgroupSize_y() * \
11+
__spirv_WorkgroupSize_z(); \
12+
size_t id = (__spirv_WorkgroupSize_y() * __spirv_WorkgroupSize_x() * \
13+
__spirv_LocalInvocationId_z()) + \
14+
(__spirv_WorkgroupSize_x() * __spirv_LocalInvocationId_y()) + \
15+
__spirv_LocalInvocationId_x(); \
16+
size_t i; \
17+
\
18+
for (i = id; i < num_gentypes; i += size) { \
19+
dst[i * DST_STRIDE] = src[i * SRC_STRIDE]; \
2220
}
2321

2422
_CLC_OVERLOAD _CLC_DEF event_t

0 commit comments

Comments
 (0)