首页> 中文学位 >基于CPU-GPU协作环境的快速大规模SVM训练
【6h】

基于CPU-GPU协作环境的快速大规模SVM训练

代理获取

目录

声明

摘要

第一章 引言

第一节 研究背景及意义

1.1.1 SVM研究背景

1.1.2 高性能计算与GPU发展

第二节 本文主要内容及目标

第三节 本文创新点

第四节 本文结构

第二章 CPU-GPU异构并行编程模型

第一节 并行计算综述

第二节 GPU架构与CUDA编程模型

2.2.1 NVIDIA Fermi架构

2.2.2 CUDA编程模型

第三节 CPU-GPU协同机制

2.3.1 异构计算模型

2.3.2 异构架构下的共享扩展存储层次

第四节 针对大规模异构集群的混合编程模型

2.4.1 MPI+CUDA编程模型

2.4.2 MPI+Multi-threads+CUDA编程模型

第五节 本章小结

第三章 基于内点法的支持向量机训练

第一节 SVM基本原理

3.1.1 监督学习与统计学习理论

3.1.2 SVM基本原理

第二节 SVM研究现状

第三节 SVM的对偶变换

第四节 IPM算法分析

第五节 本章小结

第四章 GPU实现基于IPM算法的SVM训练

第一节 使用CUDA kernel优化SVM

4.1.1 数据布局

4.1.2 基于CUDA kernel实现CMM算法(CU-CMM)

4.1.3 基于CUDA kernel实现LSVIC算法

第二节 使用CUBLAS改进CMM(OCMM)

第三节 利用页锁定内存进行内存扩展

第四节 本章小结

第五章 基于CPU-GPU协作系统的SVM训练

第一节 CPU-GPU协作SYRK设计

5.1.1 SYRK的块分解策略

5.1.2 结合块分懈策略的GPU端流水机制

5.1.3 CPU-GPU环境下的协作SYRK

5.1.4 CGC-SYRK实验分析

第二节 MMC编程模型下的扩展SVM训练

第三节 本章小结

第六章 实验及结果分析

第一节 测试目标和环境

6.1.1 测试环境及目标

第二节 实验参数设置

第三节 实验及结果分析

6.3.1 精度测试

6.3.2 存储层次扩展测试

6.3.3 LSVIC性能测试

6.3.4 CMM性能测试

6.3.5 SVM整体性能测试

6.3.6 SVM扩展性分析

第四节 本章小结

第七章 总结与展望

第一节 本文总结

第二节 未来研究方向

参考文献

致谢

个人简历、学术论文与研究成果

展开▼

摘要

近年来,随着图形处理器(Graphic Processor Unit,GPU)的计算能力的增强,其主要用途由图形渲染过渡到通用计算方面,GPU的定位也逐渐演变为具有众核架构的通用处理器。在现今以主核心辅以协处理器模式的CPU-GPU异构并行系统中,兼顾了CPU与GPU在通用计算方面不同的优势,提供了一种优秀的程序设计思路与系统组成方法。基于CPU-GPU异构协同环境的集群作为一种有效的提供并行计算资源的途径,已经得到了科学及工程中计算模拟、海量数据处理等研究领域的广泛应用。
  支持向量机(Support Vector Machine,SVM)是一种广泛应用于统计分类以及回归分析的监督学习方法,是当今使用机器学习解决分类问题的重要途径。支持向量机基于结构风险最小化原理,具有全局优化、泛化能力强等优点,已成功应用于人脸识别、文本分类、生物信息学等研究领域。SVM的训练实质上是一个带有约束条件的凸二次优化问题,可以利用原-对偶内点法(Primal-DualInternal Point Method,PD-IPM)对其进行求解。基于内点法的支持向量机在解决小样本、高维数据的模式识别领域具有特有的优势,但是,面对如今庞大的海量数据,占用内存大,训练时间过长的缺点日趋明显,还有待完善与拓展。
  针对大规模SVM训练存在的内存需求大,运行时间过长的问题,本文提出一种基于CPU-GPU异构协同环境下的快速大规模SVM训练方法(CGC-SVM)。首先,利用GPU对于计算密集型问题高性能的处理特性,通过使用CUDA语言和NVIDIA提供的CUBLAS库,对IPM算法中计算密集部分进行了算法优化。其次,针对GPU提供数据存储空间不足的问题,提出使用主机端页锁定内存进行数据存储并使GPU线程直接访问的方式,扩大了GPU可访问存储容量,使CPU/GPU两端共享数据存储空间成为可能。再次,为了解决使用页锁定内存技术带来的带宽与计算性能的损失,提出了基于分块流水机制的CPU-GPU协同SYRK实现。最后,利用MPI+Multi-threads+CUDA(MMC)编程模型将实现扩展至集群,进一步降低了针对于大规模数据集的SVM训练的单一节点的内存需求。在千兆网连接的四节点GPU集群系统环境下,利用不同规模的数据集adult、ijcnn1、covtypes、rcv1、epsilon、url进行实验。结果表明,CGC-SVM在满足精度要求的同时,能够在较大规模的的数据集上获得最高10倍于单纯利用CPU进行SVM训练的性能,在存储、计算及可扩展性上均展现了出色的性能。此外,本文所提出的基于CPU-GPU系统环境的SYRK实现,与单纯利用CUBLAS接口实现的SYRK相比,扩大了数倍的可计算规模,并且在充分利用节点计算资源的同时,取得了更好的计算性能。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号