code: def conv3d_ncdhw_winograd_without_weight_transform(
      cfg, data, kernel, strides, padding, dilation, groups, out_dtype
  ):
      """Conv3d NCDHW winograd without weight transform."""
      assert (
          groups == 1
      ), "conv3d_ncdhw_winograd_without_weight_transform does not support more than one group"
      A, B, C, _, _ = get_const_tuple(kernel.shape)
      # Check if we can transform depth.
      if A == B == C:
          return winograd_cuda(
              cfg,
              data,
              kernel,
              strides,
              padding,
              dilation,
              out_dtype,
              pre_computed=True,
          )
  
      return winograd_without_depth_cuda(
          cfg,
          data,
          kernel,
          strides,
          padding,
          dilation,
          out_dtype,
          pre_computed=True,
      )
  
file_path: tvm/python/tvm/topi/cuda/conv3d_winograd.py
imports: import logging
  import tvm
  from tvm import te
  from tvm import autotvm
  from ..None import nn
  from ..utils import get_const_int, get_const_tuple, traverse_inline, simplify
  from ..nn.winograd_util import winograd_transform_matrices
label_desc: Use image node_id 8 for calling a global function with example usage: conv3d_ncdhw_winograd_without_weight_transform(cfg, data, kernel, strides, padding, dilation, groups, out_dtype) and returns: winograd_without_depth_cuda, winograd_cuda