def METHOD_NAME(ctx_factory):
    ctx = ctx_factory()
    queue = cl.CommandQueue(ctx)
    spec = "ijk,jl->il"
    knl = lp.make_einsum(spec, ("a", "b"),
                         default_order=lp.auto, default_offset=lp.auto)
    a_untransposed = np.random.randn(3, 5, 4)
    b = np.random.randn(4, 5)
    a = a_untransposed.transpose((0, 2, 1))
    a_dev = cl.array.to_device(queue, a_untransposed).transpose((0, 2, 1))
    assert a_dev.strides == a.strides
    _evt, (result,) = knl(queue, a=a_dev, b=b)
    ref = np.einsum(spec, a, b)
    assert np.allclose(result.get(), ref)