热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编译器_新的PGI编译器可将支持GPU的HPC应用从Linux/x86无缝迁移到支持NVLink的OpenPOWER+Tesla

篇首语:本文由编程笔记#小编为大家整理,主要介绍了新的PGI编译器可将支持GPU的HPC应用从Linux/x86无缝迁移到支持NVLink的OpenPOWER+Tesla相关的知识,希望对你有一

篇首语:本文由编程笔记#小编为大家整理,主要介绍了新的PGI编译器可将支持GPU的HPC应用从Linux/x86无缝迁移到支持NVLink的OpenPOWER+Tesla相关的知识,希望对你有一定的参考价值。












NVIDIA推出了首款正式发布的结合OpenACC的PGI Fortran、C和C++编译器,定位于Linux/OpenPOWER和Tesla计算系统,包括将POWER8 CPU与NVIDIA NVLink互联技术、NVIDIA Tesla GPU加速器结合于一体的IBM OpenPOWER LC服务器。









简化从Linux/x86到基于Linux/OpenPOWER处理器的服务器迁移

PGI for OpenPOWER可将PGI编译的HPC应用从Linux/x86轻松移植到Linux/OpenPOWER,通常采用简单的重新编译,其中包括对OpenMP 3.1、OpenACC和CUDAFortran并行编程的支持。这其中的范例便是WRF天气研究和预测模型,它结合了各种支持软件包,这些软件包由800,000多行的大部分是Fortran源代码的程序组成。OpenMP的WRF 3.8.1版本可以采用新的PGI 16.10编译器(带有相同的生成文件(makefiles)、编译器选项、源代码和开源支持包),在Linux/OpenPOWER或Linux/x86中进行编译。



OakRidge National Laboratory的应用 

适用于OpenPOWER的PGI编译器套件正是橡树岭国家实验室使用的工具,他们采用相同的源代码库基于x86 CPU、OpenPOWER CPU和NVIDIA GPU构建和运行大规模HPC应用。

“将HPC应用从一个平台移植到另一个平台,这在应用新的硬件技术时的确是一项重要且极具挑战性的工作,”橡树岭国家实验室的科学计算部主管Tjerk Straatsma说道,“类似这样的架构和性能可移植性对我们的应用开发人员和用户而言至关重要,因为我们需要从当前机器(如Titan)中仅适用于CPU和支持GPU的应用迁移到DOE即将发布的重要系统中,其中包括我们将要安装在ORNL的Summit系统。”ORNL即将安装的CORALSummit系统将会以POWER9 CPU和NVIDIAVolta GPU为基础。

 

OpenACC:GPU计算的便捷入口

除了在Linux/x86和Linux/OpenPOWER平台之间的移植便捷性之外,新的PGI编译器可以支持采用Fortran、C和C++等语言、基于OpenACC指令的GPU编程,作为配置NVIDIATesla 加速器的GPU计算的便捷入口。

 

NVLink:瓦解CPU与GPU之间的存储障碍

除了Linux/x86和Linux/OpenPOWER平台之间的移植便捷性之外,新的PGI编译器还可实现OpenACC和NVIDIA面向PascalGPU的CUDA 8.0 Unified Memory功能之间的互操作性。将PGI OpenACC 编译器指定为-ta=tesla:managed 选项,可以实现这个功能,其中大多数类型的可分配数据位于CUDA Unified Memory之中。在CPU主存储和GPU设备存储之间的这些变量和数据结构的移动之后会由CUDA存储管理器按照分页方式管理,而不是由使用OpenACC指令或编译器运行时系统的程序来管理。

在这种模式下开发出来的程序可以实质性地减少开发时间,这一点也在最近由上所指出。下图展示了在一个基于Pascal的Tesla P100 GPU上运行SPEC ACCEL 1.0 OpenACC基准的性能,编译时使用CUDA Unified Memory与用户指定和优化的数据迁移加以对照。在POWER8CPU和Tesla P100 GPU之间配置了NVLink的Minsky系统中,采用CUDA Unified Memory进行编译的15 SPEC ACCEL基准版本的平均数值处于所有可分配数据用户引导数据迁移版本的10%:


其中的三个基准(354.cg、357.csp和370.bt)只使用静态数据,因此CUDA Unified Memory功能并不适用。其它12个标准全部都充分利用了可分配数据。

“诸如OpenMP和OpenACC这样更加方便的编程方法对GPU加速系统的广泛应用至关重要,”IBM高性能计算和数据分析事业部副总裁Sumit Gupta说道,“新的PGI编译器充分利用POWER8 CPU和NVIDIA Tesla P100 GPU加速器之间的高速NVIDIA NVLink连接,结合页面迁移引擎,可以更加轻松地加速并增强高性能计算和数据分析工作负载的性能。”

更多信息和新的PGI编译器请访问以下网址获取和下载:







点击“阅读原文” 了解更多精彩内容!         







推荐阅读
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Linux 程序设计学习笔记----动手编写makefile文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了2020年计算机二级MSOffice的选择习题及答案,详细解析了操作系统的五大功能模块,包括处理器管理、作业管理、存储器管理、设备管理和文件管理。同时,还解答了算法的有穷性的含义。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 安装Tensorflow-GPU文档第一步:通过Anaconda安装python从这个链接https:www.anaconda.comdownload#window ... [详细]
  • 程序分析与优化9附录XLA的缓冲区指派
    本章是系列文章的案例学习,不属于正篇,主要介绍了TensorFlow引入的XLA的优化算法。XLA也有很多局限性,XLA更多的是进行合并,但有时候如果参数特别多的场景下,也需要进行 ... [详细]
author-avatar
小牛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有