15 #include <type_traits>
22 inline namespace _V1 {
23 template <
typename T,
int N>
class vec;
24 template <
typename Type, std::
size_t NumElements>
class marray;
33 namespace ext::oneapi {
448 #if (!defined(_HAS_STD_BYTE) || _HAS_STD_BYTE != 0)
464 std::is_signed_v<char>,
472 std::is_signed_v<char>,
480 std::is_signed_v<char>,
497 #if (!defined(_HAS_STD_BYTE) || _HAS_STD_BYTE != 0)
510 #if (!defined(_HAS_STD_BYTE) || _HAS_STD_BYTE != 0)
523 #if (!defined(_HAS_STD_BYTE) || _HAS_STD_BYTE != 0)
Provides a cross-platform math array class template that works on SYCL devices as well as in host C++...
class sycl::vec ///////////////////////// Provides a cross-patform vector class template that works e...
@ ext_intel_global_host_space
@ ext_intel_global_device_space
type_list< sycl::ext::oneapi::bfloat16 > scalar_bfloat16_list
tl_append< vector_signed_basic_list, vector_unsigned_basic_list > vector_basic_list
tl_append< scalar_double_list, vector_double_list, marray_double_list > double_list
tl_append< marray_default_char_list, marray_signed_char_list, marray_unsigned_char_list > marray_char_list
tl_append< scalar_unsigned_longlong_list, vector_unsigned_longlong_list, marray_unsigned_longlong_list > unsigned_longlong_list
tl_append< scalar_short_list, vector_short_list > short_list
tl_append< std::conditional_t< std::is_signed_v< char >, tl_append< vector_default_char_list, vector_signed_char_list >, vector_signed_char_list >, vector_signed_short_list, vector_signed_int_list, vector_signed_long_list, vector_signed_longlong_list > vector_signed_integer_list
type_list< char > scalar_default_char_list
type_list< signed short > scalar_signed_short_list
type_list< vec< signed long long, 1 >, vec< signed long long, 2 >, vec< signed long long, 3 >, vec< signed long long, 4 >, vec< signed long long, 8 >, vec< signed long long, 16 > > vector_signed_longlong_list
tl_append< scalar_floating_list, vector_floating_list > scalar_vector_floating_list
type_list< half > scalar_half_list
type_list< unsigned long > scalar_unsigned_long_list
type_list< float > scalar_float_list
type_list< vec< unsigned short, 1 >, vec< unsigned short, 2 >, vec< unsigned short, 3 >, vec< unsigned short, 4 >, vec< unsigned short, 8 >, vec< unsigned short, 16 > > vector_unsigned_short_list
tl_append< scalar_integer_list, vector_integer_list, marray_integer_list > integer_list
type_list< vec< char, 1 >, vec< char, 2 >, vec< char, 3 >, vec< char, 4 >, vec< char, 8 >, vec< char, 16 > > vector_default_char_list
type_list< half > scalar_geo_half_list
tl_append< scalar_signed_basic_list, scalar_unsigned_basic_list > scalar_basic_list
type_list< vec< signed short, 1 >, vec< signed short, 2 >, vec< signed short, 3 >, vec< signed short, 4 >, vec< signed short, 8 >, vec< signed short, 16 > > vector_signed_short_list
tl_append< scalar_geo_half_list, vector_geo_half_list > geo_half_list
tl_append< marray_signed_long_integer_list, marray_unsigned_long_integer_list > marray_long_integer_list
tl_append< cross_float_list, cross_double_list, cross_half_list > cross_floating_list
tl_append< marray_geo_float_list, marray_geo_double_list > marray_geo_list
type_list< signed int > scalar_signed_int_list
tl_append< scalar_float_list, vector_float_list > scalar_vector_float_list
type_list< unsigned int > scalar_unsigned_int_list
tl_append< scalar_unsigned_integer_list > scalar_unsigned_basic_list
tl_append< vector_default_char_list, vector_signed_char_list, vector_unsigned_char_list > vector_char_list
tl_append< scalar_signed_longlong_list, vector_signed_longlong_list, marray_signed_longlong_list > signed_longlong_list
tl_append< vector_float_list, vector_double_list, vector_half_list, vector_bfloat16_list > vector_floating_list
tl_append< scalar_unsigned_basic_list, vector_unsigned_basic_list, marray_unsigned_basic_list > unsigned_basic_list
type_list< double > scalar_double_list
type_list< marray< float, 1 >, marray< float, 2 >, marray< float, 3 >, marray< float, 4 >, marray< float, 8 >, marray< float, 16 > > marray_float_list
tl_append< scalar_signed_long_list, scalar_signed_longlong_list > scalar_signed_long_integer_list
tl_append< scalar_geo_float_list, vector_geo_float_list > geo_float_list
tl_append< scalar_unsigned_long_list, scalar_unsigned_longlong_list > scalar_unsigned_long_integer_list
tl_append< scalar_signed_integer_list, scalar_unsigned_integer_list > scalar_integer_list
type_list< unsigned long long > scalar_unsigned_longlong_list
type_list< vec< sycl::ext::oneapi::bfloat16, 1 >, vec< sycl::ext::oneapi::bfloat16, 2 >, vec< sycl::ext::oneapi::bfloat16, 3 >, vec< sycl::ext::oneapi::bfloat16, 4 >, vec< sycl::ext::oneapi::bfloat16, 8 >, vec< sycl::ext::oneapi::bfloat16, 16 > > vector_bfloat16_list
tl_append< scalar_longlong_list, vector_longlong_list, marray_longlong_list > longlong_list
type_list< vec< double, 3 >, vec< double, 4 > > cross_double_list
tl_append< scalar_default_char_list, scalar_signed_char_list, scalar_unsigned_char_list > scalar_char_list
tl_append< std::conditional_t< std::is_unsigned_v< char >, tl_append< vector_default_char_list, vector_unsigned_char_list >, vector_unsigned_char_list >, vector_unsigned_short_list, vector_unsigned_int_list, vector_unsigned_long_list, vector_unsigned_longlong_list, vector_byte_list > vector_unsigned_integer_list
type_list< signed long > scalar_signed_long_list
tl_append< scalar_long_integer_list, vector_long_integer_list, marray_long_integer_list > long_integer_list
type_list< float > scalar_geo_float_list
type_list< marray< signed long, 1 >, marray< signed long, 2 >, marray< signed long, 3 >, marray< signed long, 4 >, marray< signed long, 8 >, marray< signed long, 16 > > marray_signed_long_list
tl_append< scalar_signed_long_integer_list, scalar_unsigned_long_integer_list > scalar_long_integer_list
type_list< marray< unsigned long, 1 >, marray< unsigned long, 2 >, marray< unsigned long, 3 >, marray< unsigned long, 4 >, marray< unsigned long, 8 >, marray< unsigned long, 16 > > marray_unsigned_long_list
tl_append< scalar_geo_half_list, scalar_geo_float_list, scalar_geo_double_list > scalar_geo_list
tl_append< marray_float_list, marray_double_list, marray_half_list, marray_bfloat16_list > marray_floating_list
type_list< vec< float, 3 >, vec< float, 4 > > cross_float_list
tl_append< scalar_signed_char_list, vector_signed_char_list, marray_signed_char_list > signed_char_list
tl_append< scalar_unsigned_int_list, vector_unsigned_int_list, marray_unsigned_int_list > unsigned_int_list
tl_append< scalar_signed_short_list, scalar_unsigned_short_list > scalar_short_list
tl_append< vector_geo_half_list, vector_geo_float_list, vector_geo_double_list > vector_geo_list
tl_append< marray_signed_longlong_list, marray_unsigned_longlong_list > marray_longlong_list
type_list< marray< unsigned char, 1 >, marray< unsigned char, 2 >, marray< unsigned char, 3 >, marray< unsigned char, 4 >, marray< unsigned char, 8 >, marray< unsigned char, 16 > > marray_unsigned_char_list
tl_append< scalar_signed_int_list, scalar_unsigned_int_list > scalar_int_list
tl_append< vector_unsigned_integer_list > vector_unsigned_basic_list
tl_append< vector_signed_int_list, vector_unsigned_int_list > vector_int_list
type_list< signed char > scalar_signed_char_list
tl_append< scalar_unsigned_integer_list, vector_unsigned_integer_list, marray_unsigned_integer_list > unsigned_integer_list
type_list< signed long long > scalar_signed_longlong_list
tl_append< scalar_unsigned_char_list, vector_unsigned_char_list, marray_unsigned_char_list > unsigned_char_list
tl_append< scalar_half_list, scalar_bfloat16_list > half_bfloat16_list
type_list< marray< signed short, 1 >, marray< signed short, 2 >, marray< signed short, 3 >, marray< signed short, 4 >, marray< signed short, 8 >, marray< signed short, 16 > > marray_signed_short_list
type_list< marray< float, 3 >, marray< float, 4 >, marray< double, 3 >, marray< double, 4 > > cross_marray_list
tl_append< marray_unsigned_integer_list > marray_unsigned_basic_list
tl_append< scalar_signed_int_list, vector_signed_int_list, marray_signed_int_list > signed_int_list
type_list< vec< signed int, 1 >, vec< signed int, 2 >, vec< signed int, 3 >, vec< signed int, 4 >, vec< signed int, 8 >, vec< signed int, 16 > > vector_signed_int_list
type_list< marray< signed int, 1 >, marray< signed int, 2 >, marray< signed int, 3 >, marray< signed int, 4 >, marray< signed int, 8 >, marray< signed int, 16 > > marray_signed_int_list
type_list< vec< std::byte, 1 >, vec< std::byte, 2 >, vec< std::byte, 3 >, vec< std::byte, 4 >, vec< std::byte, 8 >, vec< std::byte, 16 > > vector_byte_list
tl_append< std::conditional_t< std::is_unsigned_v< char >, tl_append< marray_default_char_list, marray_unsigned_char_list >, marray_unsigned_char_list >, marray_unsigned_short_list, marray_unsigned_int_list, marray_unsigned_long_list, marray_unsigned_longlong_list, marray_byte_list > marray_unsigned_integer_list
type_list< marray< char, 1 >, marray< char, 2 >, marray< char, 3 >, marray< char, 4 >, marray< char, 8 >, marray< char, 16 > > marray_default_char_list
type_list< unsigned char > scalar_unsigned_char_list
type_list< vec< signed long, 1 >, vec< signed long, 2 >, vec< signed long, 3 >, vec< signed long, 4 >, vec< signed long, 8 >, vec< signed long, 16 > > vector_signed_long_list
tl_append< marray_signed_int_list, marray_unsigned_int_list > marray_int_list
type_list< vec< double, 1 >, vec< double, 2 >, vec< double, 3 >, vec< double, 4 > > vector_geo_double_list
tl_append< scalar_signed_basic_list, vector_signed_basic_list, marray_signed_basic_list > signed_basic_list
tl_append< scalar_bool_list, marray_bool_list > bool_list
tl_append< scalar_signed_short_list, vector_signed_short_list, marray_signed_short_list > signed_short_list
type_list< marray< std::byte, 1 >, marray< std::byte, 2 >, marray< std::byte, 3 >, marray< std::byte, 4 >, marray< std::byte, 8 >, marray< std::byte, 16 > > marray_byte_list
type_list< vec< unsigned int, 1 >, vec< unsigned int, 2 >, vec< unsigned int, 3 >, vec< unsigned int, 4 >, vec< unsigned int, 8 >, vec< unsigned int, 16 > > vector_unsigned_int_list
type_list< vec< double, 1 >, vec< double, 2 >, vec< double, 3 >, vec< double, 4 >, vec< double, 8 >, vec< double, 16 > > vector_double_list
type_list< marray< float, 2 >, marray< float, 3 >, marray< float, 4 > > marray_geo_float_list
type_list< marray< sycl::ext::oneapi::bfloat16, 1 >, marray< sycl::ext::oneapi::bfloat16, 2 >, marray< sycl::ext::oneapi::bfloat16, 3 >, marray< sycl::ext::oneapi::bfloat16, 4 >, marray< sycl::ext::oneapi::bfloat16, 8 >, marray< sycl::ext::oneapi::bfloat16, 16 > > marray_bfloat16_list
tl_append< scalar_default_char_list, vector_default_char_list, marray_default_char_list > default_char_list
type_list< vec< bool, 1 >, vec< bool, 2 >, vec< bool, 3 >, vec< bool, 4 >, vec< bool, 8 >, vec< bool, 16 > > vector_bool_list
tl_append< vector_signed_longlong_list, vector_unsigned_longlong_list > vector_longlong_list
type_list< vec< half, 1 >, vec< half, 2 >, vec< half, 3 >, vec< half, 4 >, vec< half, 8 >, vec< half, 16 > > vector_half_list
tl_append< marray_floating_list, marray_signed_integer_list > marray_signed_basic_list
type_list< vec< unsigned char, 1 >, vec< unsigned char, 2 >, vec< unsigned char, 3 >, vec< unsigned char, 4 >, vec< unsigned char, 8 >, vec< unsigned char, 16 > > vector_unsigned_char_list
tl_append< scalar_char_list, vector_char_list > char_list
tl_append< marray_signed_integer_list, marray_unsigned_integer_list > marray_integer_list
tl_append< scalar_signed_long_integer_list, vector_signed_long_integer_list, marray_signed_long_integer_list > signed_long_integer_list
tl_append< scalar_geo_double_list, vector_geo_double_list > geo_double_list
tl_append< gtl::unsigned_short_list, gtl::unsigned_int_list, gtl::unsigned_long_integer_list > nan_list
tl_append< vector_signed_long_integer_list, vector_unsigned_long_integer_list > vector_long_integer_list
tl_append< scalar_half_list, vector_half_list, marray_half_list > half_list
type_list< marray< half, 1 >, marray< half, 2 >, marray< half, 3 >, marray< half, 4 >, marray< half, 8 >, marray< half, 16 > > marray_half_list
tl_append< scalar_basic_list, vector_basic_list, marray_basic_list > basic_list
tl_append< marray_signed_long_list, marray_unsigned_long_list > marray_long_list
type_list< unsigned short > scalar_unsigned_short_list
type_list< vec< half, 3 >, vec< half, 4 > > cross_half_list
tl_append< vector_signed_integer_list, vector_unsigned_integer_list > vector_integer_list
type_list< std::byte > scalar_byte_list
type_list< marray< unsigned long long, 1 >, marray< unsigned long long, 2 >, marray< unsigned long long, 3 >, marray< unsigned long long, 4 >, marray< unsigned long long, 8 >, marray< unsigned long long, 16 > > marray_unsigned_longlong_list
type_list< vec< float, 1 >, vec< float, 2 >, vec< float, 3 >, vec< float, 4 > > vector_geo_float_list
type_list< vec< unsigned long, 1 >, vec< unsigned long, 2 >, vec< unsigned long, 3 >, vec< unsigned long, 4 >, vec< unsigned long, 8 >, vec< unsigned long, 16 > > vector_unsigned_long_list
tl_append< scalar_unsigned_short_list, vector_unsigned_short_list, marray_unsigned_short_list > unsigned_short_list
tl_append< scalar_signed_integer_list, vector_signed_integer_list, marray_signed_integer_list > signed_integer_list
type_list< vec< float, 1 >, vec< float, 2 >, vec< float, 3 >, vec< float, 4 >, vec< float, 8 >, vec< float, 16 > > vector_float_list
tl_append< vector_unsigned_long_list, vector_unsigned_longlong_list > vector_unsigned_long_integer_list
tl_append< scalar_float_list, scalar_double_list, scalar_half_list, scalar_bfloat16_list > scalar_floating_list
tl_append< scalar_half_list, vector_half_list > scalar_vector_half_list
type_list< marray< double, 1 >, marray< double, 2 >, marray< double, 3 >, marray< double, 4 >, marray< double, 8 >, marray< double, 16 > > marray_double_list
tl_append< scalar_signed_long_list, vector_signed_long_list, marray_signed_long_list > signed_long_list
type_list< vec< unsigned long long, 1 >, vec< unsigned long long, 2 >, vec< unsigned long long, 3 >, vec< unsigned long long, 4 >, vec< unsigned long long, 8 >, vec< unsigned long long, 16 > > vector_unsigned_longlong_list
tl_append< scalar_floating_list, scalar_signed_integer_list > scalar_signed_basic_list
tl_append< scalar_long_list, vector_long_list, marray_long_list > long_list
tl_append< scalar_signed_longlong_list, scalar_unsigned_longlong_list > scalar_longlong_list
tl_append< std::conditional_t< std::is_signed_v< char >, tl_append< marray_default_char_list, marray_signed_char_list >, marray_signed_char_list >, marray_signed_short_list, marray_signed_int_list, marray_signed_long_list, marray_signed_longlong_list > marray_signed_integer_list
tl_append< scalar_float_list, vector_float_list, marray_float_list > float_list
tl_append< marray_signed_long_list, marray_signed_longlong_list > marray_signed_long_integer_list
tl_append< scalar_unsigned_long_integer_list, vector_unsigned_long_integer_list, marray_unsigned_long_integer_list > unsigned_long_integer_list
tl_append< vector_signed_short_list, vector_unsigned_short_list, marray_unsigned_short_list > vector_short_list
type_list< marray< unsigned short, 1 >, marray< unsigned short, 2 >, marray< unsigned short, 3 >, marray< unsigned short, 4 >, marray< unsigned short, 8 >, marray< unsigned short, 16 > > marray_unsigned_short_list
tl_append< marray_signed_basic_list, marray_unsigned_basic_list > marray_basic_list
type_list< marray< unsigned int, 1 >, marray< unsigned int, 2 >, marray< unsigned int, 3 >, marray< unsigned int, 4 >, marray< unsigned int, 8 >, marray< unsigned int, 16 > > marray_unsigned_int_list
tl_append< scalar_double_list, vector_double_list > scalar_vector_double_list
type_list< marray< signed char, 1 >, marray< signed char, 2 >, marray< signed char, 3 >, marray< signed char, 4 >, marray< signed char, 8 >, marray< signed char, 16 > > marray_signed_char_list
type_list< double > scalar_geo_double_list
tl_append< scalar_signed_long_list, scalar_unsigned_long_list > scalar_long_list
tl_append< std::conditional_t< std::is_unsigned_v< char >, tl_append< scalar_default_char_list, scalar_unsigned_char_list >, scalar_unsigned_char_list >, scalar_unsigned_short_list, scalar_unsigned_int_list, scalar_unsigned_long_list, scalar_unsigned_longlong_list, scalar_byte_list > scalar_unsigned_integer_list
type_list< bool > scalar_bool_list
tl_append< marray_unsigned_long_list, marray_unsigned_longlong_list > marray_unsigned_long_integer_list
type_list< marray< signed long long, 1 >, marray< signed long long, 2 >, marray< signed long long, 3 >, marray< signed long long, 4 >, marray< signed long long, 8 >, marray< signed long long, 16 > > marray_signed_longlong_list
tl_append< scalar_bfloat16_list, vector_bfloat16_list > scalar_vector_bfloat16_list
type_list< marray< double, 2 >, marray< double, 3 >, marray< double, 4 > > marray_geo_double_list
type_list< marray< bool, 1 >, marray< bool, 2 >, marray< bool, 3 >, marray< bool, 4 >, marray< bool, 8 >, marray< bool, 16 > > marray_bool_list
tl_append< vector_signed_long_list, vector_signed_longlong_list > vector_signed_long_integer_list
tl_append< scalar_floating_list, vector_floating_list, marray_floating_list > floating_list
tl_append< scalar_bfloat16_list, vector_bfloat16_list, marray_bfloat16_list > bfloat16_list
tl_append< std::conditional_t< std::is_signed_v< char >, tl_append< scalar_default_char_list, scalar_signed_char_list >, scalar_signed_char_list >, scalar_signed_short_list, scalar_signed_int_list, scalar_signed_long_list, scalar_signed_longlong_list > scalar_signed_integer_list
type_list< vec< signed char, 1 >, vec< signed char, 2 >, vec< signed char, 3 >, vec< signed char, 4 >, vec< signed char, 8 >, vec< signed char, 16 > > vector_signed_char_list
tl_append< vector_floating_list, vector_signed_integer_list > vector_signed_basic_list
tl_append< scalar_int_list, vector_int_list, marray_int_list > int_list
type_list< vec< half, 1 >, vec< half, 2 >, vec< half, 3 >, vec< half, 4 > > vector_geo_half_list
tl_append< scalar_geo_list, vector_geo_list > geo_list
tl_append< scalar_unsigned_long_list, vector_unsigned_long_list, marray_unsigned_long_list > unsigned_long_list
tl_append< vector_signed_long_list, vector_unsigned_long_list > vector_long_list
boost::mp11::mp_append< L... > tl_append
boost::mp11::mp_list< T... > type_list
sycl::detail::half_impl::half half