首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 OpenCL 加速 Web 应用程序(1)简介

使用 OpenCL 加速 Web 应用程序(1)简介

由于图像处理器 (GPU) 具有高度并行的基础架构,所以它可以比传统中央处理器 (CPU) 更快地执行某种类型的应用程序。开放计算语言 (OpenCL) 是最流行的语言之一,可驾驭 GPU 的强大功能。一个典型示例就是 Adobe® Premiere® Pro CS6,它通过在用户 GPU 上执行 OpenCL 例程来加速图像和视频的处理。
多家公司都认为 GPU 加速对基于浏览器的应用程序有很大的帮助,于是成立了一个工作组来促进这项技术的发展。在 2012 年 5 月,该工作组发布了 Web 计算语言 (WebCL) 的草案初稿。正如其主页(参阅 )所介绍的,WebCL 工作组旨在 “支持 Web 应用程序驾驭 Web 浏览器中的 GPU 和多核 CPU 处理”。
两家公司都已发布了相关扩展,支持从浏览器内部调用 WebCL 功能。Samsung 公司发布了 WebCL 来扩展 WebKit,一个可为 Mac OS X 上的 Apple Safari 浏览器提供强大功能的引擎。Nokia 发布了一个 Mozilla Firefox WebCL 插件,可在 Windows® 和 32 位 Linux® 操作系统上运行。由于具有广泛的开发人员基础,本文将重点介绍 Nokia 的实现。本文将会解释如何安装 WebCL,还会介绍 WebCL 编码的基础知识。然后示范如何使用 WebCL 在整个文本进行高速搜索。
安装 WebCLWebCL 应用程序需要三个组件:OpenCL 软件开发工具包 (SDK)、Firefox 浏览器和 Nokia 的 Firefox 插件。
获得 OpenCL SDKWebCL 应用程序在主机上调用 OpenCL 功能。因此,必须在运行 WebCL 应用程序之前安装 OpenCL。OpenCL 开发工具包是特定于设备和操作系统的;因此,要在带有 Nvidia GPU 的 Windows 计算机上运行例程,需要安装一个适用于 Windows 的 Nvidia OpenCL SDK。尽管本文不可能为所有 OpenCL SDK 安装都提供指南,但可为您指出正确的方向:
  • 在 AMD CPU 或 GPU 上执行例程,需要下载 AMD Accelerated Parallel Processing (APP) SDK(参阅 ,获取相关链接)。
  • 在 Nvidia GPU 上执行例程,需要下载 Nvidia GPU Computing SDK(参阅 ,获取相关链接)。
  • 在 Intel CPU 上执行例程,需要下载用于 OpenCL 的 Intel SDK(参阅 ,获取相关链接)。
在一台计算机上可以安装多个 OpenCL SDK,并无冲突。
CPU 和 GPU现代的 CPU 包括若干个被称为核心 的处理元素。每个核心都有自己的处理渠道和数据存储,并且核心之间的通信是使用类似直接访问内存的方法来实现的。为多核的 CPU 编程就好像领导一个训练有素的小型间谍团队:每个成员都能单独执行复杂的任务,但是整个流程作为团队运行良好。
相比之下,GPU 处理由工作项执行,这些工作项受限于内存和处理资源。工作项不擅长决策,对自身任务的协调更差。然而,GPU 的优势就在于它能同时执行成千上万的工作项。因此,为 GPU 编程就好像带领僵尸军团一样。尽管命令简单,但能完成大量工作。

在 Firefox 上安装 WebCL安装完 OpenCL SDK 后,安装 WebCL 非常简单,步骤如下所示:
  • 从 Mozilla 网站下载 Firefox(参阅 ,获取相关链接)。
  • 在 Firefox 中,登陆到 Nokia 的 WebCL 的网站(参阅 ,获取相关链接)。单击 Nokia WebCL 扩展包
  • 如有需要,可支持下载支持 Firefox 扩展包(一个 *.xpi 文件)。在 Software Installation 对话框中,单击 Install Now,然后重新启动浏览器。
  • 为了测试安装,请登陆 Nokia 的 WebCL 网站,选择 Click here to check that you have WebCL enabled(单击此处查看您是否支持 WebCL)。                        如果出现是一个对话框,Excellent! Your system does support WebCL(非常好!您的系统支持 WebCL),则表示 WebCL 就已成功安装。如果对话框显示,Unfortunately your system does not support WebCL(很抱歉,您的系统不支持 WebCL),那么您可能需要重新安装扩展包,或者在另一台计算机上访问 WebCL。
返回列表