基于OpenCL的Kmeans算法的优化研究
Kmeans算法是典型的聚类算法,是已知数据划分和分组处理的重要方法.在图像处理、机器学习、生物学有着广泛的应用.随着数据规模的不断变大,对Kmeans算法的性能提出了越来越高的要求.本文在充分考虑不同硬件平台硬件体系结构差异的基础上,系统研究了在OpenCL框架下Kmeans算法在GPU和APu平台上的高效实现方式.并使用含有多次全局同步的迭代算法在GPU中的实现、冗余计算减少全局同步次数、线程任务的再分配、Local memory的重用等多个方法完成了Kmeans算法在不同硬件结构上的高效实现,并总结了一套适用于迭代算法的优化方法.实验结果表明,优化后的算法在考虑数据传输时间的前提下,在AMD HD7970 GPU上相对于CPU版本取得136.975-170.333倍的加速比,在AMDA10—5800KAPU上相对于CPU版本取得22.2365~24.3865倍的加速比.有效验证了本文提出的优化方法的有效性和平台的可移植性.
聚类算法 性能优化 数据传输
吴再龙 张云泉 徐建良 贾海鹏 颜深根 王伟俨
中国海洋大学信息科学与工程学院,青岛266100;中国科学院计算技术研究所计算机体系结构国家重点实验室,北京100190 中国科学院计算技术研究所计算机体系结构国家重点实验室,北京100190 中国海洋大学信息科学与工程学院,青岛266100 中国科学院软件研究所并行软件与计算科学实验室,北京100190
国内会议
桂林
中文
396-403
2013-10-29(万方平台首次上网日期,不代表论文的发表时间)