code: def supports_config(config: DSNormConfig):
      if (
          len(
              set(
                  [
                      config.residual_dtype,
                      config.input_dtype,
                      config.output_dtype,
                  ]
              )
          )
          != 1
      ):
          return False
  
      try:
          _ = CUDAFPPostLN(config.channels, config.residual_dtype)
      except ValueError:
          return False
      return True
  
file_path: DeepSpeed/deepspeed/inference/v2/modules/implementations/post_norm/cuda_post_ln.py
imports: from typing import Any, Dict, Tuple
  import torch
  from deepspeed.accelerator import get_accelerator
  from ...interfaces import DSPostNormBase, DSPostNormRegistry
  from ...configs import DSNormConfig
  from ....kernels.core_ops.cuda_layer_norm.cuda_post_ln import CUDAFPPostLN
  from ....allocator import empty_from
  from ....inference_parameter import InferenceParameter
label_desc: Use image node_id 2 for calling the DSPostLNCUDAModule obj's underlying member method code with example usage: obj.supports_config(config) and returns: True, False, False