Web Application Hardware Acceleration via Compute Context Bridge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web applications struggle with hardware acceleration due to the difficulty in extending functionality beyond individual applications, as current solutions like OpenCL require designers to specifically design their applications for GPU utilization, which is a barrier for smaller companies and individuals, and do not provide broad scope support for web browsers.
Innovation Solution
A method enabling hardware acceleration of web applications by parsing web pages using a scripting engine, accessing parallelization APIs through a compute context class that creates a bridge between the scripting engine and APIs, and creating kernels to operate on multiple cores of CPUs or GPUs, with a JavaScript binding to an open standard for APIs, and a modified browser supporting this standard.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If OpenCL is used for GPU acceleration, then processing performance is improved, but application complexity and development difficulty increase
Solution Approach 1:
The patent introduces a browser-based abstraction layer that serves as an intermediary between web applications and OpenCL APIs. This layer provides simplified JavaScript bindings to OpenCL functionality, allowing developers to access GPU acceleration through standard web technologies without directly implementing complex OpenCL code, thus maintaining performance while reducing development complexity
Solution Approach 2:
The patent creates a universal browser interface that can be used by any web application to access hardware acceleration capabilities. Instead of requiring each application to be specifically designed for OpenCL, the browser provides a common API that works across multiple applications and platforms, making GPU acceleration universally accessible to web applications
2Productivity
If OpenCL is designed for individual web applications, then GPU utilization is achieved, but broad scope support for web browsers is limited
Solution Approach 1:
The patent implements a browser-level abstraction layer that provides OpenCL functionality to all web applications uniformly. This universal interface allows any web application to access GPU acceleration through standard JavaScript calls, rather than requiring application-specific OpenCL implementations, thereby achieving both GPU utilization and broad browser support
3Speed
If hardware acceleration is implemented, then processing speed is improved, but compatibility across different operating systems and platforms decreases
Solution Approach 1:
The patent creates a platform-independent browser interface that abstracts away operating system and hardware-specific details. The browser handles platform-specific OpenCL implementations while providing a unified JavaScript API to web applications, enabling fast hardware-accelerated processing across different operating systems and devices without requiring application-specific compatibility code
Data Source
AI summary
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.


