In various examples, each node in the data flow graph can represent an operation to be performed by a particular execution engine of the integrated circuit device. The operations can include, for example, computations and memory operations. For example, node 110 can include a computation operation to be performed by a computational array and node 120 can include a computation to be performed by a pooling engine. In some examples, the operations at node 110 and/or node 120 can require an execution engine to execute one or more instructions to complete the operation. Examples of operations that can be described at the nodes of the dataflow graph 100 include operations for specific execution engines, such as “matrix multiply,” “pool,” and “activate,” among other examples, and operations that can be performed by any execution engine, such as “nop.” Examples of memory operations include memory read operations, such as at node 140 and node 130, and memory write operations, such as at node 150. In various examples, the memory operations can be performed by different execution engines of the integrated circuit device.