GCCの最適化したインテルAtom[定休日]
-
02-07-2019 - |
質問
の開発をしているパフォーマンスが重視される申請のためのインテル®Atom™プロセッサー.
何のgccの最適化フラグこのCPU?
解決
GCC4.5が含まれまでの月=原子-mtune=原子です。
他のヒント
があり涼しい枠組みとして Acovea解析のコンパイラのストックオプション(進化的アルゴリズム), により、スコットRober LaddのGCCの記事を日本語訳したものです。この遺伝子進化アルゴリズムの枠組みとその最適化GCCの最適化した特定のコードは通は自然選択の結果である。
この作品のようなこと:う少し書きのベンチマークコード( 本当に きちなので、しっかり再コンパイルされた行数千倍)を表す特性の大きなプログラムしたい最適化.その後Acoveaランダム構築も数十GCC commandlines、統と自のベンチマークおすすめします。最高のこれらのcommandlinesることが許されますが、"メイト"および"品種に"新しい"子"のば受け継ぐ最高の"遺伝子"から"親"。このプロセスを繰り返すために何十も"世代"まで、安定したセットのコマンドラインの旗が描かれます。
私はスクリプトが自動車を選定し、適切なフラグをおCPUやコンパイラの組み合わせです。私だけでポインテルAtom:
http://www.pixelbeat.org/scripts/gcccpuopt
更新:私は以前に指定された月=プレスコットのための原子も見られるおそれがあります この原子がmerom ISAの対応のため、月=core2がいっそう適切である。ただし、原子の中のためのコアの最後の方の元のpentium.そこではあるんじゃないでしょうかよ-mtune=pentiumしています。残念ながらない 原。ことに感謝していれば誰でもこのベンチマークのdiff間:
-march=core2 -mfpmath=sse -O3
-march=core2 -mtune=pentium -mfpmath=sse -O3
更新:こちらはカップルでのコラボレーションは低レベルの最適化のための原子:
でも、ジェンツーペンギンwikiをプレスコット:
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Atom_N270
CHOST="i686-pc-linux-gnu"
CFLAGS="月=プレスコット-O2-パイプ-fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
インテルから, はじめに以下のウェブサイト
場合に使用されるコンパイルがおすすめフラグを使用
- -O2または-O1:O2フラグを最適化速度が、-O1フラグを最適化のためのサイズ
- -msse3
- 月=core2
- -mfpmath=sse
ようためのPentium4:
-march=prescott -O2 -pipe -fomit-frame-pointer
わからない場合はGCCには、原子固有の最適化旗しかし、その原子核となるものと類似のものPentiumは、非常に重要なのMMX/SSE/SSE2/SSE3/SSSE3命令セット。もちろん、これだけ大きな違いがコードする浮動小数点またはDSP-。
あとだれかい:
gcc-O2-月=pentium-mmmx-msse-msse2-msse3-mssse3-mfpmath=sse
こちらは一部のクロスpollenationのブログ...何かを期待したfirefox-コンパイルされていた原子のベンチマーク...
住所:http://ivoras.sharanet.org/blog/tree/2009-02-11.optimizing-for-atom.html
"としても、gccが表示されないもの雇用とmtune=ネイティブ、およびmtune=genericは可能です。得る利益の最大(この数-重ベンチマーク)からのものを使用SSEのための数学でも破壊されるチューニングpentium4.
"との違い最速の送の最適化は21増となります。の影響を月替わりのmtuneが無視できない十分な違いをします。
"(まk6で-知ってい原子ではない3dnow)
"レイト更新チューニングk8(SSEとO3)利回りが若干高くなベストスコア182."
i686に最も近い.なんかcore2.
GCC4.1-O3-月=i686 GCC4.3-O3-月=ネイティブ
GCC4.1-O4-ffast-math GCC4.3-O4-ffast-math
http://macles.blogspot.com/2008/09/intel-cc-compiler-gcc-and-intel-atom.html