code: def conv2d_strategy_intel_graphics(attrs, inputs, out_type, target):
      """conv2d intel graphics strategy"""
      strategy = _op.OpStrategy()
      data, kernel = inputs
      dilation_h, dilation_w = get_const_tuple(attrs.dilation)
      groups = attrs.groups
      layout = attrs.data_layout
      kernel_layout = attrs.kernel_layout
      if dilation_h < 1 or dilation_w < 1:
          raise ValueError("dilation should be positive value")
  
      if groups == 1:
          if layout == "NCHW":
              assert kernel_layout == "OIHW"
              strategy.add_implementation(
                  wrap_compute_conv2d(topi.intel_graphics.conv2d_nchw),
                  wrap_topi_schedule(
                      topi.intel_graphics.schedule_conv2d_nchw
                  ),
                  name="conv2d_nchw.intel_graphics",
              )
              # conv2d_NCHWc won't work without alter op layout pass
              # TODO(@Laurawly): fix this
              strategy.add_implementation(
                  wrap_compute_conv2d(
                      topi.intel_graphics.conv2d_NCHWc,
                      need_data_layout=True,
                      need_out_layout=True,
                  ),
                  wrap_topi_schedule(
                      topi.intel_graphics.schedule_conv2d_NCHWc
                  ),
                  name="conv2d_NCHWc.intel_graphics",
                  plevel=5,
              )
          else:
              raise RuntimeError(
                  f"Unsupported conv2d layout {layout} for intel graphics"
              )
      elif is_depthwise_conv2d(
          data.shape, layout, kernel.shape, kernel_layout, groups
      ):
          if layout == "NCHW":
              assert kernel_layout == "OIHW"
              strategy.add_implementation(
                  wrap_compute_conv2d(
                      topi.intel_graphics.depthwise_conv2d_nchw
                  ),
                  wrap_topi_schedule(
                      topi.intel_graphics.schedule_depthwise_conv2d_nchw
                  ),
                  name="depthwise_conv2d_nchw.intel_graphics",
              )
          else:
              raise RuntimeError(
                  f"Unsupported depthwise_conv2d layout {layout}"
              )
      else:  # group_conv2d
          raise RuntimeError(
              "group_conv2d is not supported for intel graphics"
          )
      return strategy
  
imports: from tvm import topi
  from .generic import *
  from ..None import op
label_desc: Use image node_id 1 for calling a global function with example usage: conv2d_strategy_intel_graphics(attrs, inputs, out_type, target) and returns: strategy