code: def test_float8_out_dtype(self, device) -> None:
      self._test_tautological_mm(
          device, size=64, out_dtype=torch.float16
      )
      self._test_tautological_mm(
          device, size=96, out_dtype=torch.float32
      )
      self._test_tautological_mm(
          device, size=80, out_dtype=torch.bfloat16
      )
      with self.assertRaises(RuntimeError):
          self._test_tautological_mm(
              device, out_dtype=torch.float8_e5m2
          )
  
imports: import unittest
  from itertools import product
  from functools import partial
  from typing import Optional
  import torch
  from torch.quantization._quantized_conversions import pack_int4_to_int8, quantized_weight_reorder_for_mixed_dtypes_linear_cutlass
  from torch.testing import make_tensor
  from torch.testing._internal.common_cuda import SM53OrLater, _get_torch_cuda_version
  from torch.testing._internal.common_device_type import dtypes, instantiate_device_type_tests, onlyCUDA, tol, toleranceOverride
  from torch.testing._internal.common_utils import IS_ARM64, IS_JETSON, IS_WINDOWS, parametrize, run_tests, skipIfRocmVersionLessThan, TEST_WITH_ROCM, skipIfRocm, TestCase
label_desc: Use image node_id 3 for calling the TestFP8MatmulCuda obj's underlying member method code with example usage: obj.test_float8_out_dtype(device) without return types