• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

AirBinary

Hosting Reviews

  • Home
  • About
  • Contact Us
  • Privacy Policy
  • Terms of Use

WebCL

By Erik

WebCL (Web Computing Language) is a JavaScript binding to OpenCL for heterogeneous parallel computing within any compatible web browser without the use of plug-ins, first announced in March 2011. It is developed on similar grounds as OpenCL and is considered as a browser version of the latter. Primarily, WebCL allows web applications to actualize speed with multi-core CPUs and GPUs. With the growing popularity of applications that need parallel processing like image editing, augmented reality applications and sophisticated gaming, it has become more important to improve the computational speed. With these background reasons, a non-profit Khronos Group designed and developed WebCL, which is a Javascript binding to OpenCL with a portable kernel programming, enabling parallel computing on web browsers, across a wide range of devices. In short, WebCL consists of two parts, one being Kernel programming, which runs on the processors (devices) and the other being JavaScript, which binds the web application to OpenCL. The completed and ratified specification for WebCL 1.0 was released on March 19, 2014.

Currently, no browsers natively support WebCL. However, non-native add-ons are used to implement WebCL. For example, Nokia developed a WebCL extension. Mozilla does not plan to implement WebCL in favor of OpenGL ES 3.1 Compute Shaders.

The basic unit of a parallel program is kernel. A kernel is any parallelizable task used to perform a specific job. More often functions can be realized as kernels. A program can be composed of one or more kernels. In order to realize a kernel, it is essential that a task is parallelizable. Data dependencies and order of execution play a vital role in producing efficient parallelized algorithms. A simple example can be thought of the case of loop unrolling performed by C compilers, where a statement like:

can be unrolled into:

Above statements can be parallelized and can be made to run simultaneously. A kernel follows a similar approach where only the snapshot of the ith iteration is captured inside kernel.
Let’s rewrite the above code using a kernel:

Running a WebCL application involves the following steps:

Further details about the same can be found at

WebCL, being a JavaScript based implementation, doesn’t return an error code when errors occur. Instead, it throws an exception such as OUT_OF_RESOURCES, OUT_OF_HOST_MEMORY, or the WebCL-specific WEBCL_IMPLEMENTATION_FAILURE. The exception object describes the machine-readable name and human-readable message describing the error. The syntax is as follows:

From the code above, it can be observed that the message field can be a NULL value.

List of few other exceptions:

More information on exceptions can be found in the specs document.

There is another exception that is raised upon trying to call an object that is ‘released’. On using the release method, the object doesn’t get deleted permanently but it frees the resources associated with that object. In order to avoid this exception, ‘releaseAll’ method can be used, which not only frees the resources but also deletes all the associated objects created.

WebCL, being an open-ended software developed for web applications, there is lot of scope for vulnerabilities in the design and development fields too. This forced the developers working on WebCL to give security the utmost importance. Few concerns that were addressed are:

Related Posts

  • Web hosting control panelWeb hosting control panel
  • Social network hosting serviceSocial network hosting service
  • Web applicationWeb application
  • Web 2.0Web 2.0
  • Shared web hosting serviceShared web hosting service

Filed Under: Web Hosting Tagged With: web hosting

Primary Sidebar

Categories

  • hosting service,website hosting,web hosts,expensive hosts
  • Security Protocols
  • Speed Information
  • Web Hosting
  • What To Look For

Recent Posts

  • Web hosting control panel
  • Social network hosting service
  • Web application
  • Web 2.0
  • Shared web hosting service
  • Wiki hosting service
  • Web server benchmarking
  • Internet hosting service
  • WebCL
  • Internet service provider
  • Funnel Web
  • CPanel
  • Peer-to-peer web hosting
  • WebObjects
  • Web hosting service
  • Comparison of web hosting control panels
  • Domain name
  • Personal web page
  • Virtual hosting
  • Web Services for Remote Portlets
  • Amazon Web Services
  • Reseller web hosting
  • Clustered web hosting
  • File hosting service
  • Webmail

Copyright © 2021 · Log in