论文部分内容阅读
LS-SVM(Least Square Support Vector Machine)算法作为一种机器学习算法,具有模型简单、学习能力强等优点,广泛的应用于包括时间序列预测和故障诊断在内的众多领域中,具有良好的应用前景。然而LS-SVM算法的复杂度较高,随着输入样本数据量的增加,实现LS-SVM算法所消耗的时间也迅速增加,这导致LS-SVM算法的应用受到限制。而作为一种新兴的高性能计算方法,GPU(Graphic Processing Unit)计算能够以低成本、小体积的方式实现高性能计算,因而研究LS-SVM算法的GPU高性能计算方法,以提高算法的计算效率及其实用性,具有重要的研究意义。本文在充分分析GPU高性能计算方法的研究现状基础上,构建了基于CUDA(Compute Unified Device Architecture)的GPU开发体系,并根据LS-SVM算法建模过程的计算特点,完成了算法基于GPU的设计和实现,并针对其计算效率进行了优化方法的研究和实验对比分析。同时还对GPU计算的功耗问题进行了对比实验分析。首先,本研究采用CUDA与Visual Studio软件组合的方式建立了GPU的实验研究平台。其次,分析LS-SVM算法结构和其计算过程,提出算法在GPU平台的移植方法,实现了基于CUDA的LS-SVM算法。基于实际话务量数据,进行了不同计算平台的对比实验。计算效率的对比表明,LS-SVM的GPU实现取得与FPGA实现相近的计算效率,且明显优于PC平台,证明了算法在GPU平台移植的高效性,但功耗的对比表明,GPU平台在功耗方面还存在不足。在上述研究工作的基础上,针对影响LS-SVM的GPU计算效率问题,分别从通信、访存以及指令流三个方面进行了算法的CUDA优化方法研究。最后,对综合优化实现进行了性能测试和分析。实验结果表明,优化后的GPU实现相对于FPGA可重构实现可以获得明显的效率提升,从而证明了优化方法在计算效率提升方面的有效性。本课题为基于FPGA的可重构计算技术的提供了对比性研究基础,同时为其它算法的CUDA实现和优化提供了实例参考和借鉴意义。并且为后续的GPU计算研究奠定了方法性的工作基础。