热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

关于PGI加速编译器常见问题

问:PGIAccelerator编译器在哪些操作上运行?答:PGI2011年及以后的版本支持64位和32位Linux,Windows和MacOSX。

问:PGI Accelerator编译器在哪些操作上运行?

答:PGI 2011年及以后的版本支持64位和32LinuxWindowsMac OS X


问:PGI Accelerator编译器主要针对哪些加速器?

答:PGI Accelerator编译器支持所有计算能力为1.0及以上的NVIDIA CUDA GPU 加速器。PGI也在针对其他加速器做可行性研究。


问:我是否需要安装CUDA软件?

答:PGI Accelerator编译器依靠NVIDIA CUDA软件开发工具包(SDK)的几个组件。PGI安装包里包含了NVIDIA CUDA SDK的所有必要的组件。在PGI安装指南里有详细描述。


问:编译器是否支持IEEE标准的浮点运算?

答:现在的GPU加速器可以支持IEEE浮点标准。但是,他们不支持所有的模式,有一些操作,尤其是平方根、指数、对数,和其他超越函数,可能无法提供完全精确的结果。这是一个硬件的限制,编译器无法克服。


问:PGI Accelerator编译器是否支持双精度呢?

答:是的。


问:我可以从我的PGI编译的代码中调用CUDA内核函数?

答:PGI正在设计一个功能,让您您可以直接从你的CFortran程序调用CUDAPTX或其他语言编写的内核函数。等完善后,我们将宣布这一功能。


问:编译器是否可以在同一程序中支持两个或两个以上的GPU

答:象CUDA一样,您可以利用多个线程来使用两个或两个以上的GPU,每个线程连接到不同的GPU在GPU上运行其内核。当前版本中不支持从相同加速器区自动控制两个或两个以上的GPU


问:为什么有OpenACC的标准呢?

答:一个高层次的编程是高效编程的关键。相比2005年,现在的CUDAOpenCL在GPU编程上已经是一个伟大的飞跃。但他们仍然是低阶编程语言,编程者对硬件需要更多的了解。 为了获得最佳性能,编程者不得不用算法来调整每个具体设备。当采用CUDAOpenCL,即使是最小的,最平凡的循环需要一个完整的重写。而高阶编程则将这个责任从程序员身上转移到编译器上。

OpenMP标准自1997年以来,已为共享内存多处理器和多核系统支持高层次的编程模型。它并没有完全取代较低级别的模型,像POSIX线程编程,但到目前为止,大多数应用程序的程序员喜欢的更高水平的方法。一个标准允许程序员和独立软件厂商(ISV)开发可移植的并行程序。

对于GPU编程,特别是在一般的加速器编程,社会需要一个高层次的,便携式的机制可以管理和优化在GPU其他加速器上的数据流,从而优化GPU代码。而OpenACC担任这一角色。


问:为什么PGI支持OpenACC,而不是仅仅关注PGI加速器模型?

答:PGI加速器模型已成功地让许多客户使用NVIDIA GPU来开发应用。我们明确且精心地设计我们的模型以便在任何设备类型上可以方便使用。我们没有在指令中用PGI命名,因为从一开始,我们的想法和计划就是朝着这个模型标准化发展。

几个系统供应商已经在产品中使用GPU加速器。不管如何精心设计,相比仅由一个单一的供应商支持,更多的科学家和ISV将愿意采取跨编译器厂商的标准化模型。OpenACC就是这样的模型。


问:我可以在一台没有加速器的机器上运行我的程序吗?

答:是的。PGI Accelerator编译器可以生成PGI Unified Binary技术,可以不管加速器存在与否都可执行。


问:我需要对不同的GPU型号来重建我的应用吗

答:一个GPU的代码生成,使用了与图形应用和游戏同样的技术。 也就是说,这个程序使用了一个可移植的中间格式,然后可以通过你电脑里由GPU供应商提供的驱动在运行时进行动态转换和重新优化。这将确保您的投资,让你的程序继续工作,即使您升级GPU卡,或一台机器上使用不同型号的GPU型号。


问:我可以在我的GPU代理里使用函数调用或者过程调用?

答:目前GPU不支持函数调用。只有当他们可以被内联,编译器将支持函数调用。


问:在此版本支持的所有指定的指令吗

答:2011 PGI中 Fortran&Ç加速器编程模型白皮书V.1.2包括所有指令。


问:我能试试吗?
答:尝试PGI Accelerator编译器,遵循以下三个步骤:

a.Download的任何可用的软件包为您的操作系统。

B.查看PGI安装指南或PGI Visual Fortran的安装指南,并配置您的环境。

C.获得许可证密钥。


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文深入探讨了 Java 编程语言的基础,特别是其跨平台特性和 JVM 的工作原理。通过介绍 Java 的发展历史和生态系统,帮助初学者理解如何编写并运行第一个 Java 程序。 ... [详细]
author-avatar
乐橙味_367
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有