计算机工程与应用 ›› 2008, Vol. 44 ›› Issue (31): 53-56.DOI: 10.3778/j.issn.1002-8331.2008.31.015

• 理论研究 • 上一篇    下一篇

基于图形处理器的层次聚类算法效率研究

李 琳1,李肯立2   

  1. 1.衡阳师范学院 计算机科学技术系,湖南 衡阳 421008
    2.湖南大学 计算机与通信学院,长沙 410082
  • 收稿日期:2008-06-10 修回日期:2008-08-27 出版日期:2008-11-01 发布日期:2008-11-01
  • 通讯作者: 李 琳

Research on efficiency of hierarchical clustering algorithm based on Graphics Processing Unit

LI Lin1,LI Ken-li2   

  1. 1.Department of Computer & Science,Hengyang Normal University,Hengyang,Hunan 421008,China
    2.College of Computer and Communication,Hunan University,Changsha 410082,China
  • Received:2008-06-10 Revised:2008-08-27 Online:2008-11-01 Published:2008-11-01
  • Contact: LI Lin

摘要: 鉴于Larsen等人利用图形处理器(GPU)的多纹理技术做矩阵运算操作,以实现GPU在矩阵相乘方面的通用计算,提出一种利用GPU和CPU的协同处理模式,应用在基于层次聚类的动态近邻选择模型的聚类算法(DNNS)中,将算法中比较耗时的邻接度矩阵计算步骤交由GPU完成,而算法其余步骤由CPU执行,从而使算法的聚类效率得到显著提高。在配有Pentium IV 3.4 G CPU和NVIDIA GeForce 7800GT显卡的硬件环境下经过实验测试,证明这种协同处理模式下的运算速度比完全采用CPU计算速度要快25%左右。这种改进的层次聚类算法适合在数据流环境下对大量数据进行实时高效聚类操作。

关键词: 图形处理器, 通用计算, 划分聚类

Abstract: Referring to the matrix calculation operation with the multitexturing technique of Graphics Processing Units(GPU) proposed by Larsen,which is utilized to realize the general purpose computation on the matrix multiplication,one mode of GPU+CPU co-processing is brought forward.It is used in the hierarchical clustering algorithm using Dynamic Nearest Neighbors Selection (DNNS) Model.The step of computing connectivity matrix spending much time is finished by GPU,others are processed by CPU and it is very evident that the calculation efficiency is promoted.Experiments are conducted in a PC with Pentium IV 3.4G CPU and NVIDIA GeForce 7800 GT,the results of which indicates that the calculation speed under the mode of co-processing is 25% faster than that finished only by CPU.The improved hierarchical clustering algorithm is very useful for the operation on volumes of data under the environment of data stream at high speed and high quality.

Key words: Graphics Processing Units(GPU), general purpose computation, hierarchical clustering algorithm