1. A method for scheduling tasks to be processed by one of a plurality of non-coherent processing devices, at least two of said plurality of non-coherent processing devices are heterogeneous devices and at least some of said tasks are targeted to a specific one of said plurality of non-coherent processing devices, said non-coherent processing devices processing data that is stored in local storage and in a memory accessible by at least some of said plurality of non-coherent processing devices, said method comprising: for each of a plurality of non-dependent tasks to be processed by said one of said non-coherent processing devices determining consistency operations, wherein said consistency operations are operations required to be performed prior to processing said non-dependent task; performing said consistency operations for one of said non-dependent tasks and, on completion, issuing said one of said non-dependent tasks to said one of said non-coherent processing device for processing; performing consistency operations for a further non-dependent task such that on completion of said consistency operations said one of said non-coherent processing devices can process said further non-dependent task, wherein a non-dependent task is a task that is independent of all tasks that, prior to processing, require consistency operations to be performed; and following said step of performing said consistency operations for said one of said non-dependent tasks, re-evaluating any tasks dependent on said one of said non-dependent tasks to determine which of said any tasks are dependent or non-dependent, before said step of consistency operations for a further non-dependent task is performed and wherein said step of determining consistency operations to be performed for each of said plurality of non-dependent tasks including determining which of said plurality of non-dependent tasks has a smallest number of associated consistency operations and performing said smallest number of consistency operations and issuing said non-dependent task having said smallest number of associated consistency operations to one of said non-coherent processing devices before performing other consistency operations for other tasks.