A system comprising: a plurality of compute units (245A-245N); one or more command processors (240A-240N); and a plurality of queues (230A-230N); wherein the system is configured to: execute a first task on one or more of the plurality of compute units (245A-245N); specify, by the first task, a continuation packet, that encodes one or both of one or more commands or a pointer to executable code, and a first queue of the plurality of queues on which to enqueue the continuation packet when the first task completes; enqueue the continuation packet on the first queue responsive to completing the first task; and dequeue and execute, by a first command processor of the one or more command processors, the continuation packet, characterized in that execution of the continuation packet launches a continuation analysis task executable to: check dependencies of one or more tasks dependent on the first task and determine if any of the one or more tasks are ready to execute; if it is determined that a given task of the one or more tasks is ready to execute, enqueue the given task on a queue of the plurality of queues; and if it is determined the given task of the one or more tasks is not ready to execute, complete the continuation analysis task without enqueuing the given task on a queue of the plurality of queues. a plurality of compute units (245A-245N); one or more command processors (240A-240N); and a plurality of queues (230A-230N); wherein the system is configured to: execute a first task on one or more of the plurality of compute units (245A-245N); specify, by the first task, a continuation packet, that encodes one or both of one or more commands or a pointer to executable code, and a first queue of the plurality of queues on which to enqueue the continuation packet when the first task completes; enqueue the continuation packet on the first queue responsive to completing the first task; and dequeue and execute, by a first command processor of the one or more command processors, the continuation packet, characterized in that execution of the continuation packet launches a continuation analysis task executable to: check dependencies of one or more tasks dependent on the first task and determine if any of the one or more tasks are ready to execute; if it is determined that a given task of the one or more tasks is ready to execute, enqueue the given task on a queue of the plurality of queues; and if it is determined the given task of the one or more tasks is not ready to execute, complete the continuation analysis task without enqueuing the given task on a queue of the plurality of queues. execute a first task on one or more of the plurality of compute units (245A-245N); specify, by the first task, a continuation packet, that encodes one or both of one or more commands or a pointer to executable code, and a first queue of the plurality of queues on which to enqueue the continuation packet when the first task completes; enqueue the continuation packet on the first queue responsive to completing the first task; and dequeue and execute, by a first command processor of the one or more command processors, the continuation packet, characterized in that execution of the continuation packet launches a continuation analysis task executable to: check dependencies of one or more tasks dependent on the first task and determine if any of the one or more tasks are ready to execute; if it is determined that a given task of the one or more tasks is ready to execute, enqueue the given task on a queue of the plurality of queues; and if it is determined the given task of the one or more tasks is not ready to execute, complete the continuation analysis task without enqueuing the given task on a queue of the plurality of queues. check dependencies of one or more tasks dependent on the first task and determine if any of the one or more tasks are ready to execute; if it is determined that a given task of the one or more tasks is ready to execute, enqueue the given task on a queue of the plurality of queues; and if it is determined the given task of the one or more tasks is not ready to execute, complete the continuation analysis task without enqueuing the given task on a queue of the plurality of queues.