def METHOD_NAME(sdfg):
    # 4D kernel with 5D block
    N = 12
    M = 3
    K = 14
    L = 15
    X = 1
    Y = 2
    Z = 3
    W = 4
    U = 5
    dims = tuple(s for s in (N, M, K, L, X, Y, Z, W, U))
    outdims = tuple(s for s in (N, M, K, L))
    print('High-dimensional GPU kernel test', dims)
    A = dace.ndarray((N, M, K, L, X, Y, Z, W, U), dtype=dace.uint64)
    B = dace.ndarray((N, M, K, L), dtype=dace.uint64)
    A[:] = np.random.randint(10, size=dims).astype(np.uint64)
    B[:] = np.zeros(outdims, dtype=np.uint64)
    B_regression = np.zeros(outdims, dtype=np.uint64)
    # Equivalent python code
    for i, j, k, l in dace.ndrange(makendrange(5, N - 5, 0, M, 7, K - 1, 0, L)):
        for a, b, c, d, e in dace.ndrange(makendrange(0, X, 0, Y, 1, Z, 2, W - 2, 0, U)):
            B_regression[i, j, k, l] += A[i, j, k, l, a, b, c, d, e]
    sdfg(A=A, B=B, N=N, M=M, K=K, L=L, X=X, Y=Y, Z=Z, W=W, U=U)
    diff = np.linalg.norm(B_regression - B) / (N * M * K * L)
    print('Difference:', diff)
    assert diff <= 1e-5