def METHOD_NAME(self, act_shape, wgt_shape, inp_stride, inp_offset, hexagon_session):
    """Test conv2d intrinsic implementation"""
    assert act_shape[3] == wgt_shape[2]
    # Currently, input offset does not affect the output shape
    def get_out_shape(ash, wsh, inp_stride):
        assert ash[3] == wsh[2]
        osh = (
            ash[0],
            (ash[1] - wsh[0]) // inp_stride[0] + 1,
            (ash[2] - wsh[1]) // inp_stride[1] + 1,
            wsh[3],
        )
        assert tvm.tir.all([x > 0 for x in osh])
        return osh
    act = np.random.rand(*act_shape).astype("float16")
    wgt = np.random.rand(*wgt_shape).astype("float16")
    module = build_conv2d(get_hexagon_target("v68"))
    mod = hexagon_session.load_module(module)
    output = tvm.nd.array(
        np.zeros(get_out_shape(act_shape, wgt_shape, inp_stride), dtype="float16"),
        device=hexagon_session.device,
    )
    mod(
        tvm.nd.array(act, device=hexagon_session.device),
        tvm.nd.array(wgt, device=hexagon_session.device),
        inp_offset[0],  # off_t
        inp_offset[1],  # off_l
        inp_stride[0],  # stride_height
        inp_stride[1],  # stride_width
        output,
    )
    out = output.numpy()
    # Generate reference output and compare:
    ref_out = conv2d_nhwc_python(
        act.astype("float32"), wgt.astype("float32"), stride=inp_stride, padding="VALID"
    ).astype("float16")
    tvm.testing.assert_allclose(out, ref_out, rtol=5e-2, atol=5e-2)