计算机科学与探索 ›› 2014, Vol. 8 ›› Issue (10): 1162-1176.DOI: 10.3778/j.issn.1673-9418.1312042
吴再龙1,2+,张云泉2,徐建良1,贾海鹏2,颜深根3,解庆春3
WU Zailong1,2+, ZHANG Yunquan2, XU Jianliang1, JIA Haipeng2, YAN Shengen3, XIE Qingchun3
摘要: Kmeans算法是无监督机器学习中一种典型的聚类算法,是对已知数据集进行划分和分组的重要方法,在图像处理、数据挖掘、生物学领域有着广泛的应用。随着实际应用中数据规模的不断变大,对Kmeans算法的性能也提出了更高的要求。在充分考虑不同硬件平台体系架构差异的基础上,系统地研究了Kmeans算法在GPU和APU平台上实现与优化的关键技术:片上全局同步高效实现,冗余计算减少全局同步次数,线程任务重映射,局部内存重用等,实现了Kmeans算法在不同硬件平台上的高性能与性能移植。实验结果表明,优化后的算法在考虑数据传输时间的前提下,在AMD HD7970 GPU上相对于CPU版本取得136.975~170.333倍的加速比,在AMD A10-5800K APU上相对于CPU版本取得22.236 5~24.386 5倍的加速比,有效验证了优化方法的有效性和平台的可移植性。