热门标签 | 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.获得许可证密钥。


推荐阅读
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • scrcpy通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接,也可以通过Wifi连接(类似于隔空投屏),而且不需要任何ro ... [详细]
  • 本文摘自JavaGuide。1、简单易学;2、面向对象(封装,继承,多态);3、平台无关性(Java虚拟机实现平台无关性);4、可靠性;5、安全性;6、支持多线程(C++语言没有内 ... [详细]
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社区 版权所有