Portland Group推出PGI 8.0版多核x64处理器用优化编译器及开发工具

2008-12-20 09:24:00 来源:大比特资讯
 
    最新版的 PGI软件在 Linux、Windows和 MacOS平台上支持OpenMP 3.0;含异构型 x64+GPU编译器的技术预览 

    意法半导体全资子公司Portland Group®公布支持 Linux、Mac OS X和Windows三大操作系统的PGI® 8.0版高性能编译器及开发工具系列产品。在所支持的三大平台上,PGI 8.0版Fortran和C编译器均全面支持最近发布的OpenMP 3.0多核并行编程标准。新版软件还支持在Linux和MacOS平台上开发和调试OpenMPI应用程序,并完善了现有MPI编译程序在Linux和Windows集群上的功能。目前,PGI 8.0版用户通过使用完全相同的PGI编译器、最新的OpenMP功能、可选的MPI软件和捆绑的OpenMP/MPI调试器和分析工具,可以在任何一款主流的台式机或服务器集群操作系统上开发部署多核和并行的应用程序。作为具有重要意义的全新开发成果,PGI 8.0版标志着Portland Group开始进入加速计算领域,可以条件性支持并行计算任务,从x64主处理器自动分配到英伟达(NVIDIA)的具有CUDA功能的GPU处理器。 . 

    “PGI的Unified Binary技术使开发人员能够利用AMD和英特尔的最新的CPU创新技术,同时把不同的x64 处理器视为一个单一平台,配合PGI 8.0版的新增功能,为HPC用户和大型多平台超级计算中心提供了最大的灵活性和自主性。”Portland Group总监Douglas Miles表示。 

    全新的性能分析工具 

    现有编译器及开发工具产品线已包含目前所有的最佳的HPC方法和多核编程技术。除了延续现有产品线的成功之处外,PGI 8.0版编译器还增加了一个全新的功能:自动分析源代码,然后生成一个巨大的数据库,描述可行的或被抑制的性能优化方案,并提供源代码的修改意见,以便利用可行的优化措施。随着8.0版编译器的推出,PGI利用通用编译器反馈格式(CCFF)使数据重组和访问数据的界面实现了标准化。为了努力改进PGI、第三方和高性能计算产业的软件调试工具的可用性和互操作性,PGI正在公布CCFF标准,业内人士可以免费获得这项标准。

    在一个结构合理而紧凑的直观的图形用户界面(GUI)内,PGI的PGPROF®8.0性能分析工具可以显示CCFF数据以及用户源代码,同时还支持命令行界面。程序员可以迅速简易地发现结构合理的代码段,以及性能有待改进的需要重组的代码段。除能够识别占用计算机时间或系统资源最多的应用程序代码段外,PGPROF还为程序员提供具体且可行的源代码性能优化反馈建议。通过识别以下内容,以每个线程和/或每个进程显示数据的方法能够简化性能调试: 

    单指令多数据流扩展(SSE)矢量回路,以及矢量化在非矢量回路受限制的原因 
    多核用自动并行化回路,和并行化在串行回路上受限的原因 
    OpenMP并行化的备选回路 
    回路的计算强度,把负荷分配给图形处理器(GPU)或加速器所需的备选回路 
    迭代数量极大或极小的回路,以及SSE和高速缓存分层架构性能的优化方法 
    数据预取,通过指令和pragmas命令优化数据预取的机会  

    除这些详细的分析外,PGPROF还提供程序级总体分析,包括行内函数和例程的信息;每个文件是如何编译的信息;整个系统配置的信息;以及 Fortran、C和C++源代码的性能关键特性。传统的性能调试工具只能报告和调试一个特殊类型的处理器或系统,或只能做并行化的调优任务,而PGI 8.0编译器及开发工具,能够在现代化的多核 x64 CPU或GPU加速器上,为程序员提供调试反馈,以及通过重组回路和算法来提高性能的建议。  

    “计算机处理并行化并不等于高性能,”Portland Group的编译器工程师Michael Wolfe表示,“问题的核心不是并行计算,而是系统性能,并行只不过是实现高性能的一个工具。” 

    临时性GPU支持 

    PGI 8.0版还包含技术预览,介绍业内首款把x64主处理器的计算任务自动分配给图形处理器(GPU)的Fortran和C编译器。直到现在,专注GPU加速器的C和C++开发人员还必须依赖把语言扩展到程序中。 从Fortran应用程序调用GPU受到极大的限制,需要x64+GPU程序员进行详细的编程,包括必须理解和指定数据用途信息,管理x64主处理器和GPU之间的所有数据传输需要人工排列调用序列。采用PGI 8.0版的临时性支持功能,通过给现有的兼容高级标准的Fortran和C程序增加类似于 OpenMP的编译器指令,然后选择适合的编译器重新编译,程序员可以在x64+GPU 平台上加快Linux应用程序的开发和部署。  

    “越来越多的软件发行商利用CUDA开发环境,开发创新的解决方案,充分发挥英伟达GPU的强大性能,PGI正在加入到这个行列中来,”英伟达Tesla计算解决方案总经理Andy Keane表示,“凭借他们20年的开发历史和辉煌业绩,我们期待PGI的解决方案给高性能计算产业创造机会,使开发人员能够逐渐移植大量的传统的科研和工程代码,以充分利用英伟达Tesla加速器的优势。” 

    PGI 8.0 x64+GPU编译器自动分析整个程序结构和数据,在x64 CPU和GPU 之间分配用户指令规定的应用程序代码,定义并生成一个优化的回路映射,自动使用并行内核、硬件线程功能和现代GPU的SIMD矢量功能。除规定代码区域和加速功能的指令和pragma命令外,PGI Fortran和C编译器还支持用于精细控制回路映射、存储单元分配和GPU存储分层架构优化的用户指令。PGI编译器生成统一的x64+GPU目标文件和管理数据进出CPU的可执行文件,同时还充分利用主处理器侧的开发实用工具——链接程序、函数库、makefiles,无需修改现有标准的高性能计算Linux/x64编程环境。 

    PGI8.0版的另一新亮点是:在Mac OS X上支持OpenMP并行和本机OpenMPI并行调试;在Microsoft Windows上新简化的授权设置;支持Microsoft HPC Server 2008集群;支持AMD和英特尔最新的处理器。  

    PGI新编译器的评估版可以从Portland Group网站www.pgroup.com下载,用户需要注册。
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告