Patent ID: 8695014
Filing Date: 2014-04-08
Classification: G06F

Abstract:
1. A method comprising: processing an application by a host including one or more processors, wherein the host comprises a data management and dispatch library; distributing at least a portion of the application to an accelerator for execution, wherein the accelerator comprises an OpenCL accelerator runtime environment configured to act as a proxy for the host; instructing the accelerator to create a buffer on the accelerator; instructing the accelerator to execute the portion of the application, wherein the accelerator writes data to the buffer; and instructing the accelerator to transmit at least a portion of the data in the buffer to the host before the application requests the portion of the data in the buffer; wherein the data management and dispatch library instructs the accelerator to aggregates the data in the buffer before transmitting the data to the host based upon one or more runtime conditions in the host, wherein the one or more runtime conditions in the host includes whether the portion of the data in the buffer will be read by the host during execution of the application.