@@ -62,6 +62,8 @@ int main() {
62
62
// Check API
63
63
void *HostBuffer1 = nullptr ;
64
64
zeMemAllocHost (ZeContext, &HostDesc, 10 , 1 , &HostBuffer1);
65
+ std::fill (static_cast <char *>(HostBuffer1),
66
+ static_cast <char *>(HostBuffer1) + 10 , ' a' );
65
67
66
68
backend_input_t <backend::ext_oneapi_level_zero, buffer<char , 1 >>
67
69
HostBufferInteropInput1 = {
@@ -74,6 +76,9 @@ int main() {
74
76
75
77
void *HostBuffer2 = nullptr ;
76
78
zeMemAllocHost (ZeContext, &HostDesc, 12 * sizeof (int ), 1 , &HostBuffer2);
79
+ std::fill (static_cast <int *>(HostBuffer2),
80
+ static_cast <int *>(HostBuffer2) + 12 , 1 );
81
+
77
82
backend_input_t <backend::ext_oneapi_level_zero, buffer<int , 1 >>
78
83
HostBufferInteropInput2 = {
79
84
HostBuffer2, ext::oneapi::level_zero::ownership::transfer};
@@ -89,11 +94,11 @@ int main() {
89
94
90
95
CGH.single_task <class SimpleKernel1 >([=]() {
91
96
for (int i = 0 ; i < 10 ; i++) {
92
- Acc1[i] = ' a ' ;
97
+ Acc1[i] += 1 ;
93
98
}
94
99
95
100
for (int i = 0 ; i < 12 ; i++) {
96
- Acc2[i] = 10 ;
101
+ Acc2[i] + = 10 ;
97
102
}
98
103
});
99
104
});
@@ -102,12 +107,12 @@ int main() {
102
107
{
103
108
auto HostAcc1 = HostBufferInterop1.get_host_access ();
104
109
for (int i = 0 ; i < 10 ; i++) {
105
- assert (HostAcc1[i] == ' a ' );
110
+ assert (HostAcc1[i] == ' b ' );
106
111
}
107
112
108
113
auto HostAcc2 = HostBufferInterop2.get_host_access ();
109
114
for (int i = 0 ; i < 12 ; i++) {
110
- assert (HostAcc2[i] == 10 );
115
+ assert (HostAcc2[i] == 11 );
111
116
}
112
117
}
113
118
@@ -216,6 +221,8 @@ int main() {
216
221
void *SharedBuffer = nullptr ;
217
222
zeMemAllocShared (ZeContext, &DeviceDesc, &HostDesc, 12 * sizeof (int ), 1 ,
218
223
nullptr , &SharedBuffer);
224
+ std::fill (static_cast <int *>(SharedBuffer),
225
+ static_cast <int *>(SharedBuffer) + 12 , 1 );
219
226
220
227
backend_input_t <backend::ext_oneapi_level_zero, buffer<int , 1 >>
221
228
SharedBufferInteropInput = {
@@ -242,7 +249,7 @@ int main() {
242
249
DeviceBufferInterop.get_access <sycl::access ::mode::read_write>(CGH);
243
250
CGH.single_task <class SimpleKernel5 >([=]() {
244
251
for (int i = 0 ; i < 12 ; i++) {
245
- Acc1[i] = 77 ;
252
+ Acc1[i] + = 77 ;
246
253
}
247
254
for (int i = 0 ; i < 12 ; i++) {
248
255
Acc2[i] = 99 ;
@@ -253,7 +260,7 @@ int main() {
253
260
{
254
261
auto HostAcc1 = SharedBufferInterop.get_host_access ();
255
262
for (int i = 0 ; i < 12 ; i++) {
256
- assert (HostAcc1[i] == 77 );
263
+ assert (HostAcc1[i] == 78 );
257
264
}
258
265
auto HostAcc2 = DeviceBufferInterop.get_host_access ();
259
266
for (int i = 0 ; i < 12 ; i++) {
0 commit comments