Skip to content

[SYCL][DeviceSanitizer] Support GPU DG2 Device #13450

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 38 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7ab7f25
Add MemToShadow_DG2 and enable tests
AllanZyne Apr 17, 2024
beb37b7
update ur repo for ci test
AllanZyne Apr 17, 2024
a162501
Correct SLM Size of DG2
AllanZyne Apr 17, 2024
447d4c9
Add available_features filter for e2e tests
AllanZyne Apr 17, 2024
0972a4d
wip
AllanZyne Apr 18, 2024
86e5553
fix MemToShadow_DG2
AllanZyne Apr 18, 2024
4905fd8
Merge branch 'sycl' into review/yang/dg2
AllanZyne Apr 22, 2024
47817ec
fix format
AllanZyne Apr 23, 2024
efeb486
fix gpu tests
AllanZyne Apr 23, 2024
032fc45
remove print
AllanZyne Apr 24, 2024
8c7c022
add cpu device
AllanZyne Apr 24, 2024
1f16c91
fix comment
AllanZyne Apr 24, 2024
52e7c19
fix lit cfg
AllanZyne Apr 24, 2024
dce6983
extract code into ConvertGenericPointer
AllanZyne May 6, 2024
4a665dd
Merge branch 'sycl' into review/yang/dg2
AllanZyne May 6, 2024
4be1130
Merge branch 'sycl' into review/yang/dg2
AllanZyne May 16, 2024
c2f3269
add cpu device when ci machine doesn't have pvc or dg2
AllanZyne May 16, 2024
75b6370
fix build
AllanZyne May 20, 2024
4585302
Merge branch 'sycl' into review/yang/dg2
AllanZyne May 23, 2024
02633b9
Merge branch 'sycl' into review/yang/dg2
AllanZyne May 28, 2024
5ee5003
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 2, 2024
199b09f
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 2, 2024
d681db0
Tried to without device requires
AllanZyne Jul 2, 2024
b142994
fix format
AllanZyne Jul 2, 2024
f12108a
fix MemToShadow_DG2
AllanZyne Jul 4, 2024
204cbba
update tests
AllanZyne Jul 4, 2024
1823a2c
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 9, 2024
1ecf7f0
Skip gen devices, waiting for gfx driver uplifting
AllanZyne Jul 12, 2024
988c4d0
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 12, 2024
fbb16ee
fix requires
AllanZyne Jul 12, 2024
afe1d7e
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 17, 2024
83d2803
fix ur repo
AllanZyne Jul 17, 2024
63cb06a
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 18, 2024
a1ae29a
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 19, 2024
db5c7a0
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 19, 2024
4be5848
Merge branch 'sycl' into review/yang/dg2
AllanZyne Jul 24, 2024
834a79a
Merge remote-tracking branch 'origin/sycl' into review/yang/dg2
kbenzie Jul 24, 2024
f0297d4
[UR] Bump main tag to e1615166
kbenzie Jul 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 103 additions & 33 deletions libdevice/sanitizer_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ static __SYCL_CONSTANT__ const char __generic_to[] =
static __SYCL_CONSTANT__ const char __generic_to_fail[] =
"[kernel] %p(4) - unknown address space\n";

static __SYCL_CONSTANT__ const char __mem_launch_info[] =
"[kernel] launch_info: %p (local_shadow=%p~%p, numLocalArgs=%d, "
"localArgs=%p)\n";

#define ASAN_REPORT_NONE 0
#define ASAN_REPORT_START 1
#define ASAN_REPORT_FINISH 2
Expand Down Expand Up @@ -111,56 +115,120 @@ __SYCL_PRIVATE__ void *ToPrivate(void *ptr) {
return __spirv_GenericCastToPtrExplicit_ToPrivate(ptr, 7);
}

inline bool ConvertGenericPointer(uptr &addr, uint32_t &as) {
auto old = addr;
if ((addr = (uptr)ToPrivate((void *)old))) {
as = ADDRESS_SPACE_PRIVATE;
} else if ((addr = (uptr)ToLocal((void *)old))) {
as = ADDRESS_SPACE_LOCAL;
} else if ((addr = (uptr)ToGlobal((void *)old))) {
as = ADDRESS_SPACE_GLOBAL;
} else {
if (__AsanDebug)
__spirv_ocl_printf(__generic_to_fail, old);
return false;
}
if (__AsanDebug)
__spirv_ocl_printf(__generic_to, old, addr, as);
return true;
}

inline uptr MemToShadow_CPU(uptr addr) {
return __AsanShadowMemoryGlobalStart + (addr >> ASAN_SHADOW_SCALE);
}

inline uptr MemToShadow_DG2(uptr addr, uint32_t as) {
uptr shadow_ptr = 0;
if (addr & (~0xffffffffffff)) {
shadow_ptr = (((addr & 0xffffffffffff) >> ASAN_SHADOW_SCALE) +
__AsanShadowMemoryGlobalStart) |
(~0xffffffffffff);
} else {
shadow_ptr = (addr >> ASAN_SHADOW_SCALE) + __AsanShadowMemoryGlobalStart;
if (as == ADDRESS_SPACE_GENERIC) {
if (!ConvertGenericPointer(addr, as)) {
return 0;
}
}

if (shadow_ptr > __AsanShadowMemoryGlobalEnd) {
if (__asan_report_out_of_shadow_bounds()) {
__spirv_ocl_printf(__global_shadow_out_of_bound, addr, shadow_ptr);
if (as == ADDRESS_SPACE_GLOBAL) { // global
if (addr & 0xFFFF000000000000ULL) { // Device USM
return __AsanShadowMemoryGlobalStart + 0x80000000000ULL +
((addr & 0x7FFFFFFFFFFFULL) >> ASAN_SHADOW_SCALE);
} else { // Host/Shared USM
return __AsanShadowMemoryGlobalStart + (addr >> ASAN_SHADOW_SCALE);
}
}
} else if (as == ADDRESS_SPACE_LOCAL) { // local
// The size of SLM is 64KB on DG2
constexpr unsigned slm_size = 64 * 1024;
const auto wg_lid =
__spirv_BuiltInWorkgroupId.x * __spirv_BuiltInNumWorkgroups.y *
__spirv_BuiltInNumWorkgroups.z +
__spirv_BuiltInWorkgroupId.y * __spirv_BuiltInNumWorkgroups.z +
__spirv_BuiltInWorkgroupId.z;

return shadow_ptr;
}
auto launch_info = (__SYCL_GLOBAL__ const LaunchInfo *)__AsanLaunchInfo;
const auto shadow_offset = launch_info->LocalShadowOffset;
const auto shadow_offset_end = launch_info->LocalShadowOffsetEnd;

static __SYCL_CONSTANT__ const char __mem_launch_info[] =
"[kernel] launch_info: %p (local_shadow=%p~%p, numLocalArgs=%d, "
"localArgs=%p)\n";
if (shadow_offset == 0) {
return 0;
}

static __SYCL_CONSTANT__ const char __generic_to[] =
"[kernel] %p(4) - %p(%d)\n";
if (__AsanDebug)
__spirv_ocl_printf(__mem_launch_info, launch_info,
launch_info->LocalShadowOffset,
launch_info->LocalShadowOffsetEnd,
launch_info->NumLocalArgs, launch_info->LocalArgs);

static __SYCL_CONSTANT__ const char __generic_to_fail[] =
"[kernel] %p(4) - unknown address space\n";
auto shadow_ptr = shadow_offset +
((wg_lid * slm_size) >> ASAN_SHADOW_SCALE) +
((addr & (slm_size - 1)) >> ASAN_SHADOW_SCALE);

inline uptr MemToShadow_PVC(uptr addr, uint32_t as) {
if (shadow_ptr > shadow_offset_end) {
if (__asan_report_out_of_shadow_bounds()) {
__spirv_ocl_printf(__local_shadow_out_of_bound, addr, shadow_ptr,
wg_lid, (uptr)shadow_offset);
}
return 0;
}
return shadow_ptr;
} else if (as == ADDRESS_SPACE_PRIVATE) { // private
// work-group linear id
const auto WG_LID =
__spirv_BuiltInWorkgroupId.x * __spirv_BuiltInNumWorkgroups.y *
__spirv_BuiltInNumWorkgroups.z +
__spirv_BuiltInWorkgroupId.y * __spirv_BuiltInNumWorkgroups.z +
__spirv_BuiltInWorkgroupId.z;

if (as == ADDRESS_SPACE_GENERIC) {
auto old = addr;
if ((addr = (uptr)ToPrivate((void *)old))) {
as = ADDRESS_SPACE_PRIVATE;
} else if ((addr = (uptr)ToLocal((void *)old))) {
as = ADDRESS_SPACE_LOCAL;
} else if ((addr = (uptr)ToGlobal((void *)old))) {
as = ADDRESS_SPACE_GLOBAL;
} else {
if (__AsanDebug)
__spirv_ocl_printf(__generic_to_fail, old);
auto launch_info = (__SYCL_GLOBAL__ const LaunchInfo *)__AsanLaunchInfo;
const auto shadow_offset = launch_info->PrivateShadowOffset;
const auto shadow_offset_end = launch_info->LocalShadowOffsetEnd;

if (shadow_offset == 0) {
return 0;
}

if (__AsanDebug)
__spirv_ocl_printf(__generic_to, old, addr, as);
__spirv_ocl_printf(__mem_launch_info, launch_info,
launch_info->PrivateShadowOffset, 0,
launch_info->NumLocalArgs, launch_info->LocalArgs);

uptr shadow_ptr = shadow_offset +
((WG_LID * ASAN_PRIVATE_SIZE) >> ASAN_SHADOW_SCALE) +
((addr & (ASAN_PRIVATE_SIZE - 1)) >> ASAN_SHADOW_SCALE);

if (shadow_ptr > shadow_offset_end) {
if (__asan_report_out_of_shadow_bounds()) {
__spirv_ocl_printf(__private_shadow_out_of_bound, addr, shadow_ptr,
WG_LID, (uptr)shadow_offset);
}
return 0;
}
return shadow_ptr;
}

return 0;
}

inline uptr MemToShadow_PVC(uptr addr, uint32_t as) {
if (as == ADDRESS_SPACE_GENERIC) {
if (!ConvertGenericPointer(addr, as)) {
return 0;
}
}

if (as == ADDRESS_SPACE_GLOBAL) { // global
Expand Down Expand Up @@ -262,6 +330,8 @@ inline uptr MemToShadow(uptr addr, uint32_t as) {
shadow_ptr = MemToShadow_CPU(addr);
} else if (__DeviceType == DeviceType::GPU_PVC) {
shadow_ptr = MemToShadow_PVC(addr, as);
} else if (__DeviceType == DeviceType::GPU_DG2) {
shadow_ptr = MemToShadow_DG2(addr, as);
} else {
if (__asan_report_unknown_device() && __AsanDebug) {
__spirv_ocl_printf(__asan_print_unsupport_device_type, (int)__DeviceType);
Expand Down
4 changes: 2 additions & 2 deletions sycl/plugins/unified_runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,8 @@ if(SYCL_PI_UR_USE_FETCH_CONTENT)

message(STATUS "Will fetch Unified Runtime from ${UNIFIED_RUNTIME_REPO}")
FetchContent_Declare(unified-runtime
GIT_REPOSITORY ${UNIFIED_RUNTIME_REPO}
GIT_TAG ${UNIFIED_RUNTIME_TAG}
GIT_REPOSITORY "https://github.com/AllanZyne/unified-runtime.git"
GIT_TAG "review/yang/dg2"
)

FetchContent_GetProperties(unified-runtime)
Expand Down
3 changes: 2 additions & 1 deletion sycl/test-e2e/AddressSanitizer/bad-free/bad-free-host.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t
// RUN: %force_device_asan_rt %{run} not %t 2>&1 | FileCheck %s
#include <sycl/usm.hpp>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t
Copy link
Contributor

@aelovikov-intel aelovikov-intel Jul 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like that is the same for all the test in the folder. If so, lit.local.cfg is a better place to have this. The syntax is different, but one can look at other local config files to copy-paste from.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I leaves "REQUIRES" in the test, some tests will force to use gpu device in the future.

// RUN: %force_device_asan_rt %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t
// RUN: %force_device_asan_rt %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DUNSAFE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 UR_LAYER_ASAN_OPTIONS=redzone:64 %{run} not %t 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -DSAFE -O0 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O2 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t &> %t.txt ; FileCheck --input-file %t.txt %s
#include <sycl/detail/core.hpp>
Expand Down
3 changes: 2 additions & 1 deletion sycl/test-e2e/AddressSanitizer/common/kernel-debug.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O2 -g -o %t
// RUN: env SYCL_PREFER_UR=1 UR_LAYER_ASAN_OPTIONS=debug:1 %{run} %t 2>&1 | FileCheck --check-prefixes CHECK-DEBUG %s
// RUN: env SYCL_PREFER_UR=1 UR_LAYER_ASAN_OPTIONS=debug:0 %{run} %t 2>&1 | FileCheck %s
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS=quarantine_size_mb:1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -Xarch_device -fsanitize-recover=address -O2 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} %t 2>&1 | FileCheck %s

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -Xarch_device -fsanitize-recover=address -O2 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} %t 2>&1 | FileCheck %s

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O2 -g -DUSER_CODE_1 -c -o %t1.o
// RUN: %{build} %device_asan_flags -O2 -g -DUSER_CODE_2 -c -o %t2.o
// RUN: %clangxx -fsycl %device_asan_flags -O2 -g %t1.o %t2.o -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu, aspect-fp64
// UNSUPPORTED: cuda || hip
// REQUIRES: linux, aspect-fp64
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand All @@ -16,7 +17,7 @@

int main() {
sycl::queue Q;
constexpr std::size_t N = 1234567;
constexpr std::size_t N = 512;
#if defined(MALLOC_HOST)
auto *array = sycl::malloc_host<int>(N, Q);
#elif defined(MALLOC_SHARED)
Expand All @@ -34,7 +35,7 @@ int main() {
// CHECK-DEVICE: ERROR: DeviceSanitizer: out-of-bounds-access on Device USM
// CHECK-HOST: ERROR: DeviceSanitizer: out-of-bounds-access on Host USM
// CHECK-SHARED: ERROR: DeviceSanitizer: out-of-bounds-access on Shared USM
// CHECK: {{READ of size 4 at kernel <.*MyKernelR_4> LID\(0, 0, 0\) GID\(1234567, 0, 0\)}}
// CHECK: {{READ of size 4 at kernel <.*MyKernelR_4> LID\(0, 0, 0\) GID\(512, 0, 0\)}}
// CHECK: {{ #0 .* .*parallel_for_int.cpp:}}[[@LINE-7]]

sycl::free(array, Q);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand All @@ -16,7 +17,7 @@

int main() {
sycl::queue Q;
constexpr std::size_t N = 123456789;
constexpr std::size_t N = 1024;
#if defined(MALLOC_HOST)
auto *array = sycl::malloc_host<short>(N, Q);
#elif defined(MALLOC_SHARED)
Expand All @@ -34,7 +35,7 @@ int main() {
// CHECK-DEVICE: ERROR: DeviceSanitizer: out-of-bounds-access on Device USM
// CHECK-HOST: ERROR: DeviceSanitizer: out-of-bounds-access on Host USM
// CHECK-SHARED: ERROR: DeviceSanitizer: out-of-bounds-access on Shared USM
// CHECK: {{READ of size 2 at kernel <.*MyKernelR_4> LID\(0, 0, 0\) GID\(123456789, 0, 0\)}}
// CHECK: {{READ of size 2 at kernel <.*MyKernelR_4> LID\(0, 0, 0\) GID\(1024, 0, 0\)}}
// CHECK: {{ #0 .* .*parallel_for_short.cpp:}}[[@LINE-7]]

sycl::free(array, Q);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
// RUN: %{build} %device_asan_flags -DMALLOC_DEVICE -O1 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -DTEST1 -O0 -g -o %t
// RUN: env SYCL_PREFER_UR=1 %{run} not %t 2>&1 | FileCheck --check-prefixes CHECK,CHECK1 %s
// RUN: %{build} %device_asan_flags -DTEST2 -O0 -g -o %t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// REQUIRES: linux, cpu
// UNSUPPORTED: cuda || hip
// REQUIRES: linux
// RUN: %{build} %device_asan_flags -O0 -g -o %t.out
// RUN: env SYCL_PREFER_UR=1 %{run} not %t.out 2>&1 | FileCheck %s
// RUN: %{build} %device_asan_flags -O1 -g -o %t.out
Expand Down
Loading
Loading