Hardware acceleration of web applications
First Claim
1. A method for enabling hardware acceleration of a web application, comprising:
- parsing a web page using a scripting engine, wherein the web page necessitates running the web application; and
accessing, through a compute context object, one or more Application Program Interfaces (APIs) that distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU) to create one or more kernels to operate on the multiple cores, wherein the compute context object is created in response to instantiating a compute context class, the compute context object acts as a bridge between the scripting engine and the one or more APIs, the compute context object defines one or more hardware acceleration APIs providing one or more bindings to the one or more APIs, the one or more kernels operate on the multiple cores using the one or more bindings, the compute context object further defines one or more additional hardware acceleration APIs providing one or more additional bindings to the one or more APIs, clean up in response to the hardware acceleration of the web application is performed using the one or more additional bindings, the one or more APIs are one or more OpenCL APIs, and the one or more additional hardware acceleration APIs comprise one or more Web Acceleration APIs that are bound to the one or more OpenCL APIs.
1 Assignment
0 Petitions
Accused Products
Abstract
In a first embodiment of the present invention, a method for enabling hardware acceleration of web applications is provided, comprising: parsing a web page using a scripting engine, wherein the web page necessitates running a web application; accessing one or more Application Program Interfaces (APIs) that provide parallelization, and distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU), wherein the accessing uses a compute context class that, when instantiated, creates a compute context object that acts as a bridge between the scripting engine and the one or more APIs; and creating one or more kernels to operate on the multiple cores.
37 Citations
11 Claims
-
1. A method for enabling hardware acceleration of a web application, comprising:
parsing a web page using a scripting engine, wherein the web page necessitates running the web application; and accessing, through a compute context object, one or more Application Program Interfaces (APIs) that distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU) to create one or more kernels to operate on the multiple cores, wherein the compute context object is created in response to instantiating a compute context class, the compute context object acts as a bridge between the scripting engine and the one or more APIs, the compute context object defines one or more hardware acceleration APIs providing one or more bindings to the one or more APIs, the one or more kernels operate on the multiple cores using the one or more bindings, the compute context object further defines one or more additional hardware acceleration APIs providing one or more additional bindings to the one or more APIs, clean up in response to the hardware acceleration of the web application is performed using the one or more additional bindings, the one or more APIs are one or more OpenCL APIs, and the one or more additional hardware acceleration APIs comprise one or more Web Acceleration APIs that are bound to the one or more OpenCL APIs. - View Dependent Claims (2, 3)
-
4. A method for enabling hardware acceleration of a web application, comprising:
-
providing one or more scripting language bindings to an open standard for one or more Application Program Interfaces (APIs) for accelerating the web application by distributing tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU) to create one or more kernels to operate on the multiple cores; and providing a modified browser containing support for the open standard as well as support for the one or more scripting language bindings; wherein a compute context object is created in response to instantiating a compute context class, the compute context object acts as a bridge between a scripting engine and the one or more APIs, the compute context object defines one or more hardware acceleration APIs providing the one or more scripting language bindings to the one or more APIs, the one or more kernels operate on the multiple cores using the one or more scripting language bindings, the compute context object further defines one or more additional hardware acceleration APIs providing one or more additional scripting language bindings to the one or more APIs, clean up in response to the hardware acceleration of the web application is performed using the one or more additional scripting language bindings, the one or more APIs are one or more OpenCL APIs, and the one or more additional hardware acceleration APIs comprise one or more Web Acceleration APIs that are bound to the one or more OpenCL APIs. - View Dependent Claims (5, 6)
-
-
7. A web browser stored in a storage memory operable on a computer having access to multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU), the web browser comprising:
-
a user interface front end; a web view module including; a scripting language engine; a Web Core, the Web Core including; one or more scripting language engine binders; a Document Object Model (DOM) interpreter; a parser; a loader; a platform port including a port to an open standard for one or more Application Program Interfaces (APIs) for accelerating a web application by distributing tasks of the web application among the multiple cores; and a Web Acceleration Core configured to; access, through a compute context object, the one or more APIs through the port to the open standard to create one or more kernels to operate on the multiple cores, wherein the compute context object is created in response to instantiating a compute context class, the compute context object acts as a bridge between the scripting language engine and the one or more APIs, the compute context object defines one or more hardware acceleration APIs providing the one or more scripting language engine binders to the one or more APIs, the one or more kernels operate on the multiple cores using the one or more scripting language engine binders, the compute context object further defines one or more additional hardware acceleration APIs providing one or more additional scripting language engine binders to the one or more APIs, clean up in response to hardware acceleration of the web application is performed using the one or more additional scripting language engine binders, the one or more APIs are one or more OpenCL APIs, and the one or more additional hardware acceleration APIs comprise one or more Web Acceleration APIs that are bound to the one or more OpenCL APIs. - View Dependent Claims (8, 9, 10, 11)
-
Specification