|
void | syclcompat::detail::matrix_mem_copy (void *to_ptr, const void *from_ptr, int to_ld, int from_ld, int rows, int cols, int elem_size, sycl::queue queue=get_default_queue(), bool async=false) |
|
template<typename T > |
void | syclcompat::detail::matrix_mem_copy (T *to_ptr, const T *from_ptr, int to_ld, int from_ld, int rows, int cols, sycl::queue queue=get_default_queue(), bool async=false) |
| Copy matrix data. More...
|
|
int | syclcompat::cast_double_to_int (double d, bool use_high32=true) |
| Cast the high or low 32 bits of a double to an integer. More...
|
|
double | syclcompat::cast_ints_to_double (int high32, int low32) |
| Combine two integers, the first as the high 32 bits and the second as the low 32 bits, into a double. More...
|
|
float | syclcompat::fast_length (const float *a, int len) |
| Compute fast_length for variable-length array. More...
|
|
template<typename S , typename T > |
T | syclcompat::vectorized_max (T a, T b) |
| Compute vectorized max for two values, with each value treated as a vector type S . More...
|
|
template<typename S , typename T > |
T | syclcompat::vectorized_min (T a, T b) |
| Compute vectorized min for two values, with each value treated as a vector type S . More...
|
|
template<typename S , typename T > |
T | syclcompat::vectorized_isgreater (T a, T b) |
| Compute vectorized isgreater for two values, with each value treated as a vector type S . More...
|
|
template<> |
unsigned | syclcompat::vectorized_isgreater< sycl::ushort2, unsigned > (unsigned a, unsigned b) |
| Compute vectorized isgreater for two unsigned int values, with each value treated as a vector of two unsigned short. More...
|
|
template<typename T > |
T | syclcompat::reverse_bits (T a) |
| Reverse the bit order of an unsigned integer. More...
|
|
unsigned int | syclcompat::byte_level_permute (unsigned int a, unsigned int b, unsigned int s) |
|
template<typename T > |
int | syclcompat::ffs (T a) |
| Find position of first least significant set bit in an integer. More...
|
|
template<typename T > |
T | syclcompat::select_from_sub_group (sycl::sub_group g, T x, int remote_local_id, int logical_sub_group_size=32) |
| select_from_sub_group allows work-items to obtain a copy of a value held by any other work-item in the sub_group. More...
|
|
template<typename T > |
T | syclcompat::shift_sub_group_left (sycl::sub_group g, T x, unsigned int delta, int logical_sub_group_size=32) |
| shift_sub_group_left move values held by the work-items in a sub_group directly to another work-item in the sub_group, by shifting values a fixed number of work-items to the left. More...
|
|
template<typename T > |
T | syclcompat::shift_sub_group_right (sycl::sub_group g, T x, unsigned int delta, int logical_sub_group_size=32) |
| shift_sub_group_right move values held by the work-items in a sub_group directly to another work-item in the sub_group, by shifting values a fixed number of work-items to the right. More...
|
|
template<typename T > |
T | syclcompat::permute_sub_group_by_xor (sycl::sub_group g, T x, unsigned int mask, int logical_sub_group_size=32) |
| permute_sub_group_by_xor permutes values by exchanging values held by pairs of work-items identified by computing the bitwise exclusive OR of the work-item id and some fixed mask. More...
|
|
template<typename T > |
sycl::vec< T, 2 > | syclcompat::cmul (sycl::vec< T, 2 > x, sycl::vec< T, 2 > y) |
| Computes the multiplication of two complex numbers. More...
|
|
template<typename T > |
sycl::vec< T, 2 > | syclcompat::cdiv (sycl::vec< T, 2 > x, sycl::vec< T, 2 > y) |
| Computes the division of two complex numbers. More...
|
|
template<typename T > |
T | syclcompat::cabs (sycl::vec< T, 2 > x) |
| Computes the magnitude of a complex number. More...
|
|
template<typename T > |
sycl::vec< T, 2 > | syclcompat::conj (sycl::vec< T, 2 > x) |
| Computes the complex conjugate of a complex number. More...
|
|
int | syclcompat::get_sycl_language_version () |
| Inherited from the original SYCLomatic compatibility headers. More...
|
|
template<int dimensions = 3> |
void | syclcompat::experimental::nd_range_barrier (sycl::nd_item< dimensions > item, sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &counter) |
| Synchronize work items from all work groups within a SYCL kernel. More...
|
|
template<> |
void | syclcompat::experimental::nd_range_barrier (sycl::nd_item< 1 > item, sycl::atomic_ref< unsigned int, sycl::memory_order::acq_rel, sycl::memory_scope::device, sycl::access::address_space::global_space > &counter) |
| Synchronize work items from all work groups within a SYCL kernel. More...
|
|