OpenCL Bridge Module for Web-Based Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Websites and web applications struggle to utilize the full processing power of computers, including multiple processor cores and graphics cards, due to the lack of a mechanism to access OpenCL methods and functions from within scripts.
Innovation Solution
A machine processor, such as a JavaScript module, is provided with access to underlying processing units like graphics or central processing units, and a function library containing OpenCL functions, allowing it to execute scripts that create contexts and memory objects for parallel processing and graphics rendering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If websites use traditional web technologies, then compatibility and ease of operation are maintained, but processing power utilization is limited
Solution Approach 1:
The patent introduces a bridge module that acts as an intermediary between JavaScript code and OpenCL functions. This bridge enables web applications to access parallel processing capabilities through a familiar scripting interface, resolving the contradiction by providing advanced processing power while maintaining web technology simplicity through the mediating bridge component
Solution Approach 2:
The system implements a universal interface that allows JavaScript to access multiple types of processing units (CPU, GPU, multi-core processors) through a single OpenCL framework. This multi-functionality enables one system to handle diverse processing tasks across different hardware architectures, improving productivity without requiring separate systems for each processing type
2Productivity
If OpenCL functions are accessed directly from scripts, then processing power is maximized, but ease of operation deteriorates
Solution Approach 1:
The bridge module serves as an intermediary layer that translates JavaScript function calls into OpenCL operations. This allows developers to write simple JavaScript code while the bridge handles the complexity of OpenCL interface requirements, thus maintaining ease of operation while enabling access to powerful parallel processing capabilities
Solution Approach 2:
The system creates a JavaScript-compatible copy or wrapper of OpenCL function interfaces. Instead of requiring direct OpenCL programming, the bridge provides copied interface definitions in JavaScript syntax, allowing developers to work with familiar scripting language while accessing OpenCL functionality underneath
3Speed
If multiple processing units are utilized, then data processing speed improves, but device complexity increases
Solution Approach 1:
The OpenCL framework provides a universal programming model that works across multiple processing unit types (CPU, GPU, multi-core). This allows the system to manage diverse hardware through a single interface, enabling faster parallel processing while abstracting away the complexity of managing different processing unit architectures
Data Source
AI summary
A processor has access to processing units for performing data processing and to libraries. Functions in the libraries are implementable to perform parallel processing and graphics processing. The processor may be configured to acquire (e.g., to download from a web server) a download script, possibly with extensions specifying bindings to library functions. Running the script may cause the processor to create, for each processing unit, contexts in which functions may be run, and to run, on the processing units and within a respective context, a portion of the download script. Running the script may also cause the processor to create, for a processing unit, a memory object, transfer data into that memory object, and transfer data back to the processor in such a way that a memory address of the data in the memory object is not returned to the processor.


