Shortcuts

Float8DynamicActivationFloat8WeightConfig

class torchao.quantization.Float8DynamicActivationFloat8WeightConfig(activation_dtype: dtype = torch.float8_e4m3fn, weight_dtype: dtype = torch.float8_e4m3fn, granularity: Optional[Union[PerTensor, PerRow, List[Union[PerTensor, PerRow]]]] = None, mm_config: Optional[Float8MMConfig] = None, activation_value_lb: Optional[float] = None, activation_value_ub: Optional[float] = None, kernel_preference: KernelPreference = KernelPreference.AUTO, set_inductor_config: bool = True, version: int = 2)[source]

Configuration for applying float8 dynamic symmetric quantization to both activations and weights of linear layers.

Parameters:
  • activation_dtype (torch.dtype) – The target data type for activation quantization. Default is torch.float8_e4m3fn.

  • weight_dtype (torch.dtype) – The target data type for weight quantization. Default is torch.float8_e4m3fn.

  • granularity (Optional[Union[FP8Granularity, List[FP8Granularity]]]) – The granularity for quantization. Can be either a single granularity (applied to both activations and weights) or a tuple of two granularities (one for activations, one for weights). If None, defaults to PerTensor for both. Currently both quantizations need to be the same type. And only PerTensor and PerRow are supported.

  • mm_config (Float8MMConfig) – Configuration for the matrix multiplication. Default uses fast accumulation.

  • activation_value_lb (Optional[float]) – the lower bound for activation value for calculating scale

  • activation_value_ub (Optional[float]) – the upper bound for activation value for calculating scale

  • kernel_preference (KernelPreference) – kernel preference for ops like matmul, grouped matmul etc. by defalut (KernelPreference.AUTO) it will be chosen for user based on hardware or other information, this only needs to be set in weight

  • set_inductor_config (bool) – if True, adjusts torchinductor settings to recommended values.

  • version (int) – the version of the config, version 1 is using AffineQuantizedTensor that we plan to deprecate/split, version 2 is using Float8Tensor (default)

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources