def METHOD_NAME(
    self,
    batch,
    in_size,
    in_channel,
    pad,
    stride,
    kernel_size,
    out_channel,
    k_split_factor,
    h_split_factor,
    dtype,
    target,
):
    """conv2d test"""
    # TODO: no support for dilation
    dilation = 1
    shape_input = [batch, in_size, in_size, in_channel]
    shape_filter_oihw = [out_channel, in_channel, kernel_size, kernel_size]
    shape_filter_oihw8i32o4i = get_packed_filter_shape(shape_filter_oihw)
    inputs = [
        np.random.uniform(0, 255, size=shape_input).astype(dtype),
        np.random.uniform(0, 255, size=shape_filter_oihw8i32o4i).astype(dtype),
    ]
    np_filter = (
        inputs[1]
        .transpose(0, 5, 1, 4, 6, 2, 3)
        .reshape(shape_filter_oihw)
        .transpose(2, 3, 1, 0)
    )
    ref_output = testing.conv2d_nhwc_python(inputs[0], np_filter, stride, pad)
    output = build_and_run(
        inputs,
        conv2d_nhwc8h8w32c,
        target,
        target,
        shape_input=shape_input,
        pad=(pad, pad, pad, pad),
        stride=(stride, stride),
        dilation=(dilation, dilation),
        shape_filter=shape_filter_oihw8i32o4i,
        k_split_factor=k_split_factor,
        h_split_factor=h_split_factor,
        dtype=dtype,
    )
    conv2d_verify(output, ref_output, dtype)