DPC++ Runtime
Runtime libraries for oneAPI DPC++
bfloat16.hpp File Reference
#include <sycl/aliases.hpp>
#include <sycl/detail/defines_elementary.hpp>
#include <sycl/half_type.hpp>
#include <stdint.h>
Include dependency graph for bfloat16.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sycl::_V1::ext::oneapi::bfloat16
 
class  sycl::_V1::ext::oneapi::detail::ConvertToBfloat16
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::detail
 Objects of the accessor_property_list class are containers for the SYCL properties.
 

Macros

#define OP(op)
 
#define OP(op)
 
#define OP(type, op)
 

Typedefs

using sycl::_V1::ext::oneapi::detail::Bfloat16StorageT = uint16_t
 

Functions

__DPCPP_SYCL_EXTERNAL uint16_t __devicelib_ConvertFToBF16INTEL (const float &) noexcept
 
__DPCPP_SYCL_EXTERNAL float __devicelib_ConvertBF16ToFINTEL (const uint16_t &) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec1 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec1 (const uint16_t *, float *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec2 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec2 (const uint16_t *, float *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec3 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec3 (const uint16_t *, float *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec4 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec4 (const uint16_t *, float *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec8 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec8 (const uint16_t *, float *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec16 (const float *, uint16_t *) noexcept
 
__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec16 (const uint16_t *, float *) noexcept
 
Bfloat16StorageT sycl::_V1::ext::oneapi::detail::bfloat16ToBits (const bfloat16 &Value)
 
bfloat16 sycl::_V1::ext::oneapi::detail::bitsToBfloat16 (const Bfloat16StorageT Value)
 
template<int N>
void sycl::_V1::ext::oneapi::detail::BF16VecToFloatVec (const bfloat16 src[N], float dst[N])
 
template<int N>
void sycl::_V1::ext::oneapi::detail::FloatVecToBF16Vec (float src[N], bfloat16 dst[N])
 

Macro Definition Documentation

◆ OP [1/3]

#define OP (   op)
Value:
friend bfloat16 &operator op(bfloat16 & lhs) { \
float f = to_float(lhs.value); \
lhs.value = from_float(op f); \
return lhs; \
} \
friend bfloat16 operator op(bfloat16 &lhs, int) { \
bfloat16 old = lhs; \
operator op(lhs); \
return old; \
}
sycl::ext::oneapi::bfloat16 bfloat16

Definition at line 228 of file bfloat16.hpp.

◆ OP [2/3]

#define OP (   op)
Value:
friend bfloat16 &operator op(bfloat16 & lhs, const bfloat16 & rhs) { \
float f = static_cast<float>(lhs); \
f op static_cast<float>(rhs); \
return lhs = f; \
}

Definition at line 228 of file bfloat16.hpp.

◆ OP [3/3]

#define OP (   type,
  op 
)
Value:
friend type operator op(const bfloat16 &lhs, const bfloat16 &rhs) { \
return type{static_cast<float>(lhs) op static_cast<float>(rhs)}; \
} \
template <typename T> \
friend std::enable_if_t<std::is_convertible_v<T, float>, type> operator op( \
const bfloat16 & lhs, const T & rhs) { \
return type{static_cast<float>(lhs) op static_cast<float>(rhs)}; \
} \
template <typename T> \
friend std::enable_if_t<std::is_convertible_v<T, float>, type> operator op( \
const T & lhs, const bfloat16 & rhs) { \
return type{static_cast<float>(lhs) op static_cast<float>(rhs)}; \
}

Definition at line 228 of file bfloat16.hpp.

Function Documentation

◆ __devicelib_ConvertBF16ToFINTEL()

__DPCPP_SYCL_EXTERNAL float __devicelib_ConvertBF16ToFINTEL ( const uint16_t &  )
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec1()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec1 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec16()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec16 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec2()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec2 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec3()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec3 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec4()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec4 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertBF16ToFINTELVec8()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertBF16ToFINTELVec8 ( const uint16_t *  ,
float *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTEL()

__DPCPP_SYCL_EXTERNAL uint16_t __devicelib_ConvertFToBF16INTEL ( const float &  )
noexcept

◆ __devicelib_ConvertFToBF16INTELVec1()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec1 ( const float *  ,
uint16_t *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTELVec16()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec16 ( const float *  ,
uint16_t *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTELVec2()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec2 ( const float *  ,
uint16_t *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTELVec3()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec3 ( const float *  ,
uint16_t *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTELVec4()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec4 ( const float *  ,
uint16_t *   
)
noexcept

◆ __devicelib_ConvertFToBF16INTELVec8()

__DPCPP_SYCL_EXTERNAL void __devicelib_ConvertFToBF16INTELVec8 ( const float *  ,
uint16_t *   
)
noexcept