OpenMPAPI用户指南(819-4818-10)-

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SunMicrosystems,Inc.请将关于本文档的意见和建议提交至:用户指南Sun™Studio11文件号码819-4818-102005年11月,修订版A版权所有©2005SunMicrosystems,Inc.,4150NetworkCircle,SantaClara,California95054,U.S.A.保留所有权利。美国政府权利-商业用途。政府用户应遵循SunMicrosystems,Inc.的标准许可协议,以及FAR(FederalAcquisitionRegulations,即“联邦政府采购法规”)的适用条款及其补充条款。必须依据许可证条款使用。本发行版可能包含由第三方开发的内容。本产品的某些部分可能是从BerkeleyBSD系统衍生出来的,并获得了加利福尼亚大学的许可。UNIX是X/OpenCompany,Ltd.在美国和其他国家/地区独家许可的注册商标。Sun、SunMicrosystems、Sun徽标、Java和JavaHelp是SunMicrosystems,Inc.在美国和其他国家/地区的商标或注册商标。所有的SPARC商标的使用均已获得许可,它们是SPARCInternational,Inc.在美国和其他国家/地区的商标或注册商标。标有SPARC商标的产品均基于由SunMicrosystems,Inc.开发的体系结构。本服务手册所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律。严禁将本产品直接或间接地用于核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的昀终用户。严禁出口或转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民。本文档按“原样”提供,对于所有明示或默示的条件、陈述和担保,包括对适销性、适用性或非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效。iii目录阅读本书之前ix印刷约定ixShell提示符x支持的平台x访问SunStudio软件和手册页xi访问编译器和工具文档xiii访问相关的Solaris文档xv开发者资源xvi联系Sun技术支持xviSun欢迎您提出意见xvi1.OpenMPAPI简介1–11.1哪里有OpenMP规范1–11.2本章所使用的特殊约定1–22.嵌套并行操作2–12.1执行模型2–12.2控制嵌套并行操作2–22.2.1OMP_NESTED2–22.2.2SUNW_MP_MAX_POOL_THREADS2–3iv《OpenMPAPI用户指南》2005年11月2.2.3SUNW_MP_MAX_NESTED_LEVELS2–42.3在嵌套并行区域中使用OpenMP库例程2–72.4有关使用嵌套并行操作的一些提示2–103.自动确定变量的作用域3–13.1自动确定作用域数据范围子句3–13.1.1__AUTO子句3–13.1.2DEFAULT(__AUTO)子句3–23.2作用域规则3–23.2.1标量变量的作用域规则3–23.2.2数组的作用域规则3–33.3关于自动确定作用域的通用注释3–33.3.1Fortran95的自动确定作用域规则:3–33.3.2C/C++的自动确定作用域规则:3–33.4检查自动确定作用域的结果3–43.5当前实现的已知限制3–84.实现定义的行为4–15.OpenMP编译5–15.1要使用的编译器选项5–15.2Fortran95OpenMP验证5–35.3OpenMP环境变量5–45.4处理器绑定5–75.5栈和栈大小5–106.转换为OpenMP6–16.1转换传统Fortran指令6–16.1.1转换Sun风格的Fortran指令6–26.1.2转换Cray风格的Fortran指令6–3目录v6.2转换传统CPragma6–46.2.1传统CPragma与OpenMP间的问题6–57.性能注意事项7–17.1一般性建议7–17.2伪共享及其避免方法7–47.2.1何为伪共享?7–47.2.2减少伪共享7–57.3操作系统优化功能7–5A.子句在指令中的放置A–1索引索引–1vi《OpenMPAPI用户指南》2005年11月vii表表5-1OpenMP环境变量5–4表5-2多重处理环境变量5–5表6-1将Sun并行化指令转换为OpenMP6–2表6-2DOALL限定符子句和等效的OpenMP子句6–2表6-3SCHEDTYPE调度和等效的OpenMPschedule子句6–3表6-4Cray风格的DOALL限定符子句的等效OpenMP子句6–3表6-5将传统C并行化Pragma转换为OpenMP6–4表6-6taskloop可选子句和等效的OpenMP子句6–5表6-7SCHEDTYPE调度和等效的OpenMPschedule6–5表A-1拥有子句的PragmaA–1viii《OpenMPAPI用户指南》2005年11月ix阅读本书之前《OpenMPAPI用户指南》概述了用于生成多重处理应用程序的OpenMPFortran95、C和C++应用程序接口(API)。Sun™Studio编译器支持OpenMPAPI。本指南专供具有Fortran、C或C++语言及OpenMP并行编程模型工作经验的科学工作者、工程技术人员以及编程人员使用。通常,还假定他们熟悉Solaris™操作环境或UNIX®。印刷约定表P-1字体约定字体11浏览器的设置可能会与这些设置不同。含义示例AaBbCc123命令、文件和目录的名称;计算机屏幕输出。编辑.login文件。使用ls-a列出所有文件。%Youhavemail.AaBbCc123用户键入的内容,与计算机屏幕输出的显示不同。%suPassword:AaBbCc123保留未译的新词或术语以及要强调的词。要使用实名或值替换的命令行变量。这些称为class选项。要删除文件,请键入rmfilename。新词术语强调新词或术语以及要强调的词。您必须成为超级用户才能执行此操作。《书名》书名阅读《用户指南》的第6章。x《OpenMPAPI用户指南》2005年11月Shell提示符支持的平台此SunStudio发行版本支持使用SPARC®和x86系列处理器体系结构(UltraSPARC®、SPARC64、AMD64、Pentium和XeonEM64T)的系统。通过访问中的硬件兼容性列表,可以了解您在使用的Solaris操作系统版本的支持系统。这些文档列出了实现各个平台类型的所有差别。在本文档中,这些与x86有关的术语具有以下含义:■“x86”是指较大的64位和32位x86兼容产品系列。■“x64”表示有关AMD64或EM64T系统的特定64位信息。■“32位x86”表示有关基于x86的系统的特定32位信息。有关所支持的系统,请参见硬件兼容性列表。表P-2代码约定代码符号含义表示法代码示例[]方括号包含可选参数。O[n]-O4,-O{}花括号中包含所需选项的选项集合。d{y|n}-dy|分隔变量的“|”或“-”符号,只能选择其一。B{dynamic|static}-Bstatic:与逗号一样,分号有时可用于分隔参数。Rdir[:dir]-R/local/libs:/U/a…省略号表示一系列的省略。-xinline=f1[,…fn]-xinline=alpha,dosShell提示符Cshellmachine-name%Cshell超级用户machine-name#Bourneshell和Kornshell$Bourneshell和Kornshell超级用户#阅读本书之前xi访问SunStudio软件和手册页SunStudio软件及其手册页未安装到/usr/bin/和/usr/share/man标准目录中。要访问该软件,必须正确设置PATH环境变量(请参见第xi页的“访问软件”)。要访问手册页,必须正确设置MANPATH环境变量(请参见第xii页的“访问手册页”)。有关PATH变量的详细信息,请参见csh(1)、sh(1)、ksh(1)和bash(1)手册页。有关MANPATH变量的详细信息,请参见man(1)手册页。有关设置PATH变量和MANPATH变量以访问此发行版本的详细信息,请参见安装指南或询问系统管理员。注–本节中的信息假设SunStudio软件安装在Solaris平台上的/opt目录和Linux平台上的/opt/sun目录中。如果未将软件安装在默认的目录中,请询问系统管理员以获取系统中的相应路径。访问软件使用以下步骤决定是否需要更改PATH变量以访问该软件。决定是否需要设置PATH环境变量1.通过在命令提示符后键入以下内容以显示PATH变量的当前值。2.在Solaris平台上,查看输出中是否包含有/opt/SUNWspro/bin的路径字符串。在Linux平台上,查看输出中是否包含有/opt/sun/sunstudio11/bin的路径字符串。如果找到该路径,则说明已设置了访问该软件的PATH变量。如果没有找到该路径,则按照下一步中的说明设置PATH环境变量。设置PATH环境变量以访问软件●在Solaris平台上,将以下路径添加到PATH环境变量中。如果以前安装了ForteDeveloper软件、SunONEStudio软件、或其他发行版本的SunStudio软件,则将以下路径添加到这些软件安装路径之前。/opt/SUNWspro/bin%echo$PATHxii《OpenMPAPI用户指南》2005年11月●在Linux平台上,将以下路径添加到PATH环境变量中。/opt/sun/sunstudio10u1/bin访问手册页使用以下步骤决定是否需要更改MANPATH变量以访问手册页。决定是否需要设置MANPATH环境变量1.通过在命令提示符后键入以下内容以请求dbx手册页。2.请查看输出(如果有)。如果找不到dbx(1)手册页或者显示的手册页不是软件当前版本的手册页,请按照下一步的说明来设置MANPATH环境变量。设置MANPATH环境变量以实现对手册页的访问●在Solaris平台上,将以下路径添加到MANPATH环境变量中。/opt/SUNWspro/man●在Linux平台上,将以下路径添加到MANPATH环境变量中。/opt/sun/sunstudio11/man访问集成开发环境SunStudio集成开发环境(integrateddevelopmentenvironment,IDE)提供了创建、编辑、生成、调试C、C++或Fortran应用程序并分析其性能的模块。启动IDE的命令是sunstudio。有关该命令的详细信息,请参见sunstudio(1)手册页。IDE是否可以正确操作取决于IDE能否找到核心平台。sunstudio命令会查找两个位置的核心平台:■该命令首先查找Solaris平台上的默认安装目录/opt/netbeans/3.5V11和Linux平台上的默认安装目录/opt/sun/netbeans/3.5V11。%mandbx阅读本书之前xiii■如果该命令在默认目录中找不到核心平台,则它会假设包含IDE的目录和包含核心平台的目录均安装在同一位置上。例如,在Solaris平台上,如果包含IDE的目录的路径是/foo/SUNWspro,则该命令会在/foo/netbeans/3.5V11中查找核心平台。在Linux平台上,如果包含IDE的目录的路径是/foo/sunstudio11,则该命令会在/foo/netbeans/3.5V11中查找核心平台。如果核心平台未安装在sunstudio命令查找它的任一位置上,则客户端系统上的每个用户必须将环境变量SPRO_NETBEANS_HOME设置为安装核心平台的位置(/insta

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功