def METHOD_NAME(target):
    """Build and the return the conv2d module that calls the intrinsic implementation"""
    act_n, act_h, act_w, act_c = (
        tvm.te.var("act_n"),
        tvm.te.var("act_h"),
        tvm.te.var("act_w"),
        tvm.te.var("act_c"),
    )
    filt_h, filt_w, filt_o = tvm.te.var("filt_h"), tvm.te.var("fw"), tvm.te.var("filt_o")
    off_l, off_t = tvm.te.var("off_l"), tvm.te.var("off_t")
    stride_h, stride_w = tvm.te.var("stride_h"), tvm.te.var("stride_w")
    act_flat = tvm.te.placeholder(
        shape=(act_n, act_h, act_w, act_c), dtype="float16", name="act_flat"
    )
    wgt_flat = tvm.te.placeholder(
        shape=(filt_h, filt_w, act_c, filt_o), dtype="float16", name="wgt_flat"
    )
    out_flat = tvm.te.extern(
        shape=(act_n, (act_h - filt_h) // stride_h + 1, (act_w - filt_w) // stride_w + 1, filt_o),
        inputs=[act_flat, wgt_flat],
        fcompute=lambda ins, outs: tvm.tir.call_cpacked(
            "conv2d_packed_fp16",  # Function from TVM runtime
            ins[0],
            ins[1],
            off_t,
            off_l,
            stride_h,
            stride_w,
            outs[0],
            tvm.runtime.const(0),  # resource_handle (unused)
        ),
        dtype="float16",
    )
    s = tvm.te.create_schedule(out_flat.op)
    func_name = "extern_conv"
    with tvm.transform.PassContext(opt_level=3):
        module = tvm.build(
            s,
            [act_flat, wgt_flat, off_t, off_l, stride_h, stride_w, out_flat],
            target=target,
            name=func_name,
        )
    return module