blob: 7988e8f3509f85158e4875a88a7dc11bc5ab08be [file] [edit]
// 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;
}