Mila 0.13.48
Deep Neural Network Library
Loading...
Searching...
No Matches
TensorDataTypeTraits.ixx File Reference

Compile-time traits for the abstract TensorDataType enumeration. More...

#include <cstdint>
#include <type_traits>
#include <string_view>
import Compute.MemoryResource;
import Compute.DeviceType;
import Dnn.TensorDataType;

Classes

struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::BF16 >
 Traits specialization for 16-bit brain floating point. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP16 >
 Traits specialization for 16-bit half precision floating point. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP32 >
 Traits specialization for 32-bit IEEE 754 floating point. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP4_E2M1 >
 Traits specialization for 4-bit floating point with E2M1 format. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP4_E3M0 >
 Traits specialization for 4-bit floating point with E3M0 format. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP8_E4M3 >
 Traits specialization for 8-bit floating point with E4M3 format. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::FP8_E5M2 >
 Traits specialization for 8-bit floating point with E5M2 format. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::INT16 >
 Traits specialization for 16-bit signed integer. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::INT32 >
 Traits specialization for 32-bit signed integer. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::INT8 >
 Traits specialization for 8-bit signed integer. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::UINT16 >
 Traits specialization for 16-bit unsigned integer. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::UINT32 >
 Traits specialization for 32-bit unsigned integer. More...
struct  Mila::Dnn::TensorDataTypeTraits< TensorDataType::UINT8 >
 Traits specialization for 8-bit unsigned integer. More...

Namespaces

namespace  Mila
 Mila main API namespace.
namespace  Mila::Dnn

Concepts

concept  Mila::Dnn::DeviceOnlyTensorDataType
 Concept identifying device-only abstract data types.
concept  Mila::Dnn::HostCompatibleTensorDataType
 Concept identifying host-compatible abstract data types.
concept  Mila::Dnn::isValidTensor
 Primary tensor configuration validation concept.
concept  Mila::Dnn::PrecisionSupportedOnDevice
 Concept to validate precision is supported on a device at compile-time.
concept  Mila::Dnn::ValidFloatTensorDataType
 Concept constraining abstract data types to floating-point formats.
concept  Mila::Dnn::ValidIntegerTensorDataType
 Concept constraining abstract data types to integer formats.

Typedefs

template<TensorDataType TDataType>
using Mila::Dnn::host_value_t = std::conditional_t<TensorDataTypeTraits<TDataType>::is_integer_type, int32_t, float>
 Host value type for given abstract tensor data type.

Detailed Description

Compile-time traits for the abstract TensorDataType enumeration.

Provides per-type properties used throughout the tensor system:

  • size and alignment
  • host/device classification flags
  • human-readable type name
  • host conversion type used when converting values to/from host representations