浅析并行计算编程技术

浅析并行计算编程技术

ID:31370908

大小:103.50 KB

页数:4页

时间:2019-01-09

浅析并行计算编程技术_第1页
浅析并行计算编程技术_第2页
浅析并行计算编程技术_第3页
浅析并行计算编程技术_第4页
资源描述:

《浅析并行计算编程技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅析并行计算编程技术  摘要:计算机技术的不断发展也推动了各行各业对性能和运算需求的增加,各种规模庞大、运算复杂的应用也相继问世,不同的并行计算编程技术和开发模式得到广大开发者的认同。本文从并行计算编程技术的概念分析开始,介绍了当前主流的并行计算编程技术开发模式,并详细描述了CUDA框架的GPU并行技术方法,旨在对并行程序的运行、调试有初步的认识,也能让开发者根据自身编程特点和应用场景选择合适的并行计算编程技术,提高开发效率。  关键词:并行计算编程高性能GPU开发调试  中图分类号:TP311.11文献标识码:A文章编号:1007-9416(2

2、016)06-0243-01  1并行计算编程技术概念介绍和研究方法  所谓并行计算编程,就是通过高性能计算机,实现计算的并行处理,它也是反映高性能计算和超级计算的一项重要指标。长期以来,通过并行计算编程求解的过程主要表现为:给定一个应用,首先将其转化为数值计算范畴;随后为该数值计算设计一套并行算法,通过编程语言的方式进行实现;最后借助于高性能计算机执行该程序以获得应用的求解,因此,并行计算编程主要包括高性能计算机、并行算法、并行处理程序、并行应用这几个方面,涉及包括计算机、软件工程、数学逻辑等多个领域。  2并行计算编程技术开发模式4  (1)

3、OpenMP。目前在并行计算编程技术中,OpenMP已经是业内比较流行的内存模型开发的标准,它具备完善的编译指导代码,被广泛运用于并行程序处理、数据私有化或共享等操作,旨在将移植性高和扩展性强的开发接口提供给SMP系统[1]。OpenMP新标准在1997年开始被OpenMPArchitectureReviewBoard所提出,目前已经更新到2.0版本。  OpenMP的开放接口能够给多处理平台的共享内存提供并行计算机制,也广泛被应用于高性能计算系统架构,比如微软、UNIX等,它还可以通过编译器指令与库函数结合的方式为开发者提供C/C++或FORT

4、RAN的多线程创建应用。OpenMP的优势体现在多耗时循环应用当中,它首先将一个任务以多线程的形式划分,并通过fork-join的并行机制将程序在完成顺序执行后,转换为并行执行程序。开发者在使用OpenMP时,可以建立良好的循环级实现多处理并行机制,将任务通过分解成多个数据共享的任务,并确定相互间的依赖性,通过并行计算编程机制来实现任务的并行处理。  (2)并行库。并行库的推行大大提高了高性能并行计算处理效率,它集成了并行计算编程中通用的逻辑代码,并封装成库的形式供用户使用,它是完全开源的。一般来说,编写库函数的开发者都拥有较丰富的开发经验,在代

5、码逻辑性上效率会比较高,同时编译器采用优化编译,这就使得库函数拥有很高的执行效率,对大多数开发者而言,并行库为他们提供了一种高效便捷的开发模式[2]。  3GPU并行计算编程技术方法  GPU的作用是优化并行多线程程序的吞吐量,这种特性也让GPU的处理核心要比传统CPU更多,这种4众核架构计算能力也更强,非常适用于大规模的并行计算,GPU在执行指令和获取数据时是通过CPU的PCI-E借口进行的。计算和存储两部分是GPU的架构特征,其中计算部分中的多个流处理器负责指令的计算和执行,而存储部分则是数据存储的内存。这种硬件架构也反映了GPU编程主要是由

6、内存管理和并行计算两部分。  NVIDIA公司的合作厂商PGI推出一套CUDAFortran编程语言,它是专门针对Fortran用户所设计开发的,并还在不断地更新迭代。CUDAFortran的编程模式类似于CUDAC/C++,都有一个通用编译器,在开发过程中也能通过插件或命令来访问CUDA库,比如cuBLAS等,并兼容目前主流的操作系统windows、Linux和MacOS等。在EDA工具的支持上,CUDAFortran也可以在主流工具VisualStudio和Eclipse中通过插件的形式安装。CUDAFortran不可以直接通过进入调试模式进

7、行调试,若想调试先要通过选项-Mcuda=emu将模拟器模式开启,即用CPU来模拟GPU,然后通过CPU的调试器来进行模拟调试工作。  CUDAFortran在开发之前需要安装开发套件,这些可以在PGICUDAFortran官网上下载,目前的版本已经更新到PGIRelease2015,该开发套件包含了GPU编程开发的多种工具:如pgfortran编译器(用于CUDAFortran)、pgcc编译器(用于OpenACC)、pgcpp编译器(用于CUDA-x86)、以及分析和调试器等。CUDAFortran将CUDAGPU编程很好地集成在Fortra

8、n当中,如果开发者具备CUDAC/C++开发能力,则只需学习基本的Fortran语法即可开始开发工作,在应用方面,异构计算,如内存共享、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。