Quick Start

Follow the Installation guide, or simply install the latest version of DaCe with pip via pip install dace


Having issues? See Troubleshooting.

Using DaCe in Python is as simple as adding a @dace decorator:

import dace
import numpy as np

def myprogram(a):
    for i in range(a.shape[0]):
        a[i] += i
    return np.sum(a)

Calling myprogram with any NumPy array should return the same result as Python would, but compile the program with DaCe under the hood.


GPU arrays that support the __cuda_array_interface__ interface (e.g., PyTorch, Numba, CuPy) also work out of the box.

Internally, DaCe creates a shared library (DLL/SO file) that can readily be used in any C ABI compatible language, such as C++ or FORTRAN (See Integrating SDFGs in Existing Programs).

From here on out, you can optimize (interactively, programmatically, or automatically), instrument, and distribute your code.

For more examples of how to use DaCe, see the samples and tutorials folders on GitHub.