论文部分内容阅读
大数据时代给高性能计算带来两大挑战,其一是要求计算设备低功耗、高计算力,其二是算法与计算设备的高效融合。致力于数据级并行的GPU,不仅支持大量的线程高度并发隐藏访存延迟,从而提高显存带宽利用率,而且片上大规模的计算核心和各种各样的可编程控制存储层次结构,能为计算密集型机器学习算法提供极高的计算浮点性能,因此,现在流行的各种各样机器学习计算框架中,支持GPU已经成为一种标配。 期望最大化(Expectation Maximization)算法是一类迭代式求解含有隐变量的机器学习算法模型,高斯混合模型(Gaussian Mixture Model)作为利用EM求解的典型代表,是一个理论上能够拟合任何分布数据的聚类算法,但是其高计算复杂度使得其很难用于大数据处理。在GPU上通过异步更新参数,减少迭代次数来加速收敛的算法改进优化在处理高维数据方面和扩展性方面性能不佳。 本研究实现了在GPU上的同步EM算法,经过深入分析发现计算瓶颈,首先重新划分计算任务并设计kernel,其次通过算法改进使其可以调用高效的已有算法库,最后结合GPU结构特性,做了访存、流式并发优化,在保证正确性的前提下,运行速度和扩展性有极大提升。在K40m上相比已存在GPU版本,运行digits数据集(维度64,样本数1797)加速将近8倍。