首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您的位置:我也知道>电脑/网络> gcc至强优化标志?

您的位置:我也知道>电脑/网络> gcc至强优化标志?
EN

Stack Overflow用户
提问于 2009-06-03 09:02:09
回答 6查看 41K关注 0票数 35

我想要你的输入,在为至强进行优化时,使用哪个gcc编译器标记?

在mtune和三月中没有'xeon‘,那么哪一个是最接近的匹配呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-03 11:10:37

Xeon是一个营销术语,因此它涵盖了一长串具有非常不同内部结构的处理器。

如果你指的是更新的Nehalem处理器(核心i7),那么this slide指出,从4.3.1开始,gcc应该使用-march=generic (尽管你自己对应用程序的测试可能会发现其他设置优于这个设置)。如果您希望优化FP数学的这一方面,4.3系列还添加了-msse4.2。

这是some discussion将英特尔编译器中的调优与一些gcc标志进行比较。

票数 7
EN

Stack Overflow用户

发布于 2014-08-02 22:00:35

最近的GCC /至强的更新。

  • Xeon (E3-12xx系列、E5-14xx/24xx系列、E5-16xx/26xx/46xx系列)。

GCC的-march=corei7-avx < 4.9.0或GCC的-march=sandybridge >= 4.9.0。

这将为沙桥启用Advanced Vector Extensions support以及AES和PCLMUL指令集。以下是来自GCC i386/x86_64选项页面的概述:

含64位扩展的英特尔酷睿i7处理器,支持MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AES和PCLMUL指令集。

  • Xeon (E3-12xx v2系列、E5-14xx v2/24xx v2系列、E5-16xx v2/26xx v2/46xx v2系列、E7-28xx v2/48xx v2/88xx v2系列)。

GCC的-march=core-avx-i < 4.9.0或GCC的-march=ivybridge >= 4.9.0。

这包括沙桥(corei7-avx)选项,同时还添加了对新的常春藤指令集的支持: FSGSBASE、RDRNDF16C。在“GCC选项”页面:

含64位扩展的英特尔酷睿处理器,支持MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AES、PCLMUL、FSGSBASE、RDRND和F16C6指令集。

  • Xeon (E3-1xxx v3系列、E5-1xxx v3系列、E5-2xxx v3系列)。

适用于GCC的-march=core-avx2 4.8.2/4.8.3或适用于GCC的-march=haswell >= 4.9.0。

在“GCC选项”页面:

含64位扩展的英特尔哈斯韦尔处理器,MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、POPCNT、AVX、AVX2、AES、PCLMUL、FSGSBASE、RDRND、FMA、BMI、BMI2和F16C指令集支持。

  • Xeon (E3-12xx v4系列、E5-16xx v4系列)

用于GCC的-march=core-avx2 4.8.x或用于GCC的-march=broadwell >= 4.9.0。

在“GCC选项”页面:

含64位扩展的英特尔Broadwell CPU,支持MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、POPCNT、AVX、AVX2、AES、PCLMUL、FSGSBASE、RDRND、FMA、BMI、BMI2、F16C、RDSEED、ADCX和PREFETCHW指令集。

  • Xeon (E3-12xx v5系列)和 Xeon (E3-12xx v6系列):

适用于GCC的-march=core-avx2 4.8.x或适用于GCC 4.9.x的-march=skylake或适用于GCC的-march=skylake-avx512 >= 5.x

AVX-512是256位高级矢量扩展单指令多指令集指令的512位扩展。

在“GCC选项”页面:

含64位扩展的英特尔Skylake服务器CPU、MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、POPCNT、PKU、AVX、AVX2、AES、PCLMUL、FSGSBASE、RDRND、FMA、BMI、BMI2、F16C、RDSEED、ADCX、PREFETCHW、CLFLUSHOPT、XSAVEC、XSAVES、AVX512F、AVX512VL、AVX512BW、AVX512DQ和AVX512CD指令集支持。

  • Xeon (E-21xx):-march=skylake-avx512.
  • Xeon (白金8200/9200系列、金牌5200/6200系列、银牌4100/4200系列、青铜3100/3200系列):-march=cascade-lake (需要gcc 9.x)。

在“GCC选项”页面:

启用MOVBE、MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、POPCNT、PKU、AVX、AVX2、AES、PCLMUL、FSGSBASE、RDRND、FMA、BMI、BMI2、F16C、RDSEED、ADCX、PREFETCHW、CLFLUSHOPT、XSAVEC、XSAVES、AVX512F、CLWB、AVX512VL、AVX512BW、AVX512DQ、AVX512CD和AVX512VNNI。

AVX-512 Vector Neural Network Instructions (AVX512 )是一个x86扩展,是AVX512-512的一部分,旨在加速基于卷积神经网络的算法。

  • Xeon (白金、黄金、银牌、铜牌):-march=cooperlake (需要gcc 10.1)。

开关启用AVX512BF16 ISA扩展。

要了解编译器将如何处理-march=native选项,您可以使用:

代码语言:javascript
复制
gcc -march=native -Q --help=target
票数 64
EN

Stack Overflow用户

发布于 2009-06-03 12:17:25

较新版本的gcc具有-march=native,它可以让编译器自动确定最佳-march标志。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/943755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档