1. A system comprising: at least one computing device; an accelerator associated with the at least one computing device; and an application programming interface (API) to expose the accelerator for iterative dataflow, wherein iterative dataflow is controlled based at least on an iteration state representing a loop count or a predicate of a computation, the API including: a multiport configured to: accept datablocks as input from a plurality of input channels; and dequeue a datablock from an input channel of the plurality of input channels; an iterator port configured to maintain the iteration state of the computation associated with the datablock that was dequeued; and a scheduler configured to provide the datablock to the accelerator based at least on the iteration state.