下载此文档

浅析并行计算编程技术.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
该【浅析并行计算编程技术 】是由【w8888u】上传分享,文档一共【6】页,该文档可以免费在线阅读,需要了解更多关于【浅析并行计算编程技术 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。浅析并行计算编程技术 摘要:计算机技术的不断发展也推动了各行各业对性能和运算需求的增加,各种规模庞大、运算复杂的应用也相继问世,不同的并行计算编程技术和开发模式得到广大开发者的认同。本文从并行计算编程技术的概念分析开始,介绍了当前主流的并行计算编程技术开发模式,并详细描述了CUDA框架的GPU并行技术方法,旨在对并行程序的运行、调试有初步的认识,也能让开发者根据自身编程特点和应用场景选择合适的并行计算编程技术,提高开发效率。 关键词:并行计算编程高性能GPU开发调试 中图分类号::A文章编号:1007-9416(2016)06-0243-01 1并行计算编程技术概念介绍和研究方法 所谓并行计算编程,就是通过高性能计算机,实现计算的并行处理,它也是反映高性能计算和超级计算的一项重要指标。长期以来,通过并行计算编程求解的过程主要表现为:给定一个应用,首先将其转化为数值计算范畴;随后为该数值计算设计一套并行算法,通过编程语言的方式进行实现;最后借助于高性能计算机执行该程序以获得应用的求解,因此,并行计算编程主要包括高性能计算机、并行算法、并行处理程序、并行应用这几个方面,涉及包括计算机、软件工程、数学逻辑等多个领域。 2并行计算编程技术开发模式 (1)OpenMP。目前在并行计算编程技术中,OpenMP已经是业内比较流行的内存模型开发的标准,它具备完善的编译指导代码,被广泛运用于并行程序处理、数据私有化或共享等操作,旨在将移植性高和扩展性强的开发接口提供给SMP系统[1]。OpenMP新标准在1997年开始被OpenMPArchitectureReviewBoard所提出,。 OpenMP的开放接口能够给多处理平台的共享内存提供并行计算机制,也广泛被应用于高性能计算系统架构,比如微软、UNIX等,它还可以通过编译器指令与库函数结合的方式为开发者提供C/C++或FORTRAN的多线程创建应用。OpenMP的优势体现在多耗时循环应用当中,它首先将一个任务以多线程的形式划分,并通过fork-join的并行机制将程序在完成顺序执行后,转换为并行执行程序。开发者在使用OpenMP时,可以建立良好的循环级实现多处理并行机制,将任务通过分解成多个数据共享的任务,并确定相互间的依赖性,通过并行计算编程机制来实现任务的并行处理。 (2)并行库。并行库的推行大大提高了高性能并行计算处理效率,它集成了并行计算编程中通用的逻辑代码,并封装成库的形式供用户使用,它是完全开源的。一般来说,编写库函数的开发者都拥有较丰富的开发经验,在代码逻辑性上效率会比较高,同时编译器采用优化编译,这就使得库函数拥有很高的执行效率,对大多数开发者而言,并行库为他们提供了一种高效便捷的开发模式[2]。 3GPU并行计算编程技术方法 GPU的作用是优化并行多线程程序的吞吐量,这种特性也让GPU的处理核心要比传统CPU更多,这种众核架构计算能力也更强,非常适用于大规模的并行计算,GPU在执行指令和获取数据时是通过CPU的PCI-E借口进行的。计算和存储两部分是GPU的架构特征,其中计算部分中的多个流处理器负责指令的计算和执行,而存储部分则是数据存储的内存。这种硬件架构也反映了GPU编程主要是由内存管理和并行计算两部分。 NVIDIA公司的合作厂商PGI推出一套CUDAFortran编程语言,它是专门针对Fortran用户所设计开发的,并还在不断地更新迭代。CUDAFortran的编程模式类似于CUDAC/C++,都有一个通用编译器,在开发过程中也能通过插件或命令来访问CUDA库,比如cuBLAS等,并兼容目前主流的操作系统windows、Linux和MacOS等。在EDA工具的支持上,CUDAFortran也可以在主流工具VisualStudio和Eclipse中通过插件的形式安装。CUDAFortran不可以直接通过进入调试模式进行调试,若想调试先要通过选项-Mcuda=emu将模拟器模式开启,即用CPU来模拟GPU,然后通过CPU的调试器来进行模拟调试工作。 CUDAFortran在开发之前需要安装开发套件,这些可以在PGICUDAFortran官网上下载,目前的版本已经更新到PGIRelease2015,该开发套件包含了GPU编程开发的多种工具:如pgfortran编译器(用于CUDAFortran)、编译器()、pgcpp编译器(用于CUDA-x86)、以及分析和调试器等。CUDAFortran将CUDAGPU编程很好地集成在Fortran当中,如果开发者具备CUDAC/C++开发能力,则只需学****基本的Fortran语法即可开始开发工作,在应用方面,异构计算,如内存共享、多线程并发、向量计算等在CUDAFortran中得到高效地应用。例如,在进行GPU并行编程计算时,可以通过device关键字分配变量在GPU当中,并通过allocate和deallocate来完成内存的分配和释放,并且,CPU和GPU在内存传输过程中只需要用赋值符号“=”操作即可,无需动用其他函数。 4结语 随着并行计算编程技术的日益发展,各种通用的开发模式和开发方法逐渐被人们所熟悉,开发者和各类专家学者也往相关方面在积极探索,有些已经取得了不错的成果。面对日益成熟的并行计算编程技术,本文旨在帮助开发者了解当前主流的并行计算编程技术开发模式和调试方法,能够让开发者可以在繁多的工具技术中找到适合自己的开发模式,更高效地利用工具完成开发任务。 参考文献 [1]--:清华大学出版社,2001. [2]:高等教育出版社,2002.

浅析并行计算编程技术 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人w8888u
  • 文件大小16 KB
  • 时间2023-08-27