Patent ID: 9019286
Filing Date: 2015-04-28
Classification: G06F,G06T

Abstract:
1. A remote GPU (Graphics Processing Unit) programming and execution method, comprising the steps of: executing an Application Programmer Interface (API) on a Web server in operable communication with a client host, the Web server communicating via a Web service with a CPU (central processing unit) associated with a GPU; receiving from the client host at the API a user-specified serialized GPU kernel program and a user-specified serialized data set to be operated on by the GPU kernel program; formulating GPU memory copying and GPU memory allocation instructions by the API as a portion of the user-specified serialized data set, the copying and allocation instructions including determinations designating individual items of the data set as being from the group consisting of input data, output data, and both input and output data, the instructions facilitating placement of the data set in a data storage memory of the GPU; sending the user-specified serialized GPU kernel program and the user-specified serialized data set from the API to the CPU via the Web service, the GPU executing in parallel the deserialized GPU kernel program over the deserialized user-specified data set to produce a result of the GPU kernel program execution; receiving a responsive communication from the CPU at the API, wherein said responsive communication from said CPU comprises a polling ID associated with processing of said GPU executing in parallel said deserialized GPU kernel program over said deserialized dataset, said polling ID allowing said client host to poll for readiness of said GPU kernel program execution result; and forwarding the responsive communication from the API to the client host.