Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit 8e2ab8f

Browse files
author
Gang Chen
authored
[SYCL][ESIMD] - change in barrier and linear example (#142)
Signed-off-by: Gang Y Chen <[email protected]>
1 parent 6912242 commit 8e2ab8f

File tree

4 files changed

+9
-16
lines changed

4 files changed

+9
-16
lines changed

SYCL/ESIMD/histogram_256_slm.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ ESIMD_INLINE void histogram_atomic(const uint32_t *input_ptr, uint32_t *output,
3737
slm_offset *= sizeof(int);
3838
simd<uint, 16> slm_data = 0;
3939
slm_store<uint, 16>(slm_data, slm_offset);
40-
esimd_fence(ESIMD_GLOBAL_COHERENT_FENCE);
4140
esimd_barrier();
4241

4342
// Each thread handles NUM_BLOCKSxBLOCK_WIDTH pixel blocks
@@ -56,7 +55,6 @@ ESIMD_INLINE void histogram_atomic(const uint32_t *input_ptr, uint32_t *output,
5655
}
5756
start_off += BLOCK_WIDTH;
5857
}
59-
esimd_fence(ESIMD_GLOBAL_COHERENT_FENCE);
6058
esimd_barrier();
6159

6260
// Update global sum by atomically adding each local histogram

SYCL/ESIMD/histogram_256_slm_spec.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ ESIMD_INLINE void histogram_atomic(const uint32_t *input_ptr, uint32_t *output,
3838
slm_offset *= sizeof(int);
3939
simd<uint, 16> slm_data = 0;
4040
slm_store<uint, 16>(slm_data, slm_offset);
41-
esimd_fence(ESIMD_GLOBAL_COHERENT_FENCE);
4241
esimd_barrier();
4342

4443
// Each thread handles NUM_BLOCKSxBLOCK_WIDTH pixel blocks
@@ -57,7 +56,6 @@ ESIMD_INLINE void histogram_atomic(const uint32_t *input_ptr, uint32_t *output,
5756
}
5857
start_off += BLOCK_WIDTH;
5958
}
60-
esimd_fence(ESIMD_GLOBAL_COHERENT_FENCE);
6159
esimd_barrier();
6260

6361
// Update global sum by atomically adding each local histogram

SYCL/ESIMD/linear/linear.cpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,15 @@ int main(int argc, char *argv[]) {
104104
in = media_block_load<unsigned char, 8, 32>(accInput, h_pos * 24,
105105
v_pos * 6);
106106

107-
simd<float, 8 * 32> vin_float = vin;
108-
auto in_float = vin_float.format<float, 8, 32>();
109-
m = in_float.select<6, 1, 24, 1>(1, 3);
110-
m += in_float.select<6, 1, 24, 1>(0, 0);
111-
m += in_float.select<6, 1, 24, 1>(0, 3);
112-
m += in_float.select<6, 1, 24, 1>(0, 6);
113-
m += in_float.select<6, 1, 24, 1>(1, 0);
114-
m += in_float.select<6, 1, 24, 1>(1, 6);
115-
m += in_float.select<6, 1, 24, 1>(2, 0);
116-
m += in_float.select<6, 1, 24, 1>(2, 3);
117-
m += in_float.select<6, 1, 24, 1>(2, 6);
107+
m = in.select<6, 1, 24, 1>(1, 3);
108+
m += in.select<6, 1, 24, 1>(0, 0);
109+
m += in.select<6, 1, 24, 1>(0, 3);
110+
m += in.select<6, 1, 24, 1>(0, 6);
111+
m += in.select<6, 1, 24, 1>(1, 0);
112+
m += in.select<6, 1, 24, 1>(1, 6);
113+
m += in.select<6, 1, 24, 1>(2, 0);
114+
m += in.select<6, 1, 24, 1>(2, 3);
115+
m += in.select<6, 1, 24, 1>(2, 6);
118116
m = m * 0.111f;
119117

120118
vout = vm;

SYCL/ESIMD/slm_barrier.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ void load_to_slm(uint grpSize, uint localId, uint slmOffset, char *addr,
6868
vOffsets += (grpSize * 256);
6969
}
7070

71-
esimd_fence(ESIMD_GLOBAL_COHERENT_FENCE);
7271
esimd_barrier();
7372
}
7473

0 commit comments

Comments
 (0)