def METHOD_NAME(knl):
    # This adds prefetching to the GPU variant above.
    # In this variant (on my machine), loopy makes a silly choice
    # for the upper bound of Kloc (it uses Nc). I'll investigate and
    # fix that. (FIXME)
    knl = lp.tag_inames(knl, {"dx_axis": "unr"})
    Ncloc = 16  # noqa
    knl = lp.split_iname(knl, "K", Ncloc,
            outer_iname="Ko", inner_iname="Kloc",
            outer_tag="g.0")
    knl = lp.tag_inames(knl, {"i": "l.1", "j": "l.0"})
    knl = lp.add_prefetch(knl, "w", ["q"], default_tag="l.auto")
    knl = lp.add_prefetch(knl, "DPsi", [0, 1, 2], default_tag="l.auto")
    knl = lp.add_prefetch(knl, "jacInv", [0, 1, 3], default_tag="l.auto")
    knl = lp.add_prefetch(knl, "jacDet", [1], default_tag="l.auto")
    return knl, ["K", "i", "j", "q", "ax_b_insn"]