def METHOD_NAME():
    # First, add libraries to link (CUBLAS) to configuration
    oldconf = dp.Config.get('compiler', 'cpu', 'libs')
    if os.name == 'nt':
        dp.Config.append('compiler', 'cpu', 'libs', value='cublas.lib')
    else:
        dp.Config.append('compiler', 'cpu', 'libs', value='libcublas.so')
    # Initialize arrays. We are using column-major order to support CUBLAS!
    A = np.ndarray([N.get(), N.get()], dtype=np.float64, order='F')
    B = np.ndarray([N.get(), N.get()], dtype=np.float64, order='F')
    C = np.ndarray([N.get(), N.get()], dtype=np.float64, order='F')
    A[:] = np.random.rand(N.get(), N.get())
    B[:] = np.random.rand(N.get(), N.get())
    C[:] = np.random.rand(N.get(), N.get())
    out_ref = A @ A @ B
    # We can safely call numpy with arrays allocated on the CPU, since they
    # will be copied.
    sdfg(A=A, B=B, C=C, N=N)
    # Revert config change
    dp.Config.set('compiler', 'cpu', 'libs', value=oldconf)
    diff = np.linalg.norm(C - out_ref)
    print('Difference:', diff)
    assert diff <= 1e-5