US2015261651A1PendingUtilityA1
Validation of applications for graphics processing unit
Est. expiryFeb 27, 2032(~5.6 yrs left)· nominal 20-yr term from priority
G06F 11/0736G06F 11/0793G06F 11/3652G06F 11/3604G06F 11/0751G06F 21/566G06F 11/3612G06F 8/30G06F 2221/033G06F 11/3698G06F 11/3664
48
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
The techniques described in this disclosure are directed to validating an application that is to be executed on a graphics processing unit (GPU). For example, a validation server device may receive code of the application. The validation server device may provide some level of assurance that the application satisfies one or more performance criteria. In this manner, the probability of a problematic application executing on the device that includes the GPU may be reduced.
Claims
exact text as granted — not AI-modified1 . A computer-readable storage medium comprising instructions that, when executed, cause one or more processors to:
receive, with a server device, an application that is to be executed by a graphics processing unit (GPU) that resides on a device external to the server device; determine, by the server device, that the application would execute inefficiently on the GPU; modify, by the server device and based on the determination that the application would execute inefficiently on the GPU, code of the application to create a modified version of the application that would execute more efficiently on the GPU than the received application; perform, with the server device, an analysis of the modified version of the application during execution of the modified version of the application on the server device, wherein the instructions that cause the one or more processors to perform the analysis comprise instructions that cause the one or more processors to:
execute a virtual GPU model;
execute the modified version of the application on the virtual GPU model; and
analyze functionality of the virtual GPU model during the execution of the modified version of the application on the virtual GPU model; determine whether the modified version of the application satisfies one or more performance criteria based on at least one of the analyses; and transmit, to the device, the modified code of the application and a validation of the application if the application satisfies the one or more performance criteria.
2 . The computer-readable storage medium of claim 1 , wherein the instructions that cause the one or more processors to receive the application further comprise instructions that cause the one or more processors to receive an identification of the GPU that resides on the device external to the server device, and further comprising instructions that cause the one or more processors to:
identify, based on the received identification of the GPU, a particular virtual GPU model of a plurality of virtual GPU models, wherein the instructions that cause the one or more processors to execute the virtual GPU model comprise instructions that cause the one or more processors to execute the identified particular virtual GPU model, and wherein the instructions that cause the one or more processors to execute the modified version of the application on the virtual GPU model comprise instructions that cause the one or more processors to execute the modified version of the application on the identified particular virtual GPU model.
3 . A method comprising:
receiving an application that is to be executed by a graphics processing unit (GPU) of a device; transmitting the application and an identification of the GPU to a server device external to the device for validation of the application on a virtual GPU model associated with the identified GPU of the device; receiving a modified version of the application from the server device, wherein the modified version of the application would execute more efficiently on the GPU; and receiving a validation from the server device that indicates that the modified version of the application satisfies one or more criteria for execution on the GPU.
4 . The method of claim 3 , further comprising:
executing the modified version of the application on the GPU based on the received validation.
5 . The method of claim 3 , wherein receiving the modified version of the application comprises receiving at least one of source code for the modified version of the application, intermediate code of the modified version of the application, and complied code for the modified version of the application, and wherein transmitting the application comprises transmitting at least one of the source code for the application, intermediate code of the application, and the compiled code of the application.
6 . The method of claim 3 , further comprising:
executing the modified version of the application on the GPU.
7 . The method of claim 3 , wherein transmitting the application comprises transmitting at least one of a source code of the application and an intermediate code of the application, wherein receiving the modified version of the application comprises receiving compiled object code of the modified version of the application from the server device, the method further comprising:
executing the compiled object code of the modified version of the application on the GPU.
8 . The method of claim 3 , wherein transmitting the application to the server device comprises transmitting the application only once to the server device, and wherein receiving the validation from the server device comprises receiving, only once, the validation from the server device.
9 . An apparatus comprising:
a graphics processing unit (GPU); a device memory operable to store an application that is to be executed by the GPU; and a processor configured to:
transmit the application and an identification of the GPU to a server device external to the apparatus for validation of the application on a virtual GPU model associated with the identified GPU of the device;
receive a modified version of the application from the server device, wherein the modified version of the application would execute more efficiently on the GPU; and
receive a validation from the server device that indicates that the modified version of the application satisfies one or more criteria for execution on the GPU.
10 . The apparatus of claim 9 , wherein the processor is further configured to instruct the GPU to execute the modified version of the application based on the received validation, and wherein the GPU is operable to execute the application in response to the instruction from the processor.
11 . The apparatus of claim 9 , wherein the processor receives at least one of source code for the modified version of the application, intermediate code of the modified version of the application, and complied code for the modified version of the application, and wherein the processor transmits at least one of the source code for the application, intermediate code of the application, and the compiled code of the application.
12 . The apparatus of claim 9 , wherein the GPU is configured to execute the modified version of the application.
13 . The apparatus of claim 9 , wherein the processor transmits at least one of a source code of the application and an intermediate code of the application, wherein the processor is configured to receive the modified version of the application by at least receiving compiled object code of the modified version of the application from the server device, and wherein the GPU is configured to execute the compiled object code of the modified version of the application.
14 . The apparatus of claim 9 , wherein the processor transmits the application only once to the server device, and wherein the processor receives the validation from the server device only once.
15 . A device comprising:
a graphics processing unit (GPU); means for receiving an application that is to be executed by the GPU; means for transmitting the application and an identification of the GPU to a server device external to the device for validation of the application on a virtual GPU model associated with the identified GPU of the device; means for receiving a modified version of the application from the server device, wherein the modified version of the application would execute more efficiently on the GPU; and means for receiving a validation from the server device that indicates that the modified version of the application satisfies one or more criteria for execution on the GPU.
16 . The device of claim 15 , further comprising:
means for executing the modified version of the application on the GPU based on the received validation.
17 . The device of claim 15 , wherein the means for receiving the modified version of the application comprise means for receiving at least one of source code for the modified version of the application, intermediate code of the modified version of the application, and complied code for the modified version of the application, and wherein the means for transmitting the application comprise means for transmitting at least one of the source code for the application, intermediate code of the application, and the compiled code of the application.
18 . The device of claim 15 , further comprising:
means for executing the modified version of the application on the GPU.
19 . The device of claim 15 , wherein the means for transmitting the application comprise means for transmitting at least one of a source code of the application and an intermediate code of the application, wherein the means for receiving the modified version of the application comprise means for receiving compiled object code of the modified version of the application from the server device, the device further comprising:
means for executing the compiled object code of the modified version of the application on the GPU.
20 . The device of claim 15 , wherein the means for transmitting the application to the server device comprise means for transmitting the application only once to the server device, and wherein the means for receiving the validation from the server device comprise means for receiving, only once, the validation from the server device.Join the waitlist — get patent alerts
Track US2015261651A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.