当前位置:首页 > 嵌入式 > 嵌入式新闻
[导读]PGI 8.0版高性能编译器及开发工具(Portland Group)

意法半导体全资子公司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标准,业内人士可以免费获得这项标准。登录PGI网站http://www.pgroup.com/ccff可以获得更详细的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下载,用户需要注册。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

【2024年5月8日,德国慕尼黑讯】Rust编程语言凭借其独特的内存安全特性,已经成为汽车软件开发中C/C++的有效补充和潜在替代品。全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OT...

关键字: 编译器 微控制器

MIKROE增加了图形功能,CLANG支持ARM和RISC-V以及许多其他功能

关键字: 编译器 RISC-V架构 工业自动化

华为开发者大会是华为公司举办的年度盛会,旨在汇聚全球的开发者、合作伙伴和业界专家,共同探讨和分享最新的技术趋势、开发工具和实践经验。华为开发者大会不仅是华为对外展示技术实力和创新成果的重要平台,也是推动全球开发者生态发展...

关键字: 开发工具 华为 硬件

IAR Embedded Workbench for Arm已全面支持恩智浦最新的S32系列,可加速软件定义汽车的车身和舒适性应用的开发

关键字: 电机控制 电动汽车 编译器

这款新编译器专为dsPIC®数字信号控制器 (DSC)优化设计,可为实时应用定制许可选项

关键字: 编译器 数字信号控制器 自动驾驶

C语言编译器是一种用于将C语言源代码转换为可执行程序的软件工具。它的主要功能是将C语言代码翻译成机器语言,以便计算机能够理解和执行。C语言编译器通常包括预处理器、编译器、汇编器和链接器等多个组件,它们协同工作以完成编译过...

关键字: C语言 编译器 Microsoft Visual C++

都柏林,爱尔兰, May 19, 2023 (GLOBE NEWSWIRE) -- 近年来,确保可持续运营已成为航空业发展的主要驱动力。 尽管如此,这个变化莫测的行业面临着多重挑战,而这些挑战可能会成为航空公司努力提...

关键字: GROUP SOLUTIONS VIA 可持续发展

IAR Embedded Workbench 9.40版本引入了与指针验证和分支目标识别(PACBTI)扩展的无缝兼容性,保护嵌入式应用程序免受各种安全攻击。

关键字: 代码 嵌入式应用程序 编译器

在过去数十年,摩尔定律一直支配着半导体的发展。随着MCU的性能越来越强,嵌入式产品也越来越智能,嵌入式软件也变得越来越复杂。编译器作为嵌入式软件开发的基础工具,将程序员编写的源代码转换为底层硬件可以执行的机器指令。一款优...

关键字: 摩尔定律 嵌入式 软件开发 编译器

Python的创始人是一位荷兰籍的程序员——吉多·范罗苏姆(Guido van Rossum),江湖外号“龟叔”。据说这个外号是由于Guido的开头与龟的拼音gui相同得来的,所以Guido也被程序员们戏称为“龟叔”。在...

关键字: Python 编译器 人工智能
关闭
关闭