Skip to content

Commit 3833943

Browse files
authored
[SYCL] Unroll several loops in __init method accessor class (#2449)
It might improve performance on several platforms. Co-author: Mark Mendell <mark.p.mendell@intel.com> Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
1 parent e164680 commit 3833943

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sycl/include/CL/sycl/accessor.hpp

Lines changed: 2 additions & 0 deletions
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+
#pragma 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+
#pragma unroll
13911393
for (int I = 0; I < AdjustedDim; ++I)
13921394
getSize()[I] = AccessRange[I];
13931395
}

0 commit comments

Comments
 (0)