From 1ae712f4fccead61c1ea37b4662e3fabb9c476cc Mon Sep 17 00:00:00 2001 From: "Ahn, Dongkyun" Date: Tue, 13 Sep 2022 11:25:08 -0700 Subject: [PATCH 1/3] [SYCL][ESIMD][EMU] LSC Atomic update for emulator backend - Argument order fix for cmpxchg - Enabling lsc_fence.cpp test --- SYCL/ESIMD/dword_atomic_cmpxchg.cpp | 4 ++-- SYCL/ESIMD/dword_atomic_smoke.cpp | 2 -- SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp | 4 ++-- SYCL/ESIMD/lsc/lsc_fence.cpp | 2 +- SYCL/ESIMD/lsc/lsc_slm.cpp | 4 ++-- SYCL/ESIMD/lsc/lsc_usm.cpp | 4 ++-- 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/SYCL/ESIMD/dword_atomic_cmpxchg.cpp b/SYCL/ESIMD/dword_atomic_cmpxchg.cpp index 42b98bfe2d..7674af83a7 100644 --- a/SYCL/ESIMD/dword_atomic_cmpxchg.cpp +++ b/SYCL/ESIMD/dword_atomic_cmpxchg.cpp @@ -9,8 +9,8 @@ //===----------------------------------------------------------------------===// // REQUIRES: gpu // UNSUPPORTED: cuda || hip -// TODO: esimd_emulator fails due to unsupported __esimd_svm_atomic0/1/2 -// XFAIL: esimd_emulator +// TODO: esimd_emulator fails due to random timeouts (_XFAIL_: esimd_emulator) +// UNSUPPORTED: esimd_emulator // RUN: %clangxx -fsycl %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out diff --git a/SYCL/ESIMD/dword_atomic_smoke.cpp b/SYCL/ESIMD/dword_atomic_smoke.cpp index 261710277c..d0fd376413 100644 --- a/SYCL/ESIMD/dword_atomic_smoke.cpp +++ b/SYCL/ESIMD/dword_atomic_smoke.cpp @@ -9,8 +9,6 @@ //===----------------------------------------------------------------------===// // REQUIRES: gpu // UNSUPPORTED: cuda || hip -// TODO: esimd_emulator fails due to unsupported __esimd_svm_atomic0/1/2 -// XFAIL: esimd_emulator // RUN: %clangxx -fsycl %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out diff --git a/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp b/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp index 2e1f7302e7..14d62c8ed4 100644 --- a/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp +++ b/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp @@ -75,8 +75,8 @@ int main() { lsc_atomic_update(access_2, offsets, pred); lsc_atomic_update(access_3, offsets, add, pred); - lsc_atomic_update(access_4, offsets, - compare, swap, pred); + lsc_atomic_update(access_4, offsets, swap, + compare, pred); }); }); q.wait(); diff --git a/SYCL/ESIMD/lsc/lsc_fence.cpp b/SYCL/ESIMD/lsc/lsc_fence.cpp index 99cc6bc912..400f1295a6 100644 --- a/SYCL/ESIMD/lsc/lsc_fence.cpp +++ b/SYCL/ESIMD/lsc/lsc_fence.cpp @@ -5,7 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -// REQUIRES: gpu-intel-pvc +// REQUIRES: gpu-intel-pvc || esimd_emulator // UNSUPPORTED: cuda || hip // RUN: %clangxx -fsycl %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out diff --git a/SYCL/ESIMD/lsc/lsc_slm.cpp b/SYCL/ESIMD/lsc/lsc_slm.cpp index cf050bd8b4..1924112888 100644 --- a/SYCL/ESIMD/lsc/lsc_slm.cpp +++ b/SYCL/ESIMD/lsc/lsc_slm.cpp @@ -81,8 +81,8 @@ int main() { lsc_block_store(access_3, offset, data_3); lsc_slm_block_store(offset, data); - lsc_slm_atomic_update(offsets, compare, - swap, pred); + lsc_slm_atomic_update(offsets, swap, + compare, pred); auto data_4 = lsc_slm_block_load(offset); lsc_block_store(access_4, offset, data_4); }); diff --git a/SYCL/ESIMD/lsc/lsc_usm.cpp b/SYCL/ESIMD/lsc/lsc_usm.cpp index 4d6e5c501a..f46987f93d 100644 --- a/SYCL/ESIMD/lsc/lsc_usm.cpp +++ b/SYCL/ESIMD/lsc/lsc_usm.cpp @@ -69,8 +69,8 @@ int main() { lsc_atomic_update(vec_2, offsets, pred); lsc_atomic_update(vec_3, offsets, add, pred); - lsc_atomic_update(vec_4, offsets, compare, - swap, pred); + lsc_atomic_update(vec_4, offsets, swap, + compare, pred); }); }); q.wait(); From b68339e692c71603c22a0eadb04fba1963d8b001 Mon Sep 17 00:00:00 2001 From: "Ahn, Dongkyun" Date: Thu, 22 Sep 2022 12:16:36 -0700 Subject: [PATCH 2/3] Reverting cmpxchng argument order - Comparison value first, new value second --- SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp | 4 ++-- SYCL/ESIMD/lsc/lsc_slm.cpp | 4 ++-- SYCL/ESIMD/lsc/lsc_usm.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp b/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp index 14d62c8ed4..2e1f7302e7 100644 --- a/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp +++ b/SYCL/ESIMD/lsc/Inputs/lsc_surf.hpp @@ -75,8 +75,8 @@ int main() { lsc_atomic_update(access_2, offsets, pred); lsc_atomic_update(access_3, offsets, add, pred); - lsc_atomic_update(access_4, offsets, swap, - compare, pred); + lsc_atomic_update(access_4, offsets, + compare, swap, pred); }); }); q.wait(); diff --git a/SYCL/ESIMD/lsc/lsc_slm.cpp b/SYCL/ESIMD/lsc/lsc_slm.cpp index 1924112888..cf050bd8b4 100644 --- a/SYCL/ESIMD/lsc/lsc_slm.cpp +++ b/SYCL/ESIMD/lsc/lsc_slm.cpp @@ -81,8 +81,8 @@ int main() { lsc_block_store(access_3, offset, data_3); lsc_slm_block_store(offset, data); - lsc_slm_atomic_update(offsets, swap, - compare, pred); + lsc_slm_atomic_update(offsets, compare, + swap, pred); auto data_4 = lsc_slm_block_load(offset); lsc_block_store(access_4, offset, data_4); }); diff --git a/SYCL/ESIMD/lsc/lsc_usm.cpp b/SYCL/ESIMD/lsc/lsc_usm.cpp index f46987f93d..4d6e5c501a 100644 --- a/SYCL/ESIMD/lsc/lsc_usm.cpp +++ b/SYCL/ESIMD/lsc/lsc_usm.cpp @@ -69,8 +69,8 @@ int main() { lsc_atomic_update(vec_2, offsets, pred); lsc_atomic_update(vec_3, offsets, add, pred); - lsc_atomic_update(vec_4, offsets, swap, - compare, pred); + lsc_atomic_update(vec_4, offsets, compare, + swap, pred); }); }); q.wait(); From 469cb9355153a3976d19a6ab560e2107f43f93a5 Mon Sep 17 00:00:00 2001 From: "Ahn, Dongkyun" Date: Thu, 22 Sep 2022 12:19:12 -0700 Subject: [PATCH 3/3] UNSUPPORTED for esimd_emulator due to random timeout --- SYCL/ESIMD/lsc/atomic_cmpxchg.cpp | 4 ++-- SYCL/ESIMD/lsc/atomic_smoke.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SYCL/ESIMD/lsc/atomic_cmpxchg.cpp b/SYCL/ESIMD/lsc/atomic_cmpxchg.cpp index 7476995abe..9bd40cd1ea 100644 --- a/SYCL/ESIMD/lsc/atomic_cmpxchg.cpp +++ b/SYCL/ESIMD/lsc/atomic_cmpxchg.cpp @@ -8,8 +8,8 @@ // This test checks LSC compare-and-exchange atomic operations. //===----------------------------------------------------------------------===// // REQUIRES: gpu-intel-pvc -// TODO: esimd_emulator fails due to unsupported __esimd_svm_atomic0/1/2 -// XFAIL: esimd_emulator +// TODO: esimd_emulator fails due to random timeouts (_XFAIL_: esimd_emulator) +// UNSUPPORTED: esimd_emulator // RUN: %clangxx -fsycl %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out diff --git a/SYCL/ESIMD/lsc/atomic_smoke.cpp b/SYCL/ESIMD/lsc/atomic_smoke.cpp index e48e2905fc..6ae5707649 100644 --- a/SYCL/ESIMD/lsc/atomic_smoke.cpp +++ b/SYCL/ESIMD/lsc/atomic_smoke.cpp @@ -8,8 +8,8 @@ // This test checks LSC atomic operations. //===----------------------------------------------------------------------===// // REQUIRES: gpu-intel-pvc -// TODO: esimd_emulator fails due to unsupported __esimd_svm_atomic0/1/2 -// XFAIL: esimd_emulator +// TODO: esimd_emulator fails due to random timeouts (_XFAIL_: esimd_emulator) +// UNSUPPORTED: esimd_emulator // RUN: %clangxx -fsycl %s -o %t.out // RUN: %GPU_RUN_PLACEHOLDER %t.out