基于GPU的LDA算法并行化设计与实现

来源 :北京邮电大学 | 被引量 : 3次 | 上传用户:kanhyou2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术及互联网的发展,人类所面对的网络信息迅速膨胀,因此如何从杂乱无章的海量文本信息中快速刷选出目标信息,一直是自然语言处理领域的研究热点。文本聚类是一种基础的自然语言处理技术,在文本聚类中,LDA(Latent Dirichlet Allocation,隐含狄利克雷分配)算法是一种主题模型聚类,根据从文本中发现的主题进行分类,能有效提高聚类结果的质量。然而在实际应用中,LDA算法的程序在计算大规模数据时速度较慢,原因是使用相同的控制逻辑处理大量数据,需要在CPU上对这些大量数据反复循环。根据LDA算法的耗时特点,可以对LDA算法进行并行化设计,并利用并行计算技术对其进行加速。计算机图形处理器(Graphics Processing Unit, GPU)不断高速发展,目前已拥有强大的并行处理能力和可编程流水线,非常适合于高效率低成本的高性能并行数值计算,为图形处理之外的通用计算任务提供了良好的运行平台。基于GPU的通用计算已成为高性能计算领域的热点研究课题。CUDA(Compute Unified Device Architecture,统一计算设备架构)是一种新的处理和管理GPU并行计算的硬件架构与编程模型,由NVIDIA公司开发。CUDA将GPU视作一个数据并行计算设备,并且无需把这些计算映射到图形API。CUDA程序的开发语言以C语言为基础,并对C语言进行扩展。在CUDA程序中,核函数调用GPU执行并行计算,通过GPU内部硬件提供的多层次存储器,GPU内部计算所需的数据读写操作效率都非常理想,因此核函数的执行时间往往很短。采用CUDA编程模型,对LDA文本聚类算法并行化设计与实现,可以充分利用GPU的并行计算能力,取得很好的加速效果。本文首先介绍了Mahout机器学习库中基于MapReduce模型的LDA程序主要架构,该模型是为实现分布式计算而设计,能够在Hadoop计算集群上分布式运行。接着,分析并找出其中计算过程繁多的串行代码部分,研究将这些代码并行化的方案。最后利用CUDA编程模型实现并行程序,将核心的计算任务从CPU转移到GPU,由串行计算变为并行计算,实现了GPU并行加速。实验表明,利用GPU强大的并行计算能力,可以大幅加速基于MapReduce编程模型的LDA文本聚类程序,对GPU在数据挖掘领域的其他应用具有一定的借鉴意义。
其他文献
2011年2月25日第十届全国人大常委会第十九次会议通过的《中华人民共和国非物质文化遗产法》第一条指出:非物质文化遗产是指各族人民世代相传并视为其文化遗产组成部分的各种
<正>伴随着和煦的春风,"五一"劳动节的脚步渐渐临近。尽管今年的"五一"假期安排顺应民意,由原本的仅休一天调整为连休四天,但似乎并未抚平许多人对于消逝多年的"五一"黄金周
随着科技的进步、经济的发展,社会对建筑空间的不断需求,促使了超高层建筑的蓬勃发展。而超高层建筑的外观造型设计,更是百花齐放,缤彩纷呈。建筑是凝固的音乐,石头的史诗,尤其是超
随着互联网时代的蓬勃发展、多媒体信息的数据量的暴增以及相关技术的兴起,新闻视频内容的分析成为各大技术导向的企业和研究机构最炙手可热的研究课题之一,它给人们带来了便
随着移动通信技术的迅速发展和普及,根据市场竞争格局的变化中国电信行业于2008年进行了第三次重组,并在市场上形成三足鼎立的局面。电信业的重组融合给新的联通带来新的发展
党的十六届六中全会以纲领形式确立建设社会主义和谐社会的目标。“和谐”已成为时代的代名词,构建和谐社会已成为当今时代的主旋律。就公安工作而言,正确处理公安工作中最基
婴儿用品广告相比于其他广告具有语篇受众和产品受众非同一的特点,婴儿监护人(语篇受众)在为婴儿(产品受众)决定是否购买某产品时,承担了更多的责任,态度更加谨慎。要打动语篇受众,使
微胶囊技术已经应用于工业、农业、医疗等领域,如压敏复写纸,微胶囊化红磷阻燃剂、药物或香精的缓释控释等。根据不同的应用场合,微胶囊壁材可以保护囊芯物质,使其免受外界环境的
目的:了解大学新生的自杀意念出现的时间、原因以及未实施自杀的原因、当时的精神状态。方法:通过问卷测查和访谈的方法对115名大学新生的自杀意念及相关因素进行分析。结果:
社会法庭是以基层人民法院(派出法庭)为指导,在地方党委、政府的支持下,在一定区域内聘请符合条件的社会法官,以法律法规、乡规民约、乡土人情等为依据,通过非诉讼的方式解决