Hardware acceleration of web applications
First Claim
1. A method for enabling hardware acceleration of web applications, comprising:
- parsing a web page using a scripting engine, wherein the web page necessitates running a web application;
instantiating a class to create a hardware acceleration object that acts as a bridge between the scripting engine and 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); and
accessing the one or more APIs through the hardware acceleration object to create one or more kernels to operate on the multiple cores;
wherein the class comprises a compute context class;
wherein the hardware acceleration object comprises a compute context object; and
wherein the one or more APIs are 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.
-
Citations
19 Claims
-
1. A method for enabling hardware acceleration of web applications, comprising:
-
parsing a web page using a scripting engine, wherein the web page necessitates running a web application; instantiating a class to create a hardware acceleration object that acts as a bridge between the scripting engine and 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); and accessing the one or more APIs through the hardware acceleration object to create one or more kernels to operate on the multiple cores; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the one or more APIs are one or more OpenCL APIs. - View Dependent Claims (2, 3, 4)
-
-
5. A method for enabling hardware acceleration of web applications, comprising:
-
providing a scripting language binding to an open standard for one or more Application Program Interfaces (APIs) configured to accelerate web applications by distributing tasks among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU); and providing a modified browser comprising support for the open standard as well as support for the scripting language binding; wherein the scripting language binding is configured to call a port to the open standard to perform initialization for hardware acceleration of a web application, and the initialization comprises instantiating a class to create a hardware acceleration object that acts as a bridge between a scripting language engine of the modified browser and the one or more APIs; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the one or more APIs are one or more OpenCL APIs. - View Dependent Claims (6, 7)
-
-
8. A web browser stored in a non-transitory computer readable medium 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 scripting language engine; a scripting language engine binder; a platform port comprising a first port to an open standard for one or more Application Program Interfaces (APIs) configured to accelerate web applications by distributing tasks among the multiple cores, wherein, in response to a call from the scripting language engine binder to perform initialization for hardware acceleration of a web application, the first port is configured to instantiate a class to create a hardware acceleration object that acts as a bridge between the scripting language engine and the one or more APIs; and a Web Acceleration core configured to access the one or more APIs through the first port to the open standard to cause creation of one or more kernels to operate on the multiple cores; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the open standard is OpenCL. - View Dependent Claims (9, 10, 11)
-
-
12. An apparatus for enabling hardware acceleration of web applications, comprising:
-
a processor; and a memory storing instructions that when executed by the processor cause the processor to perform operations including; parsing a web page using a scripting engine, wherein the web page necessitates running a web application; instantiating a class to create a hardware acceleration object that acts as a bridge between the scripting engine and one or more Application Program Interfaces (APIs) configured to distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU) to enable hardware acceleration of the web application; and accessing the one or more APIs through the hardware acceleration object to create one or more kernels to operate on the multiple cores; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the one or more APIs are one or more OpenCL APIs. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus for enabling hardware acceleration of web applications, comprising:
-
a processor; and a memory storing instructions that when executed by the processor cause the processor to perform operations including; providing a scripting language binding to an open standard for one or more Application Program Interfaces (APIs) configured to accelerate web applications by distributing tasks among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU); and providing a modified browser comprising support for the open standard as well as support for the scripting language binding; wherein the scripting language binding is configured to call a port to the open standard to perform initialization for hardware acceleration of a web application, and the initialization comprises instantiating a class to create a hardware acceleration object that acts as a bridge between a scripting language engine of the modified browser and the one or more APIs; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the one or more APIs are one or more OpenCL APIs. - View Dependent Claims (17, 18)
-
-
19. A computer-readable storage medium embodied thereon instructions being executable by at least one processor to perform a method for enabling hardware acceleration of web applications, the method comprising:
-
parsing a web page using a scripting engine, wherein the web page necessitates running a web application; instantiating a class that enables hardware acceleration to create a hardware acceleration object that acts as a bridge between the scripting engine and one or more Application Program Interfaces (APIs) configured to distribute tasks of the web application among multiple cores of a multi-core central processing unit (CPU) or graphical processing unit (GPU); and accessing the one or more APIs through the hardware acceleration object to create one or more kernels to operate on the multiple cores; wherein the class comprises a compute context class; wherein the hardware acceleration object comprises a compute context object; and wherein the one or more APIs are one or more OpenCL APIs.
-
Specification