Skip to content

Commit 880abbd

Browse files
committed
[SYCL] Unroll several loops in __init method accessor class
It might improve performance on several platforms. Co-author: Mark Mendell <[email protected]> Signed-off-by: Dmitry Sidorov <[email protected]>
1 parent a7ffe03 commit 880abbd

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sycl/include/CL/sycl/accessor.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,7 @@ class accessor :
851851
void __init(ConcreteASPtrType Ptr, range<AdjustedDim> AccessRange,
852852
range<AdjustedDim> MemRange, id<AdjustedDim> Offset) {
853853
MData = Ptr;
854+
[[clang::unroll]]
854855
for (int I = 0; I < AdjustedDim; ++I) {
855856
getOffset()[I] = Offset[I];
856857
getAccessRange()[I] = AccessRange[I];
@@ -1388,6 +1389,7 @@ class accessor<DataT, Dimensions, AccessMode, access::target::local,
13881389
void __init(ConcreteASPtrType Ptr, range<AdjustedDim> AccessRange,
13891390
range<AdjustedDim>, id<AdjustedDim>) {
13901391
MData = Ptr;
1392+
[[clang::unroll]]
13911393
for (int I = 0; I < AdjustedDim; ++I)
13921394
getSize()[I] = AccessRange[I];
13931395
}

0 commit comments

Comments
 (0)