intel compiler for Linux
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001login:Penguin
01/11/29 17:53ID:5k7yf0aiintel 社の Web ページ
URL:<http://developer.intel.com/software/products/eval/>
の、"Non-Commercial Unsupported Software(非商用、サポート無し)" から、
RedHat系Linux 6.2 または 7.1 に対応した IA-32 や IA-64向きの
最適化C++,Fortran9x用のコンパイラ(version 5.0.1) が無料で
ダウンロードできるようになっています。
(詳しいライセンス条件は、ダウンロード時に表示される文書を
参照してください。)
intel 自身が作ってますので、インテル系のCPUの資源を活用できる
実行ファイルが生成されるます。(AMD の Athlon も Pentium III と
みなしてコンパイルオプションを選べばMMX機能などを使うことが可能です。)
以下は、「無料永続版」を入手した後で、それを実際に使えるようにする
ための設定方法の記述です。
C++ と fortran9x を両方ともインストールする例を書いていますが、
どちらかだけしか必要ない場合は、片方を省略することができます。
例は RedHat6.2 系統向けになっていますが、7.x 向けの場合でも大体同様です。
(Web ページからダウンロードしてくるファイルが違うだけです。)
ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
0809login:Penguin
03/12/10 22:12ID:p/JFC5chNon-Commerical Licenseだと icc Version 8は取れないのかな?
0810login:Penguin
03/12/10 23:19ID:GiTuTJ3uメジャーバージョンアップだから
普通にintelのサイトから8.0のサポート無し版を落として
プレミアに製品の追加登録するんじゃないの?
と思ったけど、新ライセンス送付のあて先にプレミアに登録したアドレスを
指定すると、自動的にプレミアサポートに製品情報が追加されてるぽ
よくわからん文章ですまん
0811login:Penguin
03/12/11 01:40ID:5Yg2lmfhうーん、www.intel.com -> software -> Intel C Compilerとたどっていって、
非商用サポート無しを登録した後に、premirerサポート見ても追加されないんですよねぇ。
なんか手違いしているのか、あるいは反映に時間かかるのかもしれないので、
二、三日様子をみてみます。
0812809,811
03/12/11 02:17ID:5Yg2lmfh普通に version 8になってますた。メールを良く読まなかったワタクシの落ち度です。
これからなんか試してみます。
0813809,811
03/12/11 08:39ID:5Yg2lmfh手元にある Redhat Linux 9では入らず。どっかに古い Linuxの CD無いかな(つД`)
現在 isoイメージを入手出来て、VTuneを動かすのに最適な Linuxって何なんでしょうねぇ。
SuSEも見に行ってみましたが適当なイメージが見つからず、
RedHatも古いイメージは見つからず(つД`)
0814login:Penguin
03/12/11 10:43ID:NFnufR73赤帽の古いのなら
ftp://ftp.sfc.wide.ad.jp/pub/Linux/redhat/linux/
から色々取れますよん。
0815login:Penguin
03/12/11 14:36ID:LT6uuRQJダウンロード出来ねぇ。
ホンコン鯖にアクセスしたら、一度ダウンロードが始まったが、
半分位までいったところで突然ソースファイルが見つからないと叱られた。
こみ合ってるんだろうねぇ...
ところで、intelはwinな鯖を使ってるのだろうか...
何やかんやとあそこのサイトにアクセスしてるとトラブルが起こる。
0816login:Penguin
03/12/11 19:48ID:2kSMVJY9XLsoftからの案内だとコンパイラも8.0からRedhat9に対応したと
書かれているから、VTuneも近いうちに新版がでるかも。
あとfortranはimslを含んだprofessional版が近日発売と書いてあったな。
ちなみにiccってgccよりもどの辺が優れているの?
0817login:Penguin
03/12/11 20:46ID:ic2n9UX1すべて
0818login:Penguin
03/12/12 12:12ID:A4ah+nvE少なくとも価格とか入手の容易さでは負けているよね。
0819809,811
03/12/12 15:16ID:vkMOhnyzIntelコンパイラが Redhat 9に対応って書いてありましたねぇ。
VTuneはバージョン低いスギだしw
Redhat9を Kernel 2.4.18に下げたらパニックしてダメだったので、
VTune側でRedhat9に対応して頂きたい所存(切実
0820login:Penguin
03/12/13 00:32ID:6ENh9c3+ifc7に比べて遅いんだけど.
0821809,811
03/12/13 01:29ID:LS7LpJ74どうも再現性がないが、たまーにいい数字が出る。
ifc8 XS: 418.5000, S: 450.7581, M: 439.8625
ifc7 XS: 444.6562, S: 439.9207, M: 432.5538
ifc7での XSの数字がよいように見えるが
何回やってると 410くらいの数字がちらほら出るので一定してない。
明確にどっちがいいとも言えないなぁ。
0822login:Penguin
03/12/13 11:37ID:6ENh9c3+2.6Cの割に数値が低いね.win版?
0823login:Penguin
03/12/13 14:44ID:Ro2jdgnUいや、ソースを拾ってきて icc for Linux on Redhatでコンパイル。
ランキングとの比較で遅い気がして測りなおしたら icc版で 900程度出てますた。
ifc7, ifc8でも明確に差があったんで、週明けにでも書きます。
0824login:Penguin
03/12/14 04:51ID:jCkO6MoxICC用に一括置換するスクリプト組もうと思うんですが、
オプションの違いが不安なので、その辺り教えて頂けると嬉しいのですが…。
# もしかして既出?
0825809,811
03/12/14 18:47ID:w4UzkkZPiccで 900程度出たのも 姫野ベンチ98(;´д⊂ 懲りずに、今度こそ himenoBMTxpでの計測結果。
http://w3cic.riken.go.jp/HPC/HimenoBMT/program1.htm から取ってきたソースを、
オプション -O3 -tpp7 -xiMKW -Vaxlib でコンパイルしました。
測定環境は Pentium4 2.6C。単位は MFLOPS
ifc7 & Fortran77: 617
ifc8 & Fortran77: 548
gcc & Fortran77: 429
icc7(static): 602
icc8(static): 337
ifc8も icc8も性能低すぎるような。
そして、姫野ベンチのランキングに乗ってるマシンは何であんなに速いんだろ?
カーネルのチューニングとかも必要なのだろうか
0826懲りずに姫野ベンチ809
03/12/14 19:45ID:w4UzkkZPifc7 & Fortran77: 617 -> 705 MFLOPS
icc7(static): 602 -> 638 MFLOPS
http://w3cic.riken.go.jp/HPC/HimenoBMT/himenoBMTresSMALL1.pdfの、
チート無しで icc, ifc使ってるあたりで参考になりそうなのだと、
25位の Pentium4 2GHzで 750……。
小手先の改良じゃまだ追いつけないな。
何か足りないか設定変なのか(;´д⊂
0827login:Penguin
03/12/14 22:02ID:lf80yPW7私も姫野benchをwindows xpでバイナリとiflでコンパイルした物を両方
動かしてみましたが、バイナリでは600を超えるのにiflで造った方は350前後
しか出ませんでした。(ifl7.1,8.0/P4-3GHz)
やはり何か工夫が必要なのでしょうかね。
体感的にはこの数字ほどiflが遅いようには思えないのですが。
0828login:Penguin
03/12/15 08:07ID:cbcpH3vl-tpp7を-tpp6でやってごらん!
0829三つの女の子
03/12/23 11:14ID:QCWtAyCy特に make.inc の書き直し方。
MKLとどっちがよいでしょうか?
0830login:Penguin
04/01/01 01:21ID:po+KK1Hrただ、IA-64用のlibgotoはZHEGVでエラーが出る。よろしく後藤さん!!
0831login:Penguin
04/01/04 14:52ID:HKxDF7PCLAPACKもなかなか構築できんし。>>829 さん有用な情報が入手できたら教えて下さい
0832login:Penguin
04/01/04 21:59ID:60Guqh70atlasじゃだめなの?atlasはlapack+blasですよ。
0833login:Penguin
04/01/06 17:54ID:nP+rFpvw> a newly supported IA-32 Linux* distribution has been added, SuSE* Linux* 8.2.
> Refer to the Release Notes for more details.
SuSe 8.2をサポート!
これなら まぁまぁ新しいのでインストールに耐えるような
0834831
04/01/07 22:47ID:TrdAH3pz勿論atlasは使用可で、速度を求める時は良い選択肢ですが、もっとしょーもない
所で悶々としてます。
g77でビルドしたモノを使う時はg2cが必要になりますよね(←この認識正しい?)
するてえと、例えばlapack(g77)をifcから使う時 -lg2c とかついて、fortranライブラリを
fortranから使うのにg2cってのもなんだかなぁ。。。てな気分になるんですよ。
(atlasなら仕方がないってな気分になれますが)
やれrow-majorだcolumn-majorだとか言語間相違の話が面倒でfortranに移住した
(気は進まんが)んで、やるからにはfortranの世界で閉じたいなって気持で >>831 を書きました。
// しょーもない動機でスマソ。 同じ様な考えの方いらっしゃいます?
0835login:Penguin
04/01/12 01:10ID:Tb0eKosVよいものだ。だが、32ビットアドレスはもういい加減にせま過ぎる、
かといってイタニウムのシステムはコストパフォーマンスがWS並に悪い。
ではAMD64かといえば、こちらはコンパイラが高かったりまだボロい。
AMD64用のGCCもF77も大きな配列を(MALLOCなどでダイナミックに取る
のではないかぎり)まだまともに扱えないバグがコンパイラにもリンケージ
エディターにもある。なんといってもF90が無料で手にはいらない。。。
0836login:Penguin
04/01/12 01:30ID:LZPkgde+>コンパイラが高かったりまだボロい
ボロいのソースとかはある?それともまだ枯れてないっていう一般的な話?
# 断じて煽りではないです。念の為
0837login:Penguin
04/01/12 04:47ID:++QQKFNLMKL/IPPなどまで揃ってる Intelに対して、AMDの、
・AMD CodeAnalyst? Performance Analyzer
・AMD Core Math Library
あたりってどーなんですかね。
0838login:Penguin
04/01/12 13:22ID:+GCBR8oGちょい話はずれるが、それよりも鉄板なコンパイラが欲しいよね。
ライブラリはnetlibからなんとかできなくもないし
0839login:Penguin
04/01/12 15:36ID:++QQKFNLんだねー、渇望されている通り、コンパイラがしょぼい。
gcc3.3.1はちゃんと動くバイナリを吐くけど、性能があんまり劇的にいい訳でも無いし。
そういえば、Athlon64で -m64でもパフォーマンス上がらないので
疑問に思い物理レジスタの数を調べてみたら、
Pentium4: 128本
Athlon: 70
Pentium3: 60
くらいあるらしく、そりゃユーザから見えるレジスタが増えたところで
パフォーマンスにはあんま関係ないよな、と思った今日この頃。
昨今の CPUは滅茶苦茶に手強い_| ̄|○
0840login:Penguin
04/01/14 01:50ID:bxmMbzPtAUTOの配列の場合、1個あたり2GBを超える配列は取れない。
STATICの配列の場合、1個で4GBを超える配列は取れない。
STATIC配列では一個が大きくなくても、合計で4GBを超える配列は取れない。
大きなメモリ−を割り当てる唯一の方法は、MALLOCとかCALLOCなどで
動的に配列を割り当てること。Cならこれでメモリサイズの制約から
逃げるしかない。
しかしこの方法はFORTRANのみでソースを書きたい場合には
そもそも使えない。FORTRANを呼ぶCのメインルーチンの中で配列を
CでアロケートしてからFORTRANを呼ぶしかない。
0841login:Penguin
04/01/14 01:59ID:+Zlg5/9mPGIやAbsoftのF90だったら大丈夫・・・なんだよねぇ?買う価値ありかなぁ?
0842三つの女の子
04/01/14 13:54ID:j0lilwyFLAPACK と LAPACK95 のコンパイルに関しては以下のページが
参考になります。ただし、ifc (ver.7.0/7.1)でないとだめです。
ifort(ver.8.0)はまだ不安定なので build できません。
http://atlas.riken.jp/~shinkai/cactus/LinuxPCcluster.html
pgi, absoft は安定してますが、コンパイラ自体の開発速度が遅いです。
intelは開発速度が速いのとcompaqの部隊が入ったのでcompaq fortranの
know-howが投入されている面はよいのですが、ver.8.0はまだ感心しません
(自動並列化機能はまだまだ)。
IA64では itanium が良いか opteron が良いかご存じの方ご教示ください。
0843三つの女の子
04/01/14 13:57ID:j0lilwyFfortran90/95 なら allocatable 文が使えますので変数の
ダイナミックアロケーションが可能です(C言語での
MALLOCとかCALLOCなどと同じ)。
コンパイラは ifc が使用可能。
0845三つの女の子
04/01/14 22:41ID:zTMOLIO4うまく行かなかったらまた書き込んでください。
本当は自分のHPで板を作りたかったのですが、素性が分かってしまいますので…。
ifc7.1では static でリンクしないと駄目です(駄目ではないのですが -lg2c しなくても良いと言うことで)。
0846login:Penguin
04/01/15 19:28ID:ArKMzJlc<a href=843 target=_blank>> 843
配列って整数でindex付けをするので2GB or 4GBになってしまうのでしょうか?
integer*8 で配列がアクセスできるようになっているのって、あんまり聞いたことがない。
0847login:Penguin
04/01/21 14:45ID:nsDVVSKGifortはfedoraで動きますか?
0848login:Penguin
04/01/21 14:54ID:nsDVVSKGスマソ、>>790に出てました。
0849login:Penguin
04/01/22 10:06ID:Bci0KX1Jrpmを展開するところでコケる。
で、試しにver7.1の最新版1.038を入れてみたら入った。
コンパイルも無問題。実行速度はまだVer7.1が速いから
結果としてウマ〜でした。
しかし何でVer8の方が遅いのかなぁ...
0850login:Penguin
04/01/23 19:13ID:IR9RC7C4Pen4 2.4C+kernel2.6.1smpで、ifort の -parallel オプションを
指定すると10〜20%速くなる。まだifc7.1より少し遅いけど
自動並列化ってスゴイのね。Hyper-Threadではなくて
ホンモノsmpマシンなら期待できるのかな。
しかし time コマンドが smp に対応してないから user > real
とかになってしまう。他のコマンドってあります?
0851login:Penguin
04/01/24 16:31ID:Q/PIQoM00852login:Penguin
04/01/25 11:52ID:CmZotflgifc7で-parallel付けるとどうよ?
ifc8で-parallelの性能が良くなったってこと?
0853login:Penguin
04/01/25 17:55ID:qimvXVp10854login:Penguin
04/01/25 23:20ID:FZIMeuhpそら囲い込みのためにやってるのに、無理っしょw > AMD64
姫野ベンチに -parallelだとコア吐いてしぬ。
「こんな速くなるよ!」といういいサンプルないかな
0855login:Penguin
04/01/26 07:58ID:LWHgRXy60856login:Penguin
04/01/26 15:39ID:TQuitOiwプロセッサごとの user time を表示するヤツとか。
>>852
ifc7 -parallel だと、プロセスはフォークするけど実行は1cpuのみで、
topでみても cpu は合計でも最大 100% の user 時間
ifc8 -parallel だとちゃんと2cpuで実行する。topでみると cpu の state は
合わせて 170% とかになってる。
0857login:Penguin
04/01/27 12:54ID:ManW0tcR2CPUで計算している様子は無い.
0858login:Penguin
04/01/28 00:42ID:TrMecqbSifort で -parallel つけてLAPACKを作ってifc7+MKL6.0 と比較してみた。
計算は複素対称行列の対角化がメイン。で、結果はハイパースレッド、スゴッ。
ホンモノsmpマシンでも試したい、けど、おぷてろんじゃダメだろな...
==> testV7 <==
Time : 112.56 0.09 112.65 ← プログラム内の etime で計測
real 1m52.719s ← time コマンドの結果
user 1m54.605s
sys 0m0.105s
==> testV8 <==
Time : 88.08 0.40 88.48
real 1m30.275s
user 2m41.601s
sys 0m0.642s
0859login:Penguin
04/01/29 01:30ID:PQwhYO8S0860login:Penguin
04/01/29 11:44ID:6+2++KnTモノは普通のバンド計算のハミルトニアン。
で、-parallel をつけても並列実行できないケースもありますね。
コンパイラが理解できるようにソースをイジらないとダメかな。
0861login:Penguin
04/01/29 22:48ID:5ZgL/2moないならOpenMPのほうてっとり早いような。
自動並列と共存できるし。
0862login:Penguin
04/01/31 01:39ID:jAz+y1ncエルミート対称の場合はハウスホルダー法+帯2分法が使えますが。。。
そうじゃないと、ヘッセンベルグ行列と格闘しなくちゃいけなくなる。
0863login:Penguin
04/02/02 12:22ID:FGkL9Y8/プレミアにある最新パッチを当てたけど
速度はほとんど変わらなかった。
早く -xP オプションを試してみたい...
0864login:Penguin
04/02/03 09:26ID:r050Aky7「1 I とか 「I 1+I
I 1」 1+I 2」
複素数のエルミ-ト行列 (対称位置の要素は複素共役になっている.対角は実)
「1 -I
I 1」
0865login:Penguin
04/02/04 12:49ID:v2Gz3VMd発見した人いない?
0866login:Penguin
04/02/04 18:30ID:Uh+JCxfwP4のsmp環境で変な値になって計算が終了してしまう。
0867login:Penguin
04/02/04 21:08ID:v2Gz3VMdそれは良くある。シリアル計算で経験した人居ない?
特にifc7.0と7.1の差とかで。
0868login:Penguin
04/02/04 23:41ID:x9P5bcIJ俺もifc7.0はSMP環境で自作コードでよくコケた覚えあり。
ifc7.1や8.0では今のところ問題は出ていないです。
バージョンの差で思い出したが
Linux版よりWin版の方が速いことが多い。
0869login:Penguin
04/02/05 23:54ID:6NWo9Dvqコンパイラの性能のせいだな。
0870login:Penguin
04/02/11 16:59ID:SOp8ep6lreal(8) A(16384,16384)
でエラーになってしまいます。
配列のサイズを 2147483647 バイト以上に
とることはできないのでしょうか?
0871login:Penguin
04/02/11 17:58ID:/3PgTqY30872login:Penguin
04/02/12 03:20ID:e8ytX48lOpenMPでプログラム書いているんだけど,イマイチしっくりこない.
Segmentation faultでコケる.
大体,シリアルのコードで-openmpのオプションを入れるだけで
Segmentation faultってのが悲しい...
一般的な原因って何?
0873login:Penguin
04/02/12 05:59ID:/VNVhUc8コンパイルオプションに"-MT" つけてる?
とりあえずコンパイルオプション熟読
・コンパイルの際に並列化前のプロファイルを用いている
とりあえずコンパイルの際にそのプロファイルを利用しないようにする
# 以下ついでに
・"parallel"の位置が変
妙なところにつけると、逐次処理する必要があるコードまで間違って並列化される
・初期化済みの変数に"private"を指定している
初期化された変数を並列化されたそれぞれのスレッドに個別に割り当てるには"first private"
・並列化の対象とするループの中身がおかしい
"private"にする必要がある場合は、必ず記述する。
ループ内で使用する変数をチェック。各スレッドが同じ共有変数に書き込んでいない?
並列化領域内で呼び出している関数をチェック。静的変数、etc
ホットスポットなら、関数の展開、変数のメモリ上の配置の考慮は重要
ループ内での条件分岐もできるだけ避ける。
for(i=0;i<last;i++)...をfor(i=last-1; i>=0; i--)...とかやると実行コード自体は短くなっても、
実際の処理速度は低下する可能性あり
ポインタのオナニー的乱用も最適化の障害となりうる
生兵法は怪我のもと!
自動並列化が手っ取り早いという人もいるけど、比較的単純なループしか自動並列化されない模様。
経験的にOpenMPなどを使って手動で並列化したほうが数倍の性能がでるし、気分的にもスッキリ。
また、コンパイラによる構文解析が不十分で、バグることもある。
# openmp文を指定してないなら必要ないと思うけど。とりあえず
# 大学の教員や学生だとこの辺、結構疎かったりするし
0874login:Penguin
04/02/12 15:37ID:Evk0eIh9やはりイタニュームにしなければダメなんでしょうか。
オプテロン+ifortで2Gの壁を越えられるのかな。
0875872
04/02/13 19:52ID:jUuueHLP先生と呼んでいいですか?
配列で,動的割付けにしたら自動並列化(-parallel)の計算が出来た.
が,激オソ.ifc7もifc8も
Openmp化に挑戦するも,ホットスポットが複雑で並列化できていない.
firstprivateは勉強になりました>>873
0876875
04/02/16 20:45ID:NS7IhB+Lこのあたりifcは並列化の判定って的確に行われていない気がする.
0877login:Penguin
04/02/16 23:06ID:+xYbDhBU遅くなるでしょそりゃ。
単純なループなら、ifcでベクトル化効くでしょ、1CPUで。
それを、並列化すると、CPUやメモリが競合する。その辺のオーバヘッドを
吸収できるぐらいループが非常に長くないと並列化しても遅いよ。
単純なループだとメモリバンド幅が速度を決めてるから、2CPUで計算すると
1CPUあたりのメモリバンド幅はむしろ小さい。そして、そのオーバーヘッドが
あるからね。Xeon Dualじゃ2つのCPUがフルに動いたらメモリバンド幅は足らない。
世の中のPCクラスタがDualが多いのはコストの問題。本当はほとんどの人がXeonじゃなくて
Pen4の1CPUで組みたいはず。
と言うわけで、多くの場合並列化して速くなるのはメモリバンド幅がボトルネックに
ならないアルゴリズムかもしくは金に糸目をつけない高メモリバンド幅のベクトル機
です。
0878login:Penguin
04/02/16 23:32ID:MjKToWaK31段パイプラインのプレスコットでHTを切って使うのが最強ですか?
0879login:Penguin
04/02/17 01:15ID:2WX86e6p検証中だけどなんかぷれすこっと最強っぽ
0880876
04/02/17 02:08ID:M3p9TlaGIntelのコンパイラは自動並列化の時に,並列化した方が速いか否かの
判定をやってないんじゃないかということです.
‘並列化できるところはすべて並列化’これじゃ自動並列化の意味はないよ.
0881877
04/02/17 07:10ID:DFESNBGHそれはそうでしょ。
自動並列といってもコンパイラが、自分のシステム(CPUやメモリ)の速度を
考慮しながら並列化するほどインテリジェンスじゃないです。
0882877
04/02/17 07:27ID:DFESNBGH>‘並列化できるところはすべて並列化’
たぶんこれに近いことしてると思うよ。すべては言い過ぎかもしれないけど。
その辺の微妙なとことろはコンパイラのバージョンによりけりだから
いまいち好きじゃない。だから、自動並列化の意味はないよって意見に賛成です。
個人的には、MPIでプロセス並列のみにして計算部分は単純にするほうが速いと思う。
共有メモリでOpenMP、分散メモリでMPIのハイブリッド並列しても全部MPIより返って
遅くなることの方が多いし。OpenMPや自動並列の実装は、各社まだまだです。
0883876
04/02/18 00:59ID:SlIfMtFY自動並列化のコンパイラ,ちゃんとしているところはちゃんとしていると思う.
NEC,IBM,自社専用のコンパイラだが.
PGIはどうなんだろう.x86系のコンパイラでがんばっている.
0884877
04/02/18 03:15ID:c50dLcC0私はスパコン系では、IBM以外のコンパイラをほとんど使用していますが、
まだまだなものが多いです。NECも。(マイナーバージョンアップで並列されないループ
ができてしまい、10倍近く遅くなった経験あり。
高々、マイナーバージョンアップで。。。。解決策は次のバージョンアップを待つしかなかった。)
ちなみに、NECの自動並列はOpenMPベースじゃないらしい。
自動並列やめて、OpenMPやMPIをガリガリ書こうよ。
その方が速い。ガリガリ並列を書く人を最近はほとんど見かけない。
0885login:Penguin
04/02/19 00:31ID:zGWyY5ITttp://japan.cnet.com/news/ent/story/0,2000047623,20064378,00.htm
私は計算屋のタマゴ以前な者で、今の認識(このスレで勉強させてもらいました)は
Intel(x86) → コンパイラ最高・メモリ空間小さいのが残念
AMD → 64bitCPUお手頃・コンパイラがイマイチなのが残念
てな感じなのでこのニュースは朗報と受け止めていますが、このスレの先生方は
どう感じてらっしゃるでしょうか?
ひょっとして数値計算に限ってはItaniumやPowerPCなんかのお大尽WSは用済みになる?
0886876
04/02/19 23:07ID:f+dLyAwKNEC,SXシリーズの自動並列化コンパイラは評判が良いのだが・・・
>>885
私にとっちゃ,2005年の新しいCPUなんてまだ先の話.
今,何が良いのかが問題.
Pen4+Linux+ifcとOpteron+Linux+PGI
どっちのコストパフォーマンスが良いか?
私は前者.メモリの上限が実状2GBまでという問題も,
PCクラスタなので克服できる.
XeonはDualなので使いやすいが,FSB533でメモリバンド幅が狭いことが難点.
計算には向かないと思う.
0887877
04/02/20 01:15ID:1CBoErdxNEC SXの自動並列は844に書いたように良くないですよ。
ただ、自動並列の中では一番まともかもしれない。
私は、自動並列はその件があって以来、ほとんど使いません。
OpenMPやMPIで書いてます。がんばれば、自動並列よりも高速です(それが楽しいわけだが
私も前者ですね。安定性を取ります。そして、PC本体以上のお金をネットワークに
注ぎ込む。Infinibandかmyrinet、金が余りすぎていたらQsNetかな。
いずれにせよ、大規模クラスタはPC本体よりネットワークに金がかかる。
ギガビットイーサじゃ16台以上のクラスタでお話になりません。
0888login:Penguin
04/02/20 17:31ID:II/TPAcBifcでコンパイルしたコードが高速に動きますように、な〜むぅ〜。
-O3 -xW -tpp7 でオッケーかしらん。
0889877
04/02/20 21:10ID:1CBoErdx暇があったら、-fast(-staticと-ipo)も付けてみてください。
さらに暇があったら、GCCでの結果も希望。
さらに金があったらPGIコンパイラでの結果を希望。
0890login:Penguin
04/02/21 04:06ID:38g5+MVb32bitOSではどんな結果になるんだろ
ttp://www.spec.org/cpu2000/results/res2004q1/
0891876
04/02/21 14:30ID:8HsAQALQキャッシュミスしてしまうような計算だと2割ほど3.4Ghzの方が速く,
逆に,キャッシュミスしないような配列を取ると2割,Prescottの方が速い.
キャッシュミス版
Pen4 3.4Ghz 222.965Mflops
Prescott 3.2Ghz 181.81Mflops
キャッシュミス無し
Pen4 3.4Ghz 847.457Mflops
Prescott 3.2Ghz 1047.120Mflops
0892876
04/02/21 19:55ID:8HsAQALQhimenoベンチ,small版でテスト.
Pen4 3.4Ghz 801.47 Mflops
Prescott 3.2Ghz 1494.31 Mflops
こんなに差が出るものなのか?
コンパイラはifc7で,オプションは,
-O3 -tpp7 -axW -Vaxlib -w -static
です.
0893877
04/02/21 23:08ID:jfxu6FCfおお!素晴らしい。姫野ベンチの比較ありがとうございます。
PC Wa○chに載ってる比較よりも、姫野ベンチの方がとっても参考になります。
Prescottはキャッシュが大きいのでキャッシュミス無しは速い。
逆に言うとキャッシュが大きくレイテンシが大きいので
キャッシュミスした時のペナルティも大きい。
予想通りですね。
0894877
04/02/21 23:11ID:jfxu6FCfhimenoベンチは、キャッシュ容量が大きい方が有利なので
傾向は正しいけど、1.86倍も高速なのは驚きですね。クロックも低いのに。
プレスコット最適化オプション-xWNはどうですか?
また、姫野ベンチは-tpp6の方が速いです。
時間があったらトライしてみてください。
0895876
04/02/22 12:45ID:iR88Nu4w確かにPrescottの-xNを使ってみたいところでしたが,残念ながら
2003年8月版のifc7.1でSSE3の対応していませんでした.
とりあえず,-tpp6で行った結果です.今回は,3.2XEも追加します.
オプションいずれも,-O3 -tpp6 -axW -xW -Vaxlib -static
[email protected] 992.42 Mflops
[email protected] 1464.85 Mflops
[email protected] 1046.39 Mflops
となりました.Himenoベンチは単精度計算なので,確かに-tpp6の方が速くなるのですが,
Prescottではほとんど変わらないのが興味深いです.
また[email protected]が遅すぎる感がします.L3-cacheとはいえ,2MBの本領が発揮されていない気がします.
0896877
04/02/22 13:05ID:E0CmsZKJ早速のご報告ありがとうございます。
しかも、3.2XEまで付けてくださいまして。お金持ちなのですね。
3.2XEはあまり良くないですね。3.4GHzと比較してわずか50MFLOPSしか変わらない。
これで、5万以上の価格差があると考えてしまいます。L-3はレイテンシがかなり遅いんでしょうね、
Prescottの大容量L-2が1.4倍ものスコアを出しているのがそれを物語ってる気がします。
0897login:Penguin
04/02/22 22:06ID:RIN1wHYBicc8.0 を Debian/sid に入れた。
rpm がへんだ、という理由で、
install.sh が止まる。
rpm の deb はちゃんと入っているので、install.sh を変更。
- rpm -q rpm &> /dev/null
+ dpkg -s rpm &> /dev/null
- GLIBC="$(rpm -qa 2> /dev/null | grep '^glibc-[[:digit:]]' | cut -d'-' -f2)"
+ GLIBC="$(dpkg -l 2> /dev/null | grep '^glibc-[[:digit:]]' | cut -d'-' -f2)"
-DEFAULTOPTIONS='-U --replacefiles'
+DEFAULTOPTIONS='-Uvh --replacepkgs --replacefiles --nodeps'
gcc の "方言" が原因でコンパイルが止まることは、
もうほとんどないようだ。
xmame を
-xK -O3 -rcd -ipo -ipo_obj で
コンパイルしてみた。
とても速い。びっくり。
0898877
04/03/02 19:42ID:ZpErCZadhimenobmtxp_s.fを悪名高きifc8で検証しました.
コンパイルオプション-NPを付加してみました.
-O3 -tpp7 -axWNP -Vaxlib -static
MFLOPS: 1478.510 time(s): 50.11000
となるのに対して,-tpp6にすると
-O3 -tpp6 -axWNP -Vaxlib -static
MFLOPS: 601.8895 time(s): 61.56000
と,とんでもない結果となる.(3回行ったが傾向は同じ)
恐るべし・・・
0899877
04/03/03 01:13ID:kXEuxeA0どうでもいいけど 877は私です。
-NP オプションの結果ありがとうございます。
すごいですね、この結果!
姫野ベンチにおいては
Prescott以前では、-ttp6の方が速かったのに、
Prescottでは、-tpp7の方が速い。
Pentium4オプションの-tpp7で速い、Prescottは真のPentium4ですね。
コンパイルオプションをもう少し頑張れば、1.5GFLOPS超えますね。
既にOperonがかなわない領域です。
ホントに恐るべしです!
-NPによるSSE3効果と、CPUが-tpp7を真に理解できている効果ですね。
0900login:Penguin
04/03/05 05:12ID:Nw2Qktp70901login:Penguin
04/03/05 12:41ID:kgNxzR7r数値計算な皆様はどんなライブラリを使ってらっしゃるのでしょうか?
私は MKL+FFTW(既存のものとの互換用)+netlib みたいな体制ですが、
Absoft附属のIMSLみたく、suiteになっているのがちょっぴり羨しい今日この頃
# NAG高杉
0902login:Penguin
04/03/05 20:35ID:xegoVzMG続かないといわれても、姫野ベンチの報告はもうでてるわけだし。
各人のコードの結果を出してもあんまり参考にならないでしょ?
ちなみにわたすのコードもやっぱりPrescott+ifc8でずば抜けて速いでつ。
0903login:Penguin
04/03/05 23:09ID:FPCPfxtsおれんとこのコードではNorthWood比で5%くらいしか速くならなかった。
姫野ベンチだけの瞬間最大風速かと思ってたよ。
ちなみにPrescottでもifc7の方が速かった。
0904876
04/03/06 00:07ID:Z82muOURコードによって変わるのは当たり前のことだと思う.
要は自分のコードが速くなってくれるかどうかが一番重要なのよ.
ただ先人の評判を受けて,コードを見直すというのもまた賢いかも...
0905login:Penguin
04/03/06 15:52ID:5qmKzvec姫野ベンチ以外にもベンチは沢山あるし、
実用アプリケーションだって山ほどあるでしょ?
無いとは思うが、ifcが姫野ベンチチューニングした可能性だってあるわけだし(w
そういう意味で他の人の評価は知りたい
0906login:Penguin
04/03/06 16:29ID:ElyP7wq7SSE3の水平加算が効いてるのかな?
0907876
04/03/06 21:59ID:Z82muOURそれは無いよ.
でもバイナリバージョンのが何でコンパイルされているか知ってる人いない?
absoftのものだとずっと思っているんだけど.勝手な想像で.
0908login:Penguin
04/03/06 22:46ID:bRkosRDcバイナリバージョンって姫野ベンチWINDOWS版の?
いまstringsしてみたけどCompaq Visual Fortranぽい
0909907
04/03/06 23:48ID:Z82muOURムム.
言われてみれば,確かにソースファイルの方にも
Visual Fortran用のオプションがあったが・・・
Visual Fortranで試したんだけど,バイナリ版の値と違うことがあって違うと思ってしまった.
レス数が900を超えています。1000を超えると表示できなくなるよ。