<4D F736F F D C1ECD3F2B3A3D3C3B1E0D2EBC6F7B1E0D2EBD3C5BBAFCAD6B2E12E646F63>

Similar documents
Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

先生別耍我

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

IBM System x 系列手册

Microsoft Word _Java_術科 .doc

(Quad-Core Intel Xeon 2.0GHz) ()(SAS) (Quad-Core Intel Xeon 2.0GHz) (Windows )(Serial ATA) (Quad-Core Intel Xeon 2.0GHz) (Linux)(Serial ATA)

并行程序设计基础

Microsoft PowerPoint - lect01.ppt

A01 流 行 服 飾 科 壹 術 科 測 驗 考 題 說 明 一 施 測 題 目 : 寵 物 服 飾 貼 圖 創 作 二 施 測 程 序 : ( 一 ) 主 辦 學 校 統 一 說 明 考 試 內 容 和 方 式 ( 二 ) 主 辦 學 校 提 供 寵 物 圖 形 紙 予 考 生 ( 三 ) 由

3 3 4 Apollo System 5 HPE Apollo System 6 HPE Apollo 2000 System 7 HPE Apollo 2000 System 8 HPE Apollo 4000 System 10 HPE Apollo 4200 Gen9 13 HPE Apol

( ), 16/ 32 Intel 8086, Intel, , Intel8086 Intel I/ O,, ( CIP ) /,,. :, ( ) ISBN T P36 CIP ( 2002) 0

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生

<5C5C D2D CB1BEB5D8B4C5C5CC CBACDCAA25CBBD45CBDF8D0D0D6D05CD5FEB2C95CCAFDD7D65CC2DBD6A4BBE15C E31322E3234C2DBD6A4B8E529C3B7D6DDCAD0CAFDD7D6BBAFB3C7CAD0D7DBBACF2E2E2E2E646F63>

《嵌入式系统设计》教学大纲

MPI编译环境的使用

RTX3.2.0标准版 - 技术白皮书

Microsoft Word SRS - 軟體需求規格.doc

CPU CPU Intel CPU AMD CPU CPU Socket A/Socket 370 CPU Socket 478 CPU CPU CPU CPU CPU

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

(Microsoft Word - \267s\274W Microsoft Office Word \244\345\245\363)

壹:教育文化公益慈善機關或團體免納所得稅適用標準

Microsoft PowerPoint - plan06.ppt

Microsoft Word - PKUCS计算机教育 doc

PowerPoint Presentation

untitled

秘密

E11701


untitled

概述

序 号 1 一 供 应 商 资 格 供 应 商 资 格 符 合 政 府 采 购 法 第 二 十 一 条 和 第 二 十 二 条 规 定 的 供 应 商 ; 资 格 要 求 符 合 政 府 采 购 法 第 二 十 一 条 和 第 二 十 二 条 规 定 的 供 应 商 ; 2 投 标 人 应 当 独

PowerPoint 演示文稿

石油大学(北京)

前言

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

Intel® Core2™ i7 Processor

第二部分 成果简介

中国光大银行股份有限公司首次公开发行

<4D F736F F D B8BDBCFE332D3120C8EDBCFEB9A4B3CCCBB6CABFC5E0D1F8B7BDB0B8>

投影片 1

产品手册: CA GEN r8

Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

範本檔

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

台北老爺校外實地參訪結案報告


糖尿病食譜



,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,


2002 4,,, 1941,,,,,,,,,,,,,,,,,, : ;:, 1991,

Microsoft Word _2 課本1225_OK_0222修.doc


Microsoft Word 電腦軟體設計.doc

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Microsoft Word - KDFCClient_manual.doc

電機工程系認可證照清單 /7/1

福 斯 特 等 公 司 的 改 制 辅 导 发 行 上 市 工 作 具 有 丰 富 的 投 资 银 行 业 务 经 验 成 员 : 张 每 旭 先 生, 男, 保 荐 代 表 人,1997 年 开 始 从 事 投 资 银 行 业 务, 曾 在 福 建 省 华 福 证 券 公 司 任 职,2005 年

1 重 要 提 示 基 金 管 理 人 的 董 事 会 及 董 事 保 证 本 报 告 所 载 资 料 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 内 容 的 真 实 性 准 确 性 和 完 整 性 承 担 个 别 及 连 带 责 任 基 金 托 管 人 中 国

<4D F736F F D203220B8A8B5BCB9A4D7F7D7DCBDE1B1A8B8E6>

IPO上市月度报告

证券简称:桂冠电力 证券代码: 上市地点:上海证券交易所

长 江 证 券 承 销 保 荐 有 限 公 司 关 于 德 力 西 新 疆 交 通 运 输 集 团 股 份 有 限 公 司 之 首 次 公 开 发 行 股 票 辅 导 工 作 进 展 报 告 (2014 年 6 月 14 日 至 8 月 13 日 ) 德 力 西 新 疆 交 通 运 输 集 团 股

IPO定价及询价机制反思.docx

投影片 1

(Microsoft Word \256\325\260\310\267|\304\263\260O\277\375_\252k\250\356_.doc)

Microsoft Word - 桂电教[2008]8号.doc

教育心理学教学案例分析

nb.PDF

校友会系统白皮书feb_08

Preface

CyberLink YouCam °ïÖú

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

Sun Storage Common Array Manager 阵列管理指南,版本 6.9.0

G indd

ASUS RS300-E7 DELL PowerEdge R210 II 5 1U 超薄型伺服器 (Quad-Core Intel Xeon 3.2GHz 一顆 )(Linux Server 作業系統 )(Serial ATA 硬碟 ) 51,173 HP DL120 G7 IBM System x


SylixOS nbench 性能对比 修订历史版本 日期 原因 V /07/24 创建文档 V /11/29 修改文档模板 i

COP中文范本

冶金企业安全生产监督管理规定

PowerPoint 演示文稿

<4D F736F F D20BAECB1A6C0F6A3BAB7C7B9ABBFAAB7A2D0D0B9C9C6B1C4BCBCAFD7CABDF0CAB9D3C3B5C4BFC9D0D0D0D4B1A8B8E62E646F63>


IT认证培训(五).doc

epub 75-1


Autodesk Whitepaper A4 size

共同供應契約項次總 表 PowerConnect 8024F ( IPV6) 679, /100/1000Base-T PowerConnect , /100Base-TX ( IPV6) PowerConnect ,64

untitled

MPI编译环境的使用

Transcription:

HPC 领域常用编译器编译优化手册 曙光解决方案中心 2006 年 12 月

目 录 目 录... 2 1 GNU 编译器 (GCC)... 3 1.1. 简介... 3 1.2. 常用 Linux 系统上 GCC 编译器的版本... 3 1.3. 编译优化快速入门... 4 1.4. 一些编译优化选项说明... 4 2 PGI 编译器... 5 2.1. 简介... 5 2.2. 编译优化快速入门... 6 2.3. 一些编译优化选项说明... 6 3 Intel 编译器... 7 3.1. 简介... 7 3.2. 编译优化快速入门... 7 4 Pathscale 编译器... 7 4.1. 简介... 7 4.2. 编译优化快速入门... 8

1 GNU 编译器 (GCC) 1.1. 简介 作为自由软件的旗舰项目,Richard Stallman 在刚开始编写 GCC 的时候, 还只是把它当作仅仅一个 C 程序语言的编译器,GCC 的最初意思也只是 GNU C Compiler(GNU C 语言编译器 ) 经过多年的发展,GCC 已经不仅仅能支持 C 语言 ; 它现在还支持 Ada C++ Java Objective C Pascal COBOL Fortran 等语言 而 GCC 也不再单只是 GNU C 语言编译器的意思了, 而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了 GCC 支持硬件平台的种类特别广泛, 几乎所有有点实际用途的硬件平台,GCC 都提供了完善的支持 在目前的几乎所有的 Linux 操作系统中, 都带有 GCC 软件包 对于 HPC 领域来说, 常用的语言为 C/C++ Fortran 77/90/95 GCC 一直能很好的支持 C/C++ 和 Fortran 77 语言 在 06 年发布的 GCC 4 中, 有增加了对 Fortran 90/95 语言支持的 gfortran (GNU Fortran) GCC 编译器包括 : gcc:c 编译器 (gcc 4.1 gcc 3.3.3/3.3.4/3.4.1/3.4) gcc-ssa:c 编译器 (gcc-ssa) g++:c++ 编译器 (gcc 4.1 gcc 3.3.3/3.3.4/3.4.1/3.4) g++-ssa:c++ 编译器 (gcc-ssa) g77:fortran 77 编译器 (gcc 4.1 gcc 3.3.3/3.3.4/3.4.1/3.4) g77-ssa:fortran 77 编译器 (gcc-ssa) gfrotran:fortran 90/95 编译器 (gcc 4.1) 1.2. 常用 Linux 系统上 GCC 编译器的版本 操作系统 GCC 缺省版本性能优化推荐版本

Red Hat Enterprise Linux 3 3.4 gcc-ssa Red Hat Enterprise Linux 4 3.4.1 系统缺省版本 SuSE Linux Enterprise Server 8 3.2 3.3.3 SuSE Linux Enterprise Server 9 3.3.3 系统缺省版本 SuSE Linux 10.1 4.1.0 系统缺省版本 1.3. 编译优化快速入门 为了使大家在不了解 GCC 编译器细节的条件下, 就能更好的使用编译选项实现编译优化, 在这里给出了在 AMD64 平台上三种不同编译优化级别的编译选项 不做任何优化编译选项 : -O1 中级别优化编译选项 : -O2 mtune=generic 这一优化选项可以提高程序性能, 同时它也是一个可靠的编译选项 最高级别优化 : 编译选项 : -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops ftree-vectorize mtune=k8 1.4. 一些编译优化选项说明 -funroll-all-loops : 做循环展开, 这有可能使得可执行文件变大, 执行速度可能变快也可能变慢 ( 主要是看代码的特点, 一般计算密集型代码会提高执行速度 ) -ffast-math : 违反 IEEE/ANSI 标准以提高浮点数计算速度, 但这是个危险的选项, 仅在编译不需要严格遵守 IEEE 规范且浮点计算密集的程序考虑采用 -ftracer : 执行尾部复制以扩大超级块的尺寸, 它简化了函数控制流, 从而允许其它的优化措施做的更好, 据说挺有效 -finline-functions : 允许编译器选择某些简单的函数在其被调用处展开, 比较安全的选项, 特别是在 CPU 二级缓存较大时建议使用

-funswitch-loops : 将循环体中不改变值的变量移动到循环体之外 -fgcse-after-reload : 为了清除多余的溢出, 在重载之后执行一个额外的载入消除步骤 -fivopts : 在 trees 上执行归纳变量优化 -ftree-vectorize : 在 trees 上执行循环向量化 mtune=xxxx 选项是做针对 XXXX 平台的优化, 如 : mtune=k8 选项是做针对 Opteron/Athlon 平台的优化 pentium4 或 pentium4m : 对 Intel P4 CPU( 支持 MMX SSE 和 SSE2) 平台的优化 prescott : 对 Intel P4 CPU( 支持 MMX SSE SSE2 和 SSE3) 平台的优化 nocona : 对 64 位 Intel P4 CPU( 支持 MMX SSE SSE2 和 SSE3) 平台的优化 k8 或 opteron : 对 AMD k8 核心的 CPU(X86_64 指令集 ) 平台的优化 2 PGI 编译器 2.1. 简介 PGI 编译器是 HPC 领域经典的编译器, 是由 Portland Group 公司为基于 32 位和 64 位 AMD64 IA32/EM64T 平台提供的编译器和开发工具, 支持 C/C++ Fortran 77/90/95 和 HPF, 支持 Linux 操作系统和 Windows 操作系统 PGI 服务器级的编译器和工具适用于基于下列处理器的服务器 :32 位 X86(AMD Athlon XP/MP Intel Pentium 4 and Xeon) 64 位 AMD64 技术 (AMD Opteron Athlon 64) 以及 64 位 IA (Intel Pentium Xeon EM64T) 处理器, 支持多达 16 个运行在 Linux/x86 操作系统上的 CPU 或线程 PGI 编译器包括 : pgcc:c 编译器 pgcc:c++ 编译器 pgf77:fortran 77 编译器 pgf90:fortran 90 编译器

2.2. 编译优化快速入门 解决方案中心 为了使大家在不了解 PGI 编译器细节的条件下, 就能更好的使用编译选项实现编译优化, 在这里给出了在 AMD64 平台上三种不同编译优化级别的编译选项 不做任何优化编译选项 : -tp k8-64 -O0 (or -O1) 中级别优化编译选项 : -tp k8-64 -fast -Mscalarsse 这组编译选项将会采用除了生成向量代码之外所有的优化 ( 生成向量代码有可能变换指令执行顺序, 且有可能会对最终运算结果产生影响 ) 最高级别优化 : 编译选项 : -tp k8-64 -fastsse -Mipa=fast 这组编译优化选项包括了针对 AMD64 平台的优化 sse 代码生成 向量化 代码分析 LRE 优化和循环展开 在上面三组优化中, -tp k8-64 是对 AMD Opteron 和 Athlon64(64 位 OS) 平台的优化 ; 若是在其他平台, 则可以修改此选项 如 : -tp k8-32 : 对 AMD Opteron 和 Athlon64(32 位 OS) 平台的优化 -tp p7 : 对 32 位 Intel P4 CPU 平台的优化 -tp p7-64 : 对 64 位 Intel P4 CPU(64 位 OS) 平台的优化 2.3. 一些编译优化选项说明 -mcmodel=medium : 编译的可执行程序的数据断可以超过 2GB 的内存 -mp : 支持 OpenMP -fast : 等同于 -O2 -Munroll=c:1 -Mnoframe -Mlre -fastsse : 等同于 -fast -Mvect=sse -Mscalarsse -Mcache_align -Mflushz -Munroll=?? : 执行循环展开

3 Intel 编译器 解决方案中心 3.1. 简介 Intel 编译器是 Intel 公司针对其硬件平台开发的编译环境 它包括 Intel C++ 编译器 ( 支持 C 和 C++ 语言 ) 和 Intel Fortran 编译器 ( 支持语言 Fortran 77/90/95 以及混合 C/Fortran 语言支持 ), 支持 Linux 操作系统和 Windows 操作系统 Intel 编译器在 Intel CPU 平台上, 包括 Pentium Xeon 和 Itanium 系列, 具有非常好的性能 Intel 编译器包括 : icc:c 编译器 icpc:c++ 编译器 ifort:fortran 编译器 3.2. 编译优化快速入门 不做任何优化编译选项 : -O0 中级别优化编译选项 : -O3 最高级别优化 : 编译选项 : -xw ipo O3t 4 Pathscale 编译器 4.1. 简介 Pathscale 编译器是针对 AMD 64 平台开发的编译器, 它针对 AMD 64 平台做了很多的优化,

具有很好的性能, 特别适合于基于 AMD 64 平台的 HPC 应用 它包括 C/C++ 编译器和 Fortran 77/90/95 编译器, 支持 Linux 操作系统 在基于 AMD 64 平台的 Linux 环境下, 通过实际测试,Pathscale 是性能最好的编译 在 SPEC PolyHedron EuroBen Stream 和很多其他实际应用的 Benchmark 测试中,Pathscale 的性能最优 Pathscale 编译器包括 : pathcc:c 编译器 pathcc:c++ 编译器 pathf95:fortran 编译器 4.2. 编译优化快速入门 为了使大家在不了解 Pathscale 编译器细节的条件下, 就能更好的使用编译选项实现编译优化, 在这里给出了在 AMD64 平台上三种不同编译优化级别的编译选项 不做任何优化编译选项 : -O2 -O2 选项在编译优化方面比较保守, 但是它会提高程序编译的时间, 同时保证浮点运算的精度 中级别优化编译选项 : -O3 -O3 选项比 -O2 选项会延长编译时间, 但加大代码的编译优化 最高级别优化 : 编译选项 : -Ofast -Ofast 选项等同于 -O3 -ipa -OPT:Ofast -fno-math-errno