基于TensorFlow的异构编程框架

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:hulielie310
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来人工智能技术在图像识别、自然语言处理、决策推理等领域取得了令人瞩目的应用成果,而深度学习技术是推动人工智能发展的重要手段。但与此同时,深度学习对计算能力要求较高,传统的处理器无法支持大规模的深度学习计算任务,因此业界开始大量关注不同的异构芯片来适应多元化的应用需求。现有的异构芯片包括GPU、申威这种追求高性能和FPGA、ASIC这类追求低功耗的芯片。  为了充分利用这些异构芯片的性能和功耗特点,同时为用户提供友好的编程接口,必须要开发出一套高效、灵活、用户友好的异构编程框架。本文在TensorFlow深度学习框架基础上,提出了对异构芯片支持的扩展方案,并实现了对FPGA、申威芯片的支持,使TensorFlow的应用可以无缝的运行在异构平台上。本文的工作内容主要是下面三个方面:  1)深入分析TensorFlow的编程模型和运行机制,根据TensorFlow的设备管理机制设计了一套可靠的设备添加方案。该方案综合考虑与设备相关的本地运行时系统、kernel层和设备层,将TensorFlow对异构芯片的扩展划分为两个类别:框架层和算子层,在此基础上设计了新芯片加入时TensorFlow的扩展过程。  2)为TensorFlow扩展了对FPGA的支持,添加了FPGA设备在TensorFlow框架上的扩展,并为其实现了相关的深度学习算子,用户能直接通过通用编程接口指定FPGA进行神经网络的加速计算。考虑到FPGA的执行模型,本文在设计FPGA上的深度学习算子时采用了粗粒度的算子设计思想,避免数据在CPU和FPGA之间的频繁传输。  3)基于申威芯片的硬件结构,结合TensorFlow的框架原理,提出了TensorFlow对申威芯片的支持方案,实现TensorFlow在申威芯片上的移植,并使用申威芯片的众核结构进行深度学习计算的加速,用户可以使用TensorFlow的编程接口实现在申威芯片上的神经网络计算。  本文最后实现了TensorFlow对FPGA和申威芯片的支持,并使用以卷积神经网络为代表的深度学习算法对其进行了功能测试和性能评估。实验结果表明本文设计的深度学习编程框架可以有效地支持FPGA和申威芯片的计算,并且可以利用其不同的特点在功耗和性能上充分发挥处理器的硬件资源,提高芯片的使用效率。
其他文献
随着虚拟化技术在云计算环境下的广泛应用,虚拟机系统的安全问题变得越来越突出。虚拟机系统装载企业用户的应用暴露在互联网环境下运行,很显然会遭受到来自网络环境中的各种攻
计算机安全的主要目标是保障信息的保密性、完整性和可用性。如今,计算机网络几乎延伸到了世界的各个角落。网络环境中Windows操作系统主机的非法外联问题是内网安全的重要问
本文是国家863计划重大项目“水稻精准作业技术集成与应用(2006AA10A307)”中联合收割机测产系统研究的部分内容。在水稻收获测产系统中,稻谷含水率是准确计算产量的一个重要
语言是人类交际中最重要的交流工具。人类的话语在包含文字符号信息的同时,还包含了丰富的说话人感情和情绪等信息。传统语音识别主要关注于对语意文字的识别,而通过对语音信号
在现今全球化时期,人们对翻译的需求越来越大,机器翻译技术飞速发展。如何准确、快速地评价翻译系统性能,已成为影响机器翻译发展的一个关键因素,对机器翻译的研究有着非常重要的
互联网已从创建之初面向点到点通信的网络,发展成一个为全球各行各业提供高效海量信息传输和其它信息服务的庞大网络体系,在整个社会经济生活中起着至关重要的作用。不断出现的
当前,分布式共享与协同技术在汇集和共享地理上分布的空间数据资源,并对其进行一体化组织、存储、管理、访问等方面发挥着越来越重要的作用。在分布式环境中,数据和查询请求在时
业务是通信网络发展的驱动力,随着网络与通信技术的迅猛发展,VoIP(Voice over Internet Protocol,互联网协议电话)单纯的语音业务已经不能满足人们的通信需要。开发更多的业
随着通信技术的不断发展和社会需求的增大,软件定义无线电(Software DefinedRadio,SDR)技术这几年迅速发展,它打破了设备的通信功能的实现仅仅依赖于硬件发展的格局,让设备适用于
随着信息技术的发展,计算机网络深入到生活得各个方面,计算机网络上的应用纷繁多样。当互联网上拥有庞大的信息量与庞大的用户量的同时,信息与用户需求的匹配成为严峻的问题。庞