GPU在信息检索领域的应用

时间:2022-09-02 11:40:54

GPU在信息检索领域的应用

【摘 要】 介绍GPU的计算方法,指出Web图像搜索的存在诸多问题,分析GPU用于信息检索的方法,说明GPU在信息检索领域的应用价值。

【关键词】 GPU 信息检索 CUDA

前言

多媒体技术与多媒体网络,为当前信息时代提供文字、数据、语音、图形、图像和音乐等多种信息方式,计算机在处理信息时所面临的主要问题是如何合理提高检索速度,实现多媒体信息流的结构化,方便检索。人们曾经将图形、视频等需要大量运算的功能都交与CPU完成,但用户对图形计算方面的需求不断的超出了CPU在计算能力方面的发展速度,需要一个专门的图形的核心处理器。GPU的出现填补这一空缺,它是相对于CPU的一个概念,GPU英文全称Graphic Processing Unit, “图形处理器”。 GPU是显示卡的“大脑”, GPU具有强大的计算能力,它将能处理的问题由图形领域扩展到了通用计算领域[1]。使可编程图像处理器发展成为计算技术领域的主力,与CPU上的串行算法相比,采用基于GPU平台检索算法最高可获得百倍以上的性能提升。已经冲击并超越CPU独霸的地位。

1. GPU的计算方法

在绘制图像时,GPU首先接收宿主系统以三角顶点形式发送的几何数据。这些数据由一个可编程的顶点处理器进行处理,该处理器进行几何变换、亮度计算等任何三角形计算。然后,这些三角形由光栅器转换成能够显示在屏幕上的单独“碎片”,所有碎片都通过可编程碎片处理器计算最终颜色值[2]。由于GPU具有高效的并行性和灵活的可编程性等特点,越来越多的研究人员和商业组织开始利用GPU完成一些非图形绘制方面的计算,并开创了新的研究领域:GPGPU(通用计算图形处理单元),实现如何利用GPU进行更为广泛的科学计算[4]。借助这些软件和GPU,软件开发人员可以基于CUDA平台开发计算软件,用户可以用比以往少得多的时间完成很多计算任务。能够基于GPU平台排序及线性方程组求解,实现并行的搜索算法[5],离散优化等科学计算。GPU在处理大尺寸图像时具有绝对的优势。例如在8192×8192尺寸图像的直方图生成中,排除内存分配、读回的时间和数据加载后,GPU的核心时间消耗仅为19ms左右,计算效率是CPU的17倍还多。

2. 基于关键词的Web图像搜索

信息检索技术是现在计算机领域的重要内容,而图像检索技术又是其中的重要内容之一。图像搜索是通过抽取网页中存在的图像信息并建立索引供用户查询的技术。基于关键词的图像搜索是指从信息页中抽取出图像的文字性语义描述,利用分类器进行计算所述图像集合中每幅图像与所述待检索语义之间的相关度,并进行加工整理和建立索引的搜索方式。

3. 基于GPU平台的检索方法

GPU作为一种加速工具不但应用到高性能通用计算领域,也可应用于Web图像搜索领域。 在文本索引中两有个关键算法:排序和查找。GPU上都能实现。对于排序算法,首先通过CPU的快速排序方法把等待排序的数据分成多个子序列,然后根据文本索引中数据结构的特点,在GPU上对子序列进行局部排序。完成在共享存储器和显存上的归并过程。GPU上的查询主要利用GPU的SIMT的特点实现多数据并行查询。 基于GPU平台的信息检索过程为:一 通过分析图像搜索系统中模块的执行流程,在CPU-GPU集群服务器上可以构建基于内容的图像搜索系统。 二 利用GPU上的图像文本语义抽取功能把信息分成多个块, 利用信息子块的视觉局部特征和属性提示来进一步精确提取图像的文本语义信息。三 对GPU上数据处理流程及编程模型在显存中构建层次型数据。四 以数据流控制降低CPU相对GPU的数据处理速度的落差。五 利用GPU的优化特性,采用自适应线程分配的方法完成由线程到数据的映射。基于GPU的信息抽取算法方法,能够使图像的文本语义信息描述更加细致完整,系统的功能和性能获得很大提升。

4. 结论与展望

GPU已经突破了很多技术屏障,在信息检索、数据挖掘计算机病毒码匹配和生物基因技术领域中都有应用。相对于CPU,以同样的市场价格选用更高计算能力的GPU是可行的。支持CUDA的GPU可以成为是由若干个向量处理器组成的超级计算机。GPU 的架构还会不断优化,被越来越多的大型计算采用,在以后的研究中还要对GPU的分支预测能力进行分析,建立简单的GPU性能模型,对于复杂的分支预测、控制流、数据流等方面,开发适合GPU的算法,以此来充分发挥GPU在图像搜索领域的检索能力。

基金项目:吉林省教育厅“十二五”科学技术研究基金资助项目(吉教科合字[2012]第371号)

参考文献:

[1] Macedonia M. The GPU Enters Computing's Mainstream[C]. IEEE Computer. Michael Macedonia,2003, 36(10):106~108.

[2] 吴恩华.图形处理器用于通用计算的技术、现状及其挑战[J].软件学报,2004,15(10):1493-1504.

[3] Mark W R,Glanville R S,Akeley K.A system for Programming Graphics Hardware in a C-like Language[J].ACM Trans Graph,2003,22(3):896-907.

[4] John D. Owens1, David Luebke, et al. A Survey of General-Purpose Computation on Graphics Hardware [J].Computer Graphics ,2007,26 (2) : 80-113.

[5] Nadathur Satis. Designing Effcient Sorting Algorithms for Manycore GPU [J].IEEE International Parallel and Distributed Processing Symposium, May 2009,23(2) 655-660.

(作者单位:吉林工商学院 信息工程分院)

上一篇:幸福巷 第12期 下一篇:“全谷”在哪里