1#ifndef INFINI_OPS_DATA_TYPE_H_
2#define INFINI_OPS_DATA_TYPE_H_
6#include "common/traits.h"
11using infini::rt::DataType;
13using infini::rt::BFloat16;
14using infini::rt::Float16;
16using infini::rt::kDataTypeToDesc;
17using infini::rt::kDataTypeToSize;
18using infini::rt::kStringToDataType;
20template <Device::Type dev, DataType dtype>
21using TypeMap = infini::rt::TypeMap<dev, dtype>;
23template <Device::Type dev, DataType dtype>
26template <Device::Type dev,
typename T>
27inline constexpr bool IsBFloat16 = infini::rt::IsBFloat16<dev, T>;
29template <Device::Type dev,
typename T>
30inline constexpr bool IsFP16 = infini::rt::IsFP16<dev, T>;
32using FloatTypes = List<DataType::kFloat32, DataType::kFloat64>;
35 List<DataType::kInt8, DataType::kInt16, DataType::kInt32, DataType::kInt64>;
36using UIntTypes = List<DataType::kUInt8, DataType::kUInt16, DataType::kUInt32,
39using BitTypes8 = List<DataType::kInt8, DataType::kUInt8>;
40using BitTypes16 = List<DataType::kInt16, DataType::kUInt16, DataType::kFloat16,
43 List<DataType::kInt32, DataType::kUInt32, DataType::kFloat32>;
45 List<DataType::kInt64, DataType::kUInt64, DataType::kFloat64>;
49using AllTypes = ConcatType<AllFloatTypes, AllIntTypes>;
Definition generated/include/operator.h:28
constexpr bool IsFP16
Definition data_type.h:30
List< DataType::kInt8, DataType::kUInt8 > BitTypes8
Definition data_type.h:39
List< DataType::kFloat32, DataType::kFloat64 > FloatTypes
Definition data_type.h:32
List< DataType::kFloat16, DataType::kBFloat16 > ReducedFloatTypes
Definition data_type.h:33
List< DataType::kInt64, DataType::kUInt64, DataType::kFloat64 > BitTypes64
Definition data_type.h:45
ConcatType< IntTypes, UIntTypes > AllIntTypes
Definition data_type.h:48
List< DataType::kUInt8, DataType::kUInt16, DataType::kUInt32, DataType::kUInt64 > UIntTypes
Definition data_type.h:37
ConcatType< FloatTypes, ReducedFloatTypes > AllFloatTypes
Definition data_type.h:47
List< DataType::kInt8, DataType::kInt16, DataType::kInt32, DataType::kInt64 > IntTypes
Definition data_type.h:35
ConcatType< AllFloatTypes, AllIntTypes > AllTypes
Definition data_type.h:49
constexpr bool IsBFloat16
Definition data_type.h:27
infini::rt::TypeMapType< dev, dtype > TypeMapType
Definition data_type.h:24
List< DataType::kInt32, DataType::kUInt32, DataType::kFloat32 > BitTypes32
Definition data_type.h:43
List< DataType::kInt16, DataType::kUInt16, DataType::kFloat16, DataType::kBFloat16 > BitTypes16
Definition data_type.h:41
infini::rt::TypeMap< dev, dtype > TypeMap
Definition data_type.h:21