首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
【目的】TensorFlow是人工智能领域最具代表性的深度学习框架。国产加速设备需要一个支持OpenCL的TensorFlow才能发挥其加速性能,为此需要将TensorFlow框架下的CUDA代码向OpenCL转换。如何验证OpenCL核函数的正确性,是研发任务面对的重要问题。【方法】基于TensorFlow动态链接库自定义算子和raw_ops测试接口,本文提出了一套OpenCL核函数的测试解决方案,包括自定义算子的源码设计规范、测试代码规范、代码审核方法和测试流程。【结果】本文实现了对135个OpenCL核函数代码的审核与测试,在各种数据类型及多种数据规模下进行了测试对比,完成了OpenCL核函数正确性的验证,及其与CUDA核函数的性能比较。【结论】本文为TensorFlow下OpenCL核函数的测试提供了可靠而有效的解决方案。  相似文献   

2.
【目的】目前,TensorFlow 这一主流机器学习框架与CUDA异构编程环境的组合在学术界与工业界得到大量使用,使用CUDA实现的TensorFlow算子是加速计算的关键。然而,TensorFlow对于OpenCL 这一开放通用的异构编程标准的不支持严重限制了TensorFlow的通用性,并导致OpenCL硬件设备的算力无法充分发挥。【方法】针对此问题,本文深入探索TensorFlow的底层实现,在对TensorFlow代码结构深入分析的基础上实现了OpenCL算子,并且在2.2.0版本的TensorFlow框架实现了OpenCL算子的集成。【结果】基于上述实现,TensorFlow能够借助OpenCL算子在支持OpenCL 1.2的硬件设备上运行。同时,本文提出的优化方法也大幅提升了OpenCL算子的计算效率。【结论】通过实验表明,本文提出的方法能够有效地解决TensorFlow无法应用在OpenCL硬件设备上的问题。  相似文献   

3.
【目的】深度学习模型以较强的建模性能和优秀的多场景适应能力被广泛应用于各类典型人工智能领域。目前通常采用异构并行计算技术满足深度学习模型的算力需求,然而目前深度学习框架普遍使用CUDA或ROCm等编程模型,仅能支持特定厂商设备;对于通用异构计算设备,需要通过OpenCL编程标准实现支持,因此我们着力于实现TensorFlow框架的OpenCL版本。【方法】本文对TensorFlow框架中主要基于Eigen库提供的接口实现的Element-Wise算子进行代码分析,拆解对应结构体和类的封装方式,并基于OpenCL的编程标准对Element-Wise算子进行实现和封装,确保了代码的规范性和可扩展性。【结果】本文以CUDA算子为基准,对OpenCL的Element-Wise算子进行测试和对比,实验结果分别从正确性和计算效率两方面验证了本文OpenCL版本算子实现的可行性。【结论】作为实现OpenCL版本的TensorFlow框架这一工作的重要组成部分,本文成功实现了TensorFlow框架中Element-Wise算子的OpenCL版本,并经过实验验证了本文实现的算子的计算准确性和计算效率。  相似文献   

4.
韦博文  李涛  李广宇  汪致恒  何沐  师悦龄  刘路遥  张瑞 《计算机科学》2016,43(Z11):167-169, 196
针对海量遥感数据应用中日益显著的处理效率低下和计算瓶颈问题,基于通用计算机图形处理单元的编程开发使用OpenCL并行处理技术对遥感数据处理及其过程进行加速,旨在为遥感影像大数据处理提供一条更为高效的途径。在不同显卡平台上对影像畸变纠正实施并行处理,结果表明,OpenCL技术在提高影像畸变纠正的速度方面作用显著,可取得29.1倍的最高加速效果;与CUDA并行处理技术的交叉验证进一步凸显了OpenCL技术在异构平台上实施并行处理时所具有的通用性的优势。  相似文献   

5.
【目的】在深度学习框架中,为了实现大规模深度学习计算,异构的OpenCL计算模型通过充分利用不同厂商生产的不同类型硬件设备和计算资源成为提升学习效率的重要途径。因此将深度学习框架例如MXNet等迁移至OpenCL计算模型上以提高其对大规模深度学习的适配性。在对MXNet深度学习框架的迁移过程中,深度学习计算中较为普遍的多维线性数据处理相关操作的迁移则是本文需要讨论的主要问题。【方法】通过系统地比较CUDA计算模型和OpenCL计算模型的运行机制,将已兼容CUDA计算模型的MXNet深度学习框架中对多维线性数据处理的逻辑基于OpenCL计算模型进行适配性重构。【结果】通过基于OpenCL计算模型进行适配性重构的MXNet深度学习计算框架中的有关多维线性数据处理的计算操作能够通过已有的框架测试。【结论】基于OpenCL计算模型进行适配性重构方案能够很好地解决MXNet深度学习框架迁移至OpenCL计算模型时较为普遍的多维线性数据处理相关操作的迁移问题。  相似文献   

6.
HMAC算法作为主流消息认证算法之一,面临着以纯软件方式运行速度慢,以传统的FPGA硬件实现方式更新维护困难的问题。针对上述问题,设计了HMAC-SHA256算法的定制计算架构并基于OpenCL以高层次描述方式进行了实现。具体包括计算路径优化、存储结构与查找表优化、HMAC-SHA256全流水结构设计。基于OpenCL的计算任务分组优化、数据存储优化、数据通道矢量化等手段实现了HMAC-SHA256算法的FPGA定制计算架构。实验结果表明:在Intel Stratix 10 FPGA平台上,所实现的HMAC-SHA256吞吐率达到174.236Gbps,与Intel Core I7-10700 CPU相比,性能提升了656%,能效提升了1514%;与NVIDIA GTX 1650 SUPER GPU相比,性能提升了14%,能效提升了288%。  相似文献   

7.
詹云  赵新灿  谭同德 《计算机工程与设计》2012,33(11):4191-4195,4293
针对异构处理器在传统通用计算中利用率低的问题,提出基于开放计算语言OpenCL(open computing language)的新的通用计算技术,它提供了统一的编程模型。介绍了OpenCL的特点、架构及实现原理等,并提出OpenCL性能优化策略。将OpenCL与计算统一设备架构CUDA(compute unified device architecture)及其它通用计算技术进行对比。对比结果表明,OpenCL能够充分发挥异构处理平台上各种处理器的性能潜力,充分合理地分配任务,为进行大规模并行计算提供了新的强有力的工具。  相似文献   

8.
物联网的发展与普及促使计算机异构架构迅速发展,开放运算语言(open computing language,OpenCL)作为首个跨平台异构并行计算框架,具有标准化、可移植性等优点,但因不同平台下软硬件的复杂性和多样性,使OpenCL在性能上的移植性存在一定的缺陷.现有的方法通过深度学习构建优化模型来提高程序运行效率,但所构建的预测模型仅考虑代码的顺序依赖关系,忽略了语法语义信息,导致代码优化效果不明显.为解决上述问题,提出了一种基于多关系图神经网络的OpenCL程序自动优化启发式方法.该方法首先把OpenCL代码转换成多关系代码图,能够提取代码的深度结构与语法语义特征;然后利用改进后的图神经网络模型,将构建的代码图编码为高维的特征向量;最后使用决策网络完成任务预测.为验证方法的有效性,分别在异构设备映射和线程粗化因子预测2个任务上进行实验评估.结果表明,在异构设备映射任务中,最优设备预测准确率能够达到88.7%,相较于现有最先进的方法,加速比可提高7.6%;在线程粗化任务中,加速比相较于现有最优的方法可提高5.2%.  相似文献   

9.
深度学习模型的构建、训练以及推理离不开TensorFlow等机器学习框架中深度学习算子的支撑,对于卷积、池化等深度学习中被高频调用或计算量较大的算子,机器学习框架一般通过调用深度神经网络(DNN)库来提升计算效能。现有DNN库主要由英伟达、AMD等少数国外厂商开发并根据自有硬件设备特点进行优化,但其封闭性导致其他厂商生产的通用加速器难以在深度学习领域发挥作用。为解决现有DNN库无法支持国产加速器的问题,使得深度学习模型能够调用国产加速器进行运算,研究跨平台的通用DNN库,通过对开源MIOpen的结构特点和调用方式进行分析,提出修改和重构该库的方法,并实现一种基于OpenCL的DNN(OclDNN)库。考虑到TensorFlow较高的流行度及其对DNN库调用的特殊性与复杂性,研究通用DNN库在TensorFlow中的集成方法,通过StreamExecutor中的OpenCL平台实现对OclDNN的调用。实验结果表明,OclDNN在英伟达、华为等不同厂商的计算设备上运算结果正确可靠,在相同实验环境下,深度学习算子使用OclDNN时的加速性能比传统CPU并行算法提升了5~60倍。  相似文献   

10.
连续的数据无关是指计算目标矩阵连续的元素时使用的源矩阵元素之间没有关系且也为连续的,访存密集型是指函数的计算量较小,但是有大量的数据传输操作。在OpenCL框架下,以bitwise函数为例,研究和实现了连续数据无关访存密集型函数在GPU平台上的并行与优化。在考察向量化、线程组织方式和指令选择优化等多个优化角度在不同的GPU硬件平台上对性能的影响之后,实现了这个函数的跨平合性能移植。实验结果表明,在不考虑数据传输的前提下,优化后的函数与这个函数在OpenCV库中的CPU版本相比,在AMD HD 5850 GPU达到了平均40倍的性能加速比;在AMD HD 7970 GPU达到了平均90倍的性能加速比;在NVIDIA Tesla 02050 CPU上达到了平均60倍的性能加速比;同时,与这个函数在OpenCV库中的CUDA实现相比,在NVIDIA Tesla 02050平台上也达到了1.5倍的性能加速。  相似文献   

11.
李焱  张云泉  王可  赵美超 《计算机科学》2011,38(8):284-286,296
快速傅立叶变换作为20世纪公认的最重要的基础算法之一,在大规模科学计算处理、数字信号处理、图形图像仿真等众多领域有着广泛的应用。OpenCL是首个面向异构系统通用的并行编程标准,为软件开发人员提供了统一的面向异构系统的并行编程环境。首先,在异构平台Cell和GPU上使用OpcnCL实现了基于2的幂一维FFT,并 对其进行了测试和分析,在Cell平台上当数据规模适中时它能够达到SDK性能的65%,当数据规模继续增大时,相对性能有所降低。此外,针对Nvidia Fermi平台,手工调优了小因子的FFT,使其性能接近于CUFFT的140%。  相似文献   

12.
文中介绍了基于Kubernetes的分布式TensorFlow平台的设计与实现,针对分布式TensorFlow存在的环境配置复杂、底层物理资源分布不均、训练效率过低、模型研发周期长等问题,提出了一种容器化TensorFlow的方法,并基于Kubernetes容器PaaS平台来统一调度管理TensorFlow容器。 文中将Kubernetes和TensorFlow的优点相结合,由Kubernetes提供可靠、稳定的计算环境,以充分发挥TensorFlow异构的优势,极大地降低了大规模使用的难度,同时建立了一个敏捷的管理平台,实现了分布式TensorFlow资源的快速分配、一键部署、秒级启动、动态伸缩、高效训练等。  相似文献   

13.
UPPA:面向异构众核系统的统一并行编程架构   总被引:1,自引:0,他引:1  
  相似文献   

14.
以NDVI算法为例,讲述了利用OpenCL框架,使用GPU对NDVI算法实现加速操作。利用OpenCL框架的异构性,研究是否能更加有效提高加速比。  相似文献   

15.
kNN算法是机器学习和数据挖掘程序中经常使用的经典算法。随着数据量的增大,kNN算法的执行时间急剧上升。为了有效利用现代计算机的GPU等计算单元减少kNN算法的计算时间,提出了一种基于OpenCL的并行kNN算法,该算法对距离计算和排序两个瓶颈点进行并行化,在距离计算阶段使用细粒度并行化策略和优化的线程模型,排序阶段使用优化内存模型的双调排序。以UCI数据集letter为测试集,分别使用E8400和GTS450运行kNN算法进行测试,采用GPU加速的并行kNN算法的计算速度比CPU版提高了40.79倍。  相似文献   

16.
基于OpenCL的FPGA设计优化方法研究   总被引:3,自引:1,他引:3  
FPGA因其强大的运算能力成为了众多高性能应用的最佳选择,但其传统的开发方法存在门槛高、周期长等众多不足。OpenCL作为跨平台的开发语言,为FPGA提供了一种全新的开发方法。此方法开发周期短、抽象层次高、可移植性强,弥补了传统开发方式的不足。介绍了OpenCL开发FPGA的相关优化方法,以矩阵乘法和QR分解为例,深入分析了各种优化方法的优缺点及适用情况。  相似文献   

17.
针对如光束平差这样的大规模优化问题,实现基于OpenCL的并行化自动微分。采用更有效的反向计算模式,实现对多参数函数的导数计算。在OpenCL框架下,主机端完成C/C++形式的函数构建以及基于拓扑排序的计算序列生成,设备端按照计算序列完成函数值以及导数的并行计算。测试结果表明,将实现的自动微分应用于光束平差的雅可比矩阵计算后,相比于采用OpenMP的Ceres Solver,运行速度提高了约3.6倍。  相似文献   

18.
随着图像数据的大量增加,传统单处理器或多处理器结构的计算设备已无法满足实时性数据处理要求。异构并行计算技术因其高效的计算效率和并行的实时性数据处理能力,正得到广泛关注和应用。利用GPU在图形图像处理方面并行性的优势,提出了基于OpenCL的JPEG压缩算法并行化设计方法。将JPEG算法功能分解为多个内核程序,内核之间通过事件信息传递进行顺序控制,并在GPU+CPU的异构平台上完成了并行算法的仿真验证。实验结果表明,与CPU串行处理方式相比,本文提出的并行化算法在保持相同图像质量情况下有效提高了算法的执行效率,大幅降低了算法的执行时间,并且随着图形尺寸的增加,算法效率获得明显的提升。  相似文献   

19.
现代GPU一般都提供特定硬件(如纹理部件、光栅化部件及各种片上缓存)以加速二维图像的处理和显示过程,相应的编程模型(CUDA、OpenCL)都定义了特定程序设计接口(CUDA的纹理内存,OpenCL的图像对象)以便图像应用能利用相关硬件支持。以典型图像模糊化处理算法在AMD平台GPU的优化为例,探讨了OpenCL的图像对象在图像算法优化上的适用范围,尤其是分析了其相对于更通用的基于全局内存加片上局部存储进行性能优化的方法的优劣。实验结果表明,图像对象只有在图像为四通道且计算过程中需要缓存的数据量较小时才能带来较好的性能改善,其余情况采用全局内存加局部存储都能获得较好性能。优化后的算法性能相对于精心实现的CPU版加速比为200~1000;相对于NVIDIA NPP库相应函数的性能加速比为1.3~5。  相似文献   

20.
OpenCL作为一种面向多种平台、通用目的的编程标准,已经对许多应用程序进行了加速。由于平台硬件和软件环境的差异,通用的优化方法不一定在所有平台都有很好的加速。通过对均值平移算法在GPU和APU平台的优化,探讨了不同平台各种优化方法的贡献力,一方面研究各个平台的计算特性,另一方面体会不同优化方法的优劣,在优劣的相互转化中寻求最优的解决方案。实验表明,算法并行优化前、后在AVIV 5850,Tesla 02050和APU A6365。上分别达到了9.68, 5.74和1.27倍加速,并行相比串行程序达到79.73,93.88和2.22倍加速,前两个平台OpcnCL版本相比,CUVA版本的OpenCV程序达到1.27和1.24倍加速。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号