1. A system for processing a computing task that is divided into a plurality of discrete tasks, the system comprising: a system memory; a first data processor in communication with the system memory, wherein the first data processor is configured to process a first set of discrete tasks of the plurality of discrete tasks, and write, in accordance with a first format, a result associated with the processing of the first set of discrete tasks to the system memory; a second data processor in communication with the system memory, wherein the second data processor is configured to process a second set of discrete tasks of the plurality of discrete tasks, and write, in accordance with a second format, a result associated with the processing of the second set of discrete tasks to the system memory, wherein the second format is different from the first format; and a scheduler configured to assign, based on the second format being different from the first format, the first set of discrete tasks to the first data processor and the second set of discrete tasks to the second data processor so as to prevent (i) the result associated with the processing of the second set of discrete tasks being overwritten in the system memory by the result associated with the processing of the first set of discrete tasks; or (ii) the result associated with the processing of the first set of discrete tasks being overwritten in the system memory by the result associated with the processing of the second set of discrete tasks; wherein the scheduler is configured to, prior to the assigning, provisionally assign the first set of discrete tasks to the first data processor and the second set of discrete tasks to the second data processor, the scheduler being further configured to analyze how the second data processor is expected to write results to the system memory based on the second format and to identify a potential results writing conflict based on that analysis, the scheduler being further configured to adjust the provisional assigning of the second set of discrete tasks to prevent the potential results writing conflict; wherein the first data processor comprises a first local buffer, wherein the first local buffer is configured to write a first sized block of data to the system memory at a time; wherein the second data processor comprises a second local buffer, wherein the second local buffer is configured to write a second sized block of data to the system memory at a time, wherein the second sized block of data differs from the first sized block of data.