| // RUN: %clangxx -fsycl %s -o %t.out -Wno-error=deprecated-declarations | |
| // RUN: %t.out | |
| #include <sycl/sycl.hpp> | |
| #include <cassert> | |
| #include <iostream> | |
| int main() { | |
| sycl::nd_range<1> one_dim_nd_range_offset({4}, {2}, {1}); | |
| assert(one_dim_nd_range_offset.get_global_range() == sycl::range<1>(4)); | |
| assert(one_dim_nd_range_offset.get_local_range() == sycl::range<1>(2)); | |
| assert(one_dim_nd_range_offset.get_group_range() == sycl::range<1>(2)); | |
| assert(one_dim_nd_range_offset.get_offset() == sycl::id<1>(1)); | |
| std::cout << "one_dim_nd_range_offset passed " << std::endl; | |
| sycl::nd_range<2> two_dim_nd_range_offset({8, 16}, {4, 8}, {1, 1}); | |
| assert(two_dim_nd_range_offset.get_global_range() == sycl::range<2>(8, 16)); | |
| assert(two_dim_nd_range_offset.get_local_range() == sycl::range<2>(4, 8)); | |
| assert(two_dim_nd_range_offset.get_group_range() == sycl::range<2>(2, 2)); | |
| assert(two_dim_nd_range_offset.get_offset() == sycl::id<2>(1, 1)); | |
| std::cout << "two_dim_nd_range_offset passed " << std::endl; | |
| sycl::nd_range<3> three_dim_nd_range_offset({32, 64, 128}, {16, 32, 64}, | |
| {1, 1, 1}); | |
| assert(three_dim_nd_range_offset.get_global_range() == | |
| sycl::range<3>(32, 64, 128)); | |
| assert(three_dim_nd_range_offset.get_local_range() == | |
| sycl::range<3>(16, 32, 64)); | |
| assert(three_dim_nd_range_offset.get_group_range() == | |
| sycl::range<3>(2, 2, 2)); | |
| assert(three_dim_nd_range_offset.get_offset() == sycl::id<3>(1, 1, 1)); | |
| std::cout << "three_dim_nd_range_offset passed " << std::endl; | |
| sycl::nd_range<1> one_dim_nd_range({4}, {2}); | |
| assert(one_dim_nd_range.get_global_range() == sycl::range<1>(4)); | |
| assert(one_dim_nd_range.get_local_range() == sycl::range<1>(2)); | |
| assert(one_dim_nd_range.get_group_range() == sycl::range<1>(2)); | |
| assert(one_dim_nd_range.get_offset() == sycl::id<1>(0)); | |
| std::cout << "one_dim_nd_range passed " << std::endl; | |
| sycl::nd_range<2> two_dim_nd_range({8, 16}, {4, 8}); | |
| assert(two_dim_nd_range.get_global_range() == sycl::range<2>(8, 16)); | |
| assert(two_dim_nd_range.get_local_range() == sycl::range<2>(4, 8)); | |
| assert(two_dim_nd_range.get_group_range() == sycl::range<2>(2, 2)); | |
| assert(two_dim_nd_range.get_offset() == sycl::id<2>(0, 0)); | |
| std::cout << "two_dim_nd_range passed " << std::endl; | |
| sycl::nd_range<3> three_dim_nd_range({32, 64, 128}, {16, 32, 64}); | |
| assert(three_dim_nd_range.get_global_range() == sycl::range<3>(32, 64, 128)); | |
| assert(three_dim_nd_range.get_local_range() == sycl::range<3>(16, 32, 64)); | |
| assert(three_dim_nd_range.get_group_range() == sycl::range<3>(2, 2, 2)); | |
| assert(three_dim_nd_range.get_offset() == sycl::id<3>(0, 0, 0)); | |
| std::cout << "three_dim_nd_range passed " << std::endl; | |
| } |