1- // REQUIRES: opencl
2-
31// RUN: %clangxx %s -o %t1.out -lsycl -I %sycl_include
42// RUN: env SYCL_DEVICE_TYPE=HOST %t1.out
53// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t2.out
86// RUN: %GPU_RUN_PLACEHOLDER %t2.out
97// RUN: %ACC_RUN_PLACEHOLDER %t2.out
108
11- // TODO: Unexpected result and following assertion
12- // XFAIL: cuda
13-
149// ==------------------- buffer.cpp - SYCL buffer basic test ----------------==//
1510//
1611// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
@@ -397,8 +392,8 @@ int main() {
397392
398393 myQueue.submit ([&](handler &cgh) {
399394 accessor<int , 2 , access::mode::write, access::target::global_buffer,
400- access::placeholder::false_t >
401- B (Buffer, cgh, range<2 >(20 ,20 ), id<2 >(10 ,10 ));
395+ access::placeholder::false_t >
396+ B (Buffer, cgh, range<2 >(20 , 20 ), id<2 >(10 , 10 ));
402397 cgh.parallel_for <class bufferByRangeOffset >(
403398 range<2 >{10 , 5 }, [=](id<2 > index) { B[index] = 1 ; });
404399 });
@@ -494,9 +489,8 @@ int main() {
494489 myQueue.submit ([&](handler &cgh) {
495490 auto B = b.get_access <access::mode::read_write>(cgh);
496491 cgh.parallel_for <class wb >(range<1 >{10 },
497- [=](id<1 > index) { B[index] = 0 ; });
492+ [=](id<1 > index) { B[index] = 0 ; });
498493 });
499-
500494 }
501495 // Data is copied back because there is a user side ptr and write-back is
502496 // enabled
@@ -519,9 +513,8 @@ int main() {
519513 myQueue.submit ([&](handler &cgh) {
520514 auto B = b.get_access <access::mode::read_write>(cgh);
521515 cgh.parallel_for <class notwb >(range<1 >{10 },
522- [=](id<1 > index) { B[index] = 0 ; });
516+ [=](id<1 > index) { B[index] = 0 ; });
523517 });
524-
525518 }
526519 // Data is not copied back because write-back is canceled
527520 for (int i = 0 ; i < 10 ; i++)
@@ -551,33 +544,6 @@ int main() {
551544 assert (data1[i] == 0 );
552545 }
553546
554- {
555- queue myQueue;
556- if (!myQueue.is_host ()) {
557- std::vector<int > data1 (10 , -1 );
558- std::vector<int > data2 (10 , -2 );
559- {
560- buffer<int , 1 > a (data1.data (), range<1 >(10 ));
561- buffer<int , 1 > b (data2);
562-
563- program prog (myQueue.get_context ());
564- prog.build_with_source (" kernel void override_source(global int* Acc) "
565- " {Acc[get_global_id(0)] = 0; }\n " );
566- cl::sycl::kernel krn = prog.get_kernel (" override_source" );
567- myQueue.submit ([&](handler &cgh) {
568- auto A = a.get_access <access::mode::read_write>(cgh);
569- cgh.set_arg (0 , A);
570- auto B = b.get_access <access::mode::read_write>(cgh);
571- cgh.parallel_for (cl::sycl::range<1 >(10 ), krn);
572- });
573- } // Data is copied back
574- for (int i = 0 ; i < 10 ; i++)
575- assert (data2[i] == -2 );
576- for (int i = 0 ; i < 10 ; i++)
577- assert (data1[i] == 0 );
578- }
579- }
580-
581547 {
582548 std::vector<int > data1 (10 , -1 );
583549 std::vector<int > data2 (10 , -2 );
@@ -604,40 +570,6 @@ int main() {
604570 assert (data1[i] == 0 );
605571 }
606572
607- {
608- queue myQueue;
609- if (!myQueue.is_host ()) {
610- std::vector<int > data1 (10 , -1 );
611- std::vector<int > data2 (10 , -2 );
612- {
613- buffer<int , 1 > a (data1.data (), range<1 >(10 ));
614- buffer<int , 1 > b (data2);
615- accessor<int , 1 , access::mode::read_write,
616- access::target::global_buffer, access::placeholder::true_t >
617- A (a);
618- accessor<int , 1 , access::mode::read_write,
619- access::target::global_buffer, access::placeholder::true_t >
620- B (b);
621-
622- program prog (myQueue.get_context ());
623- prog.build_with_source (" kernel void override_source_placeholder(global "
624- " int* Acc) {Acc[get_global_id(0)] = 0; }\n " );
625- cl::sycl::kernel krn = prog.get_kernel (" override_source_placeholder" );
626-
627- myQueue.submit ([&](handler &cgh) {
628- cgh.require (A);
629- cgh.set_arg (0 , A);
630- cgh.require (B);
631- cgh.parallel_for (cl::sycl::range<1 >(10 ), krn);
632- });
633- } // Data is copied back
634- for (int i = 0 ; i < 10 ; i++)
635- assert (data2[i] == -2 );
636- for (int i = 0 ; i < 10 ; i++)
637- assert (data1[i] == 0 );
638- }
639- }
640-
641573 {
642574 int data[10 ];
643575 void *voidPtr = (void *)data;
0 commit comments