5
5
//
6
6
// TODO: Behaviour is unstable for level zero on Windows. Enable when fixed.
7
7
// TODO: The test is sporadically fails on CUDA. Enable when fixed.
8
- // UNSUPPORTED: (windows && level_zero) || cuda || hip_nvidia
8
+ // UNSUPPORTED: (windows && level_zero) || hip_nvidia
9
9
10
10
#define SYCL2020_DISABLE_DEPRECATION_WARNINGS
11
11
@@ -39,7 +39,7 @@ S::event HostTask_CopyBuf1ToBuf2(Context *Ctx) {
39
39
CopierDstAcc (Ctx->Buf2 , CGH);
40
40
41
41
auto CopierHostTask = [=] {
42
- for (size_t Idx = 0 ; Idx < CopierDstAcc.get_count (); ++Idx)
42
+ for (size_t Idx = 0 ; Idx < CopierDstAcc.size (); ++Idx)
43
43
CopierDstAcc[Idx] = CopierSrcAcc[Idx];
44
44
45
45
bool Expected = false ;
@@ -63,23 +63,23 @@ void Thread1Fn(Context *Ctx) {
63
63
S::accessor<int , 1 , S::access::mode::write, S::access::target::host_buffer>
64
64
Acc (Ctx->Buf1 );
65
65
66
- for (size_t Idx = 0 ; Idx < Acc.get_count (); ++Idx)
66
+ for (size_t Idx = 0 ; Idx < Acc.size (); ++Idx)
67
67
Acc[Idx] = -1 ;
68
68
}
69
69
70
70
{
71
71
S::accessor<int , 1 , S::access::mode::write, S::access::target::host_buffer>
72
72
Acc (Ctx->Buf2 );
73
73
74
- for (size_t Idx = 0 ; Idx < Acc.get_count (); ++Idx)
74
+ for (size_t Idx = 0 ; Idx < Acc.size (); ++Idx)
75
75
Acc[Idx] = -2 ;
76
76
}
77
77
78
78
{
79
79
S::accessor<int , 1 , S::access::mode::write, S::access::target::host_buffer>
80
80
Acc (Ctx->Buf3 );
81
81
82
- for (size_t Idx = 0 ; Idx < Acc.get_count (); ++Idx)
82
+ for (size_t Idx = 0 ; Idx < Acc.size (); ++Idx)
83
83
Acc[Idx] = -3 ;
84
84
}
85
85
@@ -89,7 +89,7 @@ void Thread1Fn(Context *Ctx) {
89
89
GeneratorAcc (Ctx->Buf1 , CGH);
90
90
91
91
auto GeneratorKernel = [GeneratorAcc] {
92
- for (size_t Idx = 0 ; Idx < GeneratorAcc.get_count (); ++Idx)
92
+ for (size_t Idx = 0 ; Idx < GeneratorAcc.size (); ++Idx)
93
93
GeneratorAcc[Idx] = Idx;
94
94
};
95
95
@@ -109,7 +109,7 @@ void Thread1Fn(Context *Ctx) {
109
109
CGH.depends_on (HostTaskEvent);
110
110
111
111
auto CopierKernel = [SrcAcc, DstAcc] {
112
- for (size_t Idx = 0 ; Idx < DstAcc.get_count (); ++Idx)
112
+ for (size_t Idx = 0 ; Idx < DstAcc.size (); ++Idx)
113
113
DstAcc[Idx] = SrcAcc[Idx];
114
114
};
115
115
@@ -123,7 +123,7 @@ void Thread1Fn(Context *Ctx) {
123
123
124
124
bool Failure = false ;
125
125
126
- for (size_t Idx = 0 ; Idx < Acc.get_count (); ++Idx) {
126
+ for (size_t Idx = 0 ; Idx < Acc.size (); ++Idx) {
127
127
fprintf (stderr, " Third buffer [%3zu] = %i\n " , Idx, Acc[Idx]);
128
128
129
129
Failure |= (Acc[Idx] != Idx);
@@ -168,7 +168,7 @@ void test() {
168
168
ResultAcc (Ctx.Buf2 );
169
169
170
170
bool Failure = false ;
171
- for (size_t Idx = 0 ; Idx < ResultAcc.get_count (); ++Idx) {
171
+ for (size_t Idx = 0 ; Idx < ResultAcc.size (); ++Idx) {
172
172
fprintf (stderr, " Second buffer [%3zu] = %i\n " , Idx, ResultAcc[Idx]);
173
173
174
174
Failure |= (ResultAcc[Idx] != Idx);
@@ -195,6 +195,27 @@ int main() {
195
195
// CHECK: Copier
196
196
// CHECK:---> piEnqueueKernelLaunch(
197
197
198
+ // CHECK:Third buffer [ 0] = 0
199
+ // CHECK:Third buffer [ 1] = 1
200
+ // CHECK:Third buffer [ 2] = 2
201
+ // CHECK:Third buffer [ 3] = 3
202
+ // CHECK:Third buffer [ 4] = 4
203
+ // CHECK:Third buffer [ 5] = 5
204
+ // CHECK:Third buffer [ 6] = 6
205
+ // CHECK:Third buffer [ 7] = 7
206
+ // CHECK:Third buffer [ 8] = 8
207
+ // CHECK:Third buffer [ 9] = 9
208
+ // CHECK:Second buffer [ 0] = 0
209
+ // CHECK:Second buffer [ 1] = 1
210
+ // CHECK:Second buffer [ 2] = 2
211
+ // CHECK:Second buffer [ 3] = 3
212
+ // CHECK:Second buffer [ 4] = 4
213
+ // CHECK:Second buffer [ 5] = 5
214
+ // CHECK:Second buffer [ 6] = 6
215
+ // CHECK:Second buffer [ 7] = 7
216
+ // CHECK:Second buffer [ 8] = 8
217
+ // CHECK:Second buffer [ 9] = 9
218
+
198
219
// TODO need to check for piEventsWait as "wait on dependencies of host task".
199
220
// At the same time this piEventsWait may occur anywhere after
200
221
// piEnqueueMemBufferMap ("prepare for host task").
0 commit comments