ICC 与 GCC - 优化和 CPU 架构

2023-11-27

我有兴趣了解 GCC 在优化级别和迎合特定处理器架构方面与英特尔的 ICC 有何不同。我正在使用适用于 Linux 的 GCC 4.1.2 20070626 和 ICC v11.1。

ICC 的优化级别(O1 到 O3)与 GCC 有何不同(如果有的话)?

ICC 能够专门满足不同的体系结构(IA-32、intel64 和 IA-64)。我读到 GCC 有-march我认为类似的编译器选项,但我找不到要使用的选项列表。我使用的是 64 位 Intel Xeon X5570。我可以使用任何其他 GCC 编译器选项来满足我的 64 位 Intel CPU 的应用程序的需求吗?


icc -O2 -unroll2大致相当于gcc -O3 -ffast-math -fno-cx-limited-range -funroll-loops --param max-unroll-times=2
gcc -O1 不会为任一编译器启用 SIMD 自动矢量化,因此差异较小。

没有选项的 ICC 默认启用优化并且-fp-model=fast=1(比gcc -ffast-math),但 GCC 默认为-O0。 (还-fno-fast-math即使gcc -O3. Only gcc -Ofast启用像 ICC 默认值一样的快速数学。)

-march=native是使用构建机器的完整指令集的 GCC 选项。国际商会支持-march=native相当于自己的-xHost选项。在提出这个问题时,该 ICC 选项可能仅适用于 Intel CPU。

GCC 可以配置为-m64 or -m32作为默认值,但同一编译器可以编译任一位数的二进制文件。 ICC 提供单独构建的编译器以针对 64 位或 32 位模式;如果两者都安装了,icc 希望您通过获取其路径设置脚本来进行选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ICC 与 GCC - 优化和 CPU 架构 的相关文章

随机推荐

  • 重置 C/C++ 预处理器 #line 物理文件/行

    我有一个代码生成器 它将获取一些用户编写的代码并将其块嵌入到更大的生成文件中 我希望底层编译器在用户代码中存在缺陷时提供良好的诊断 但我也不希望生成的代码中的缺陷在不应该的情况下被错误地归因于源代码 我打算发射 line lineNum s
  • 从不同数据框中的Excel读取多个选项卡

    我正在尝试将电子表格中的多个选项卡读取到不同的数据帧 一旦所有带有数据的选项卡都结束 程序就应该停止 对于第一部分 我想做类似的事情 xls pd ExcelFile Unique xlsx for i in range 1 n n sho
  • 在groovy中创建Arraylist和Hashmap有哪些不同的方法

    我创建了一个如下所示的 ArrayList def list new ArrayList 但 Codenarc 报告警告如下 ArrayList objects are better instantiated using the form
  • WebView拒绝显示图像

    我读过很多关于这个问题的帖子 其中大部分都是旧的 所以我正在创建一个新的帖子 从 React Native v0 61 5 开始 我的问题 我正在检索网页及其引用的文件 将它们写入应用程序的文档文件夹 并尝试将它们加载到 WebView 中
  • 如何在Checkstyle中检查“局部变量/字段的值未使用”?

    如何检查The value of the local variable is not used and The value of the field is not used使用检查样式 Eclipse 中有一个关于此的警告 但Checkst
  • 我如何知道我的系统支持哪个opengl版本

    看一下这个非常基本的 C 代码 if glfwInit return 1 glfwWindowHint GLFW SAMPLES 4 glfwWindowHint GLFW CONTEXT VERSION MAJOR 3 glfwWindo
  • Android 权限(我们在清单文件中定义)与相应 API 调用/方法之间的映射

    在哪里可以找到 Android 权限 我们在清单文件中定义 与相应 API 调用 方法之间的映射 例如 GET ACCOUNTS is a permission type which maps to getAccountsByType ge
  • “导入模块”是否比“从模块导入函数”更好的编码风格?

    Let from module import function称为 FMIF 编码风格 Let import module称为 IM 编码风格 Let from package import module称为 FPIM 编码风格 为什么 I
  • 具有多线程服务的数据库连接池

    我有一个 NET 4 C 服务 它使用 TPL 库进行线程处理 我们最近将其切换为也使用连接池 因为一个连接正在成为处理的瓶颈 以前 我们使用 lock 子句来控制连接对象上的线程安全 当工作备份时 队列将作为任务存在 并且许多线程 任务
  • 从没有虚拟析构函数的类继承

    我一直听说你不应该从没有虚拟析构函数的类继承 并且我没有太注意 因为我只是不经常使用继承 即使您不想使用多态性 但您只想要类的所有功能 并且想要添加更多功能 此规则是否也适用 具体来说 只要我不以多态方式使用以下类 它是否安全且具有明确定义
  • 将 Boost FileSystem3 迭代器转换为 const char*

    我正在使用 Boost FileSystem 3 循环遍历目录中的某些文件 我需要将文件名转换为另一个库的 char 不幸的是我的 C foo 缺少 任何人都可以帮忙吗 int main int argc char argv path p
  • 编写每 5 分钟执行一次的 python 脚本

    我需要编写一个 python 脚本 该脚本在启动时自动启动 并在树莓派上每 5 分钟执行一次 如何才能做到这一点 特别是 如何避免脚本锁定运行无限循环的 cpu 等待 5 分钟结束 您可以轻松使用cron用于此任务 安排运行 Python
  • 强制具有特定注释的方法具有特定参数/签名

    我有一个注释 import java lang annotation ElementType import java lang annotation Retention import java lang annotation Retenti
  • Android:让 WebView 显示位图的最简单方法?

    我有一些从存储在位图变量中的远程源加载的图像 我想显示它们 除了在这些图像之间切换之外 用户还应该能够缩放和平移它们 我的第一个想法是以某种方式通过意图将它们传递到内置图库应用程序 但这似乎不可能 在多个地方建议的解决方案是使用 WebVi
  • 检测是否支持事件监听器

    是否可以检测某些浏览器是否支持某些事件 我可以检测浏览器是否支持document addEventListener 但我需要知道它是否支持该事件DOMAttrModified Firefox 和 Opera 支持它 但 Chrome 和其他
  • javax.net.ssl.SSLProtocolException:证书链长度 (11) 超出允许的最大长度 (10)

    我很挣扎 因为我的 java MVC Web 应用程序在尝试创建具有特定 https 地址的 WebService 时开始抛出异常 https barramento caixa gov br sibar ManutencaoCobranca
  • 如何从 C# 调用 JavaScript - Cordova/PhoneGap

    我正在使用 cordova phonegap 制作一个 Windows Phone 应用程序 我试图在事件触发时从 C 调用脚本 有办法做到这一点吗 到目前为止 这是我的课程 public void register string opti
  • 如何从Spring Batch Processor process()方法向Spring Batch作业启动方法抛出异常?

    我有 Web 服务方法来启动 Spring Batch 作业 如果 Spring Batch 处理中发生任何异常 控制将返回到处理器处理方法 但我需要控制器返回到网络服务方法 我必须捕获并编码以通过电子邮件发送该异常 网络服务方法 publ
  • 如何在 Mac OSX 上轻松切换 PHP 版本?

    我想在 PHP 5 3 到 PHP 8 2 上测试我的应用程序 在哪里以及如何安装版本以及如何通过运行小脚本来切换它们 如果您安装了两个版本的 PHP 则可以使用以下命令在版本之间切换link and unlink brew命令 例如 在
  • ICC 与 GCC - 优化和 CPU 架构

    我有兴趣了解 GCC 在优化级别和迎合特定处理器架构方面与英特尔的 ICC 有何不同 我正在使用适用于 Linux 的 GCC 4 1 2 20070626 和 ICC v11 1 ICC 的优化级别 O1 到 O3 与 GCC 有何不同