当前位置:  开发笔记 > 编程语言 > 正文

英特尔凌动的GCC优化标志

如何解决《英特尔凌动的GCC优化标志》经验,为你挑选了4个好方法。

我正在为英特尔凌动处理器开发性能关键应用程序.

这个CPU有哪些最好的gcc优化标志?



1> Jörg W Mitta..:

GCC黑客之一Scott Rober Ladd 有一个名为Acovea的酷框架(通过进化算法分析编译器选项).它是一种遗传/进化算法框架,试图通过自然选择优化特定代码片段的GCC优化标志.

它的工作原理如下:你编写了一小段基准代码(它实际上必须很少,因为它将被重新编译并执行数千次),它代表了你想要优化的大型程序的性能特征.然后,Acovea随机构建了几十个不同的GCC命令行,并编译并运行每个命令行的基准测试.然后允许这些命令行中的最佳命令"交配"和"繁殖"新的"孩子",这些孩子(希望)从他们的"父母"继承最好的"基因".这个过程重复了几十个"代",直到出现一组稳定的命令行标志.


该链接不起作用

2> user7305..:

GCC 4.5将包含-march = atom和-mtune = atom选项.

资料来源:http://gcc.gnu.org/gcc-4.5/changes.html



3> pixelbeat..:

我有一个脚本,可以自动为CPU和编译器组合选择适当的标志.我刚刚更新它以支持Intel Atom:

http://www.pixelbeat.org/scripts/gcccpuopt

更新:我之前为Atom指定了-march = prescott,但是查看更多信息表明Atom符合ISA标准,因此-march = core2更合适.但请注意,Atoms是有序内核,其中最后一个是原始的pentium.因此,对于-mtune = pentium也可能更好.不幸的是我没有Atom可以测试.我真的很感激,如果有人可以对这些差异进行基准测试

-march=core2 -mfpmath=sse -O3
-march=core2 -mtune=pentium -mfpmath=sse -O3

更新:以下是一些关于Atom低级优化的好文章:

http://virtualdub.org/blog/pivot/entry.php?id=286

http://virtualdub.org/blog/pivot/entry.php?id=287



4> 小智..:

好吧,Gentoo wiki表示赞成:

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Atom_N270

CHOST = "的i686-PC-Linux的GNU"

CFLAGS =" - march = prescott -O2 -pipe -fomit-frame-pointer"

CXXFLAGS = "$ {CFLAGS}"

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有