トップページ⇒linux
985コメント403KB

intel compiler for Linux

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001login:Penguin01/11/29 17:53ID:5k7yf0ai

intel 社の 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 ページからダウンロードしてくるファイルが違うだけです。)

ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
0861login:Penguin04/01/29 22:48ID:5ZgL/2mo
ifcって並列化のためにソースに埋め込むコンパイラ指示子ってあったっけ?
ないならOpenMPのほうてっとり早いような。
自動並列と共存できるし。
0862login:Penguin04/01/31 01:39ID:jAz+y1nc
複素の対称行列の場合には、どうやって対格化するんですか?
エルミート対称の場合はハウスホルダー法+帯2分法が使えますが。。。
そうじゃないと、ヘッセンベルグ行列と格闘しなくちゃいけなくなる。
0863login:Penguin04/02/02 12:22ID:FGkL9Y8/
普通のハミルトニアンだらハーミッチャンね。

プレミアにある最新パッチを当てたけど
速度はほとんど変わらなかった。
早く -xP オプションを試してみたい...
0864login:Penguin04/02/03 09:26ID:r050Aky7
複素数の対称行列(対称位置の要素の値が等しい)
「1 I とか 「I 1+I
I 1」 1+I 2」
複素数のエルミ-ト行列 (対称位置の要素は複素共役になっている.対角は実)
「1 -I
I 1」
0865login:Penguin04/02/04 12:49ID:v2Gz3VMd
ifcのバージョンによって計算結果が違うということを
発見した人いない?
0866login:Penguin04/02/04 18:30ID:Uh+JCxfw
ifortでGAMESSをcompするときに-nothreadsをつけないと
P4のsmp環境で変な値になって計算が終了してしまう。
0867login:Penguin04/02/04 21:08ID:v2Gz3VMd
>>866
それは良くある。シリアル計算で経験した人居ない?
特にifc7.0と7.1の差とかで。
0868login:Penguin04/02/04 23:41ID:x9P5bcIJ
>866、867
俺もifc7.0はSMP環境で自作コードでよくコケた覚えあり。
ifc7.1や8.0では今のところ問題は出ていないです。

バージョンの差で思い出したが
Linux版よりWin版の方が速いことが多い。
0869login:Penguin04/02/05 23:54ID:6NWo9Dvq
>>868
コンパイラの性能のせいだな。
0870login:Penguin04/02/11 16:59ID:SOp8ep6l
ifortですが
real(8) A(16384,16384)
でエラーになってしまいます。
配列のサイズを 2147483647 バイト以上に
とることはできないのでしょうか?
0871login:Penguin04/02/11 17:58ID:/3PgTqY3
>>870 はい。kernel-2.4の制限です。2.6にして、64bitCPUを使えってことだ
0872login:Penguin04/02/12 03:20ID:e8ytX48l
Ifc or ifortの自動並列化が上手く行かないので
OpenMPでプログラム書いているんだけど,イマイチしっくりこない.
Segmentation faultでコケる.
大体,シリアルのコードで-openmpのオプションを入れるだけで
Segmentation faultってのが悲しい...
一般的な原因って何?
0873login:Penguin04/02/12 05:59ID:/VNVhUc8
>>872
コンパイルオプションに"-MT" つけてる?
とりあえずコンパイルオプション熟読
・コンパイルの際に並列化前のプロファイルを用いている
とりあえずコンパイルの際にそのプロファイルを利用しないようにする
# 以下ついでに
・"parallel"の位置が変
妙なところにつけると、逐次処理する必要があるコードまで間違って並列化される
・初期化済みの変数に"private"を指定している
初期化された変数を並列化されたそれぞれのスレッドに個別に割り当てるには"first private"
・並列化の対象とするループの中身がおかしい
"private"にする必要がある場合は、必ず記述する。
ループ内で使用する変数をチェック。各スレッドが同じ共有変数に書き込んでいない?
並列化領域内で呼び出している関数をチェック。静的変数、etc

ホットスポットなら、関数の展開、変数のメモリ上の配置の考慮は重要
ループ内での条件分岐もできるだけ避ける。
for(i=0;i<last;i++)...をfor(i=last-1; i>=0; i--)...とかやると実行コード自体は短くなっても、
実際の処理速度は低下する可能性あり
ポインタのオナニー的乱用も最適化の障害となりうる
生兵法は怪我のもと!
自動並列化が手っ取り早いという人もいるけど、比較的単純なループしか自動並列化されない模様。
経験的にOpenMPなどを使って手動で並列化したほうが数倍の性能がでるし、気分的にもスッキリ。
また、コンパイラによる構文解析が不十分で、バグることもある。

# openmp文を指定してないなら必要ないと思うけど。とりあえず
# 大学の教員や学生だとこの辺、結構疎かったりするし
0874login:Penguin04/02/12 15:37ID:Evk0eIh9
>>871
やはりイタニュームにしなければダメなんでしょうか。
オプテロン+ifortで2Gの壁を越えられるのかな。
087587204/02/13 19:52ID:jUuueHLP
>>873
先生と呼んでいいですか?

配列で,動的割付けにしたら自動並列化(-parallel)の計算が出来た.
が,激オソ.ifc7もifc8も
Openmp化に挑戦するも,ホットスポットが複雑で並列化できていない.
firstprivateは勉強になりました>>873
087687504/02/16 20:45ID:NS7IhB+L
単純なループ(例えば1次元配列の1重ループ)なんかでも並列化されると,非常に遅くなる.
このあたりifcは並列化の判定って的確に行われていない気がする.
0877login:Penguin04/02/16 23:06ID:+xYbDhBU
>875
遅くなるでしょそりゃ。
単純なループなら、ifcでベクトル化効くでしょ、1CPUで。
それを、並列化すると、CPUやメモリが競合する。その辺のオーバヘッドを
吸収できるぐらいループが非常に長くないと並列化しても遅いよ。
単純なループだとメモリバンド幅が速度を決めてるから、2CPUで計算すると
1CPUあたりのメモリバンド幅はむしろ小さい。そして、そのオーバーヘッドが
あるからね。Xeon Dualじゃ2つのCPUがフルに動いたらメモリバンド幅は足らない。
世の中のPCクラスタがDualが多いのはコストの問題。本当はほとんどの人がXeonじゃなくて
Pen4の1CPUで組みたいはず。
と言うわけで、多くの場合並列化して速くなるのはメモリバンド幅がボトルネックに
ならないアルゴリズムかもしくは金に糸目をつけない高メモリバンド幅のベクトル機
です。
0878login:Penguin04/02/16 23:32ID:MjKToWaK
>単純なループなら、ifcでベクトル化効くでしょ、1CPUで

31段パイプラインのプレスコットでHTを切って使うのが最強ですか?
0879login:Penguin04/02/17 01:15ID:2WX86e6p
>>878
検証中だけどなんかぷれすこっと最強っぽ
088087604/02/17 02:08ID:M3p9TlaG
>>877
Intelのコンパイラは自動並列化の時に,並列化した方が速いか否かの
判定をやってないんじゃないかということです.
‘並列化できるところはすべて並列化’これじゃ自動並列化の意味はないよ.
088187704/02/17 07:10ID:DFESNBGH
>880
それはそうでしょ。
自動並列といってもコンパイラが、自分のシステム(CPUやメモリ)の速度を
考慮しながら並列化するほどインテリジェンスじゃないです。
088287704/02/17 07:27ID:DFESNBGH
補足
>‘並列化できるところはすべて並列化’
たぶんこれに近いことしてると思うよ。すべては言い過ぎかもしれないけど。
その辺の微妙なとことろはコンパイラのバージョンによりけりだから
いまいち好きじゃない。だから、自動並列化の意味はないよって意見に賛成です。
個人的には、MPIでプロセス並列のみにして計算部分は単純にするほうが速いと思う。
共有メモリでOpenMP、分散メモリでMPIのハイブリッド並列しても全部MPIより返って
遅くなることの方が多いし。OpenMPや自動並列の実装は、各社まだまだです。

088387604/02/18 00:59ID:SlIfMtFY
>>882
自動並列化のコンパイラ,ちゃんとしているところはちゃんとしていると思う.
NEC,IBM,自社専用のコンパイラだが.
PGIはどうなんだろう.x86系のコンパイラでがんばっている.
088487704/02/18 03:15ID:c50dLcC0
>883
私はスパコン系では、IBM以外のコンパイラをほとんど使用していますが、
まだまだなものが多いです。NECも。(マイナーバージョンアップで並列されないループ
ができてしまい、10倍近く遅くなった経験あり。
高々、マイナーバージョンアップで。。。。解決策は次のバージョンアップを待つしかなかった。)
ちなみに、NECの自動並列はOpenMPベースじゃないらしい。

自動並列やめて、OpenMPやMPIをガリガリ書こうよ。
その方が速い。ガリガリ並列を書く人を最近はほとんど見かけない。
0885login:Penguin04/02/19 00:31ID:zGWyY5IT
Noconaが64bit対応だそうですね。
ttp://japan.cnet.com/news/ent/story/0,2000047623,20064378,00.htm

私は計算屋のタマゴ以前な者で、今の認識(このスレで勉強させてもらいました)は
Intel(x86) → コンパイラ最高・メモリ空間小さいのが残念
AMD → 64bitCPUお手頃・コンパイラがイマイチなのが残念
てな感じなのでこのニュースは朗報と受け止めていますが、このスレの先生方は
どう感じてらっしゃるでしょうか?

ひょっとして数値計算に限ってはItaniumやPowerPCなんかのお大尽WSは用済みになる?
088687604/02/19 23:07ID:f+dLyAwK
>>884
NEC,SXシリーズの自動並列化コンパイラは評判が良いのだが・・・

>>885
私にとっちゃ,2005年の新しいCPUなんてまだ先の話.
今,何が良いのかが問題.
Pen4+Linux+ifcとOpteron+Linux+PGI
どっちのコストパフォーマンスが良いか?
私は前者.メモリの上限が実状2GBまでという問題も,
PCクラスタなので克服できる.
XeonはDualなので使いやすいが,FSB533でメモリバンド幅が狭いことが難点.
計算には向かないと思う.
088787704/02/20 01:15ID:1CBoErdx
>866
NEC SXの自動並列は844に書いたように良くないですよ。
ただ、自動並列の中では一番まともかもしれない。
私は、自動並列はその件があって以来、ほとんど使いません。
OpenMPやMPIで書いてます。がんばれば、自動並列よりも高速です(それが楽しいわけだが

私も前者ですね。安定性を取ります。そして、PC本体以上のお金をネットワークに
注ぎ込む。Infinibandかmyrinet、金が余りすぎていたらQsNetかな。
いずれにせよ、大規模クラスタはPC本体よりネットワークに金がかかる。
ギガビットイーサじゃ16台以上のクラスタでお話になりません。
0888login:Penguin04/02/20 17:31ID:II/TPAcB
IA-32e≒AMD64なのを知って、K8WとOpteronを衝動買いしてしまった。
ifcでコンパイルしたコードが高速に動きますように、な〜むぅ〜。
-O3 -xW -tpp7 でオッケーかしらん。
088987704/02/20 21:10ID:1CBoErdx
>888
暇があったら、-fast(-staticと-ipo)も付けてみてください。
さらに暇があったら、GCCでの結果も希望。
さらに金があったらPGIコンパイラでの結果を希望。
0890login:Penguin04/02/21 04:06ID:38g5+MVb
64bitOS上ではOpteronやItanium2が速いのはわかるけど、
32bitOSではどんな結果になるんだろ
ttp://www.spec.org/cpu2000/results/res2004q1/
089187604/02/21 14:30ID:8HsAQALQ
Prescott 3.2GhzとPen4 3.4(L2-512)で簡単な計算で比較したところ,
キャッシュミスしてしまうような計算だと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
089287604/02/21 19:55ID:8HsAQALQ
おまけ.
himenoベンチ,small版でテスト.

Pen4 3.4Ghz 801.47 Mflops
Prescott 3.2Ghz 1494.31 Mflops

こんなに差が出るものなのか?
コンパイラはifc7で,オプションは,
-O3 -tpp7 -axW -Vaxlib -w -static
です.
089387704/02/21 23:08ID:jfxu6FCf
>891
おお!素晴らしい。姫野ベンチの比較ありがとうございます。
PC Wa○chに載ってる比較よりも、姫野ベンチの方がとっても参考になります。

Prescottはキャッシュが大きいのでキャッシュミス無しは速い。
逆に言うとキャッシュが大きくレイテンシが大きいので
キャッシュミスした時のペナルティも大きい。
予想通りですね。

089487704/02/21 23:11ID:jfxu6FCf
>892
himenoベンチは、キャッシュ容量が大きい方が有利なので
傾向は正しいけど、1.86倍も高速なのは驚きですね。クロックも低いのに。
プレスコット最適化オプション-xWNはどうですか?
また、姫野ベンチは-tpp6の方が速いです。
時間があったらトライしてみてください。
089587604/02/22 12:45ID:iR88Nu4w
>>894
確かに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の本領が発揮されていない気がします.
089687704/02/22 13:05ID:E0CmsZKJ
>895様
早速のご報告ありがとうございます。
しかも、3.2XEまで付けてくださいまして。お金持ちなのですね。

3.2XEはあまり良くないですね。3.4GHzと比較してわずか50MFLOPSしか変わらない。
これで、5万以上の価格差があると考えてしまいます。L-3はレイテンシがかなり遅いんでしょうね、
Prescottの大容量L-2が1.4倍ものスコアを出しているのがそれを物語ってる気がします。
0897login:Penguin04/02/22 22:06ID:RIN1wHYB
ひさしぶりに intel からメールがきた。
icc8.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 で
コンパイルしてみた。
とても速い。びっくり。
089887704/03/02 19:42ID:ZpErCZad
[email protected]版の検証の続報です.

himenobmtxp_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回行ったが傾向は同じ)
恐るべし・・・
089987704/03/03 01:13ID:kXEuxeA0
>898
どうでもいいけど 877は私です。

-NP オプションの結果ありがとうございます。
すごいですね、この結果!

姫野ベンチにおいては
Prescott以前では、-ttp6の方が速かったのに、
Prescottでは、-tpp7の方が速い。

Pentium4オプションの-tpp7で速い、Prescottは真のPentium4ですね。

コンパイルオプションをもう少し頑張れば、1.5GFLOPS超えますね。
既にOperonがかなわない領域です。

ホントに恐るべしです!
-NPによるSSE3効果と、CPUが-tpp7を真に理解できている効果ですね。
0900login:Penguin04/03/05 05:12ID:Nw2Qktp7
うーむ、そのご Prescott & ifc/icc 8 -tpp7の報告が続かないのが怖いw
0901login:Penguin04/03/05 12:41ID:kgNxzR7r
ちょいと流れからはズレて恐縮ですが、、、
数値計算な皆様はどんなライブラリを使ってらっしゃるのでしょうか?
私は MKL+FFTW(既存のものとの互換用)+netlib みたいな体制ですが、
Absoft附属のIMSLみたく、suiteになっているのがちょっぴり羨しい今日この頃
# NAG高杉
0902login:Penguin04/03/05 20:35ID:xegoVzMG
>>900
続かないといわれても、姫野ベンチの報告はもうでてるわけだし。
各人のコードの結果を出してもあんまり参考にならないでしょ?
ちなみにわたすのコードもやっぱりPrescott+ifc8でずば抜けて速いでつ。
0903login:Penguin04/03/05 23:09ID:FPCPfxts
>902
おれんとこのコードではNorthWood比で5%くらいしか速くならなかった。
姫野ベンチだけの瞬間最大風速かと思ってたよ。

ちなみにPrescottでもifc7の方が速かった。
090487604/03/06 00:07ID:Z82muOUR
>>903

コードによって変わるのは当たり前のことだと思う.
要は自分のコードが速くなってくれるかどうかが一番重要なのよ.
ただ先人の評判を受けて,コードを見直すというのもまた賢いかも...
0905login:Penguin04/03/06 15:52ID:5qmKzvec
>>902
姫野ベンチ以外にもベンチは沢山あるし、
実用アプリケーションだって山ほどあるでしょ?

無いとは思うが、ifcが姫野ベンチチューニングした可能性だってあるわけだし(w

そういう意味で他の人の評価は知りたい
0906login:Penguin04/03/06 16:29ID:ElyP7wq7
おお、速いね。Lサイズもプリーズ。
SSE3の水平加算が効いてるのかな?
090787604/03/06 21:59ID:Z82muOUR
>>905
それは無いよ.
でもバイナリバージョンのが何でコンパイルされているか知ってる人いない?
absoftのものだとずっと思っているんだけど.勝手な想像で.
0908login:Penguin04/03/06 22:46ID:bRkosRDc
>>907
バイナリバージョンって姫野ベンチWINDOWS版の?
いまstringsしてみたけどCompaq Visual Fortranぽい
090990704/03/06 23:48ID:Z82muOUR
>>908
ムム.
言われてみれば,確かにソースファイルの方にも
Visual Fortran用のオプションがあったが・・・
Visual Fortranで試したんだけど,バイナリ版の値と違うことがあって違うと思ってしまった.
0910login:Penguin04/03/07 00:24ID:G3X0GupN
姫野ベンチのソース見てみたけど、メモリアクセスのスピードで
決まってしまうような気がする。
091190704/03/07 01:00ID:Pa2HfQiU
>>910
科学技術計算では,メモリアクセス速度は重要よ!
0912login:Penguin04/03/07 02:12ID:G3X0GupN
メモリ帯域幅をはかるベンチでいいんじゃねーの?w
0913login:Penguin04/03/07 09:19ID:HTsVo8S6
おまいらメモリの帯域幅なのかレイテンシなのかはっきりしる

ちなみに姫野ベンチはstreamベンチとあんまり相関なかった記憶があるけど
streamはメモリ帯域測定ベンチマークね
091487704/03/07 19:46ID:xbMHGdvr
>913
同じマザーや、メモリを使って、姫野ベンチを測定すれば、
メモリバンド幅は同じでしょ、northwoodでもprescottでも。
だから、キャッシュのレイテンシの話になっていると思うのですが。

streamもメモリバンド測定ベンチと言われているが、ようは使い方。
同じメモリバンド幅で、CPUを変えて測定すればレイテンシの影響が測定できる、
メモリバンド幅も変わってしまうような環境間で使えば、
それは、メモリバンド幅を相対的に測るベンチとなるんでは?
0915login:Penguin04/03/07 20:26ID:HTsVo8S6
>>914
そうなんだ。
895と同じ3種類の環境でstreamやったらCPU変えても結果まったく変わんなかったけど
もしかして使い方間違ってるんかな。
メモリはDDR400ね。
Function Rate (MB/s) Avg time Min time Max time
Copy: 320.0000 0.1125 0.1000 0.2000
Scale: 320.0000 0.1250 0.1000 0.2000
Add: 480.0000 0.1625 0.1000 0.2000
Triad: 480.0000 0.1000 0.1000 0.1000
0916login:Penguin04/03/07 20:33ID:HTsVo8S6
もしかして配列サイズとか調整しないといけないのかも。
だれか知ってる人がいたら教えてください。
0917login:Penguin04/03/08 18:07ID:y866kTB2
で、結局Prescottがどういうケースで速くなって、どういうケースでは
速くならないのか考察してみたヤシはいないの?
今んとこ姫野ベンチ以外に具体例が無いから、いまいち信用できん。
速くなったケースではどんな問題を解いてる?
0918login:Penguin04/03/08 18:41ID:4MF2nt8+
>>917
水平加算でマトリックス系は全般的に速いんでない?
元々メモリ帯域は広かったし。
0919login:Penguin04/03/08 19:45ID:y866kTB2
>>918
メモリ帯域が変わらないのに速くなったってことは、
プリフェッチまわりが単純なマトリックス演算向けに
チューニングされたとか、そういうことかなあ。
0920login:Penguin04/03/09 07:44ID:gY50bzfC
Opteron+SuSE x86_64にicc,ifort (ia32)入れたんですけど、
ライブラリをリンクするとき怒られまう。
もしかして32bit用のOSにしないといけないんですか?
0921login:Penguin04/03/09 12:10ID:CLV88Ryc
>920
質問するならエラーメッセージくらい(ry

RH9でifc7が動かなかった問題と同じなら、動きそうなバージョンの
glibcを持ってきてそっちにリンクさせれば行けるかも。
http://softwareforums.intel.com/ids/board/message?board.id=11&message.id=34
0922login:Penguin04/03/09 20:29ID:kiQ4+HHf
>>920
リンカにi386アーキテクチャだよって教えてやればよかったはず。
うろ覚えだが、-Xlinker -melf_i386 とかでどうよ?
0923login:Penguin04/03/15 13:23ID:8aCHZpBX
ifc 8 (ifort?) の評判が芳しくない様ですが、常用するには 7.1 の方が良いの?
今から登録するんで、7.1のダウンロードができるかどうかわからんですが、、、
偉い人教えて下さらないでしょうか?
092487704/03/16 23:35ID:3osCDUTp
>923
7.1と8は共存可能なので、両方をインストールして
安定した方を常用するのがベストだと思います。
092592304/03/17 01:29ID:nVb2lKwj
>>924
了解です。どうもありがとう!
0926login:Penguin04/03/23 17:41ID:MZPvskmd
age
0927jj04/03/31 12:02ID:7a9Jd4Eb
すみません,Debianのところとの追加(?)書き込みになりますが,
こちらが最適な掲示板のようなので,Intel Fortran Ver. 7.1について教えてください.


これまで,Pentium(初代)の古いLinux機(debian 3.0, kernel 2.2.20,libc2.2.5)に
IFC7.1をインストールし,普通に使えておりました.
MPICHなども動いています.

が,新しいPentium4,3.0GHzのPCに,やはりDebianをインストール,
(先述のPC共々,stableの最新の状態です)
同じファイルからIFC7.1をインストール(rpm→deb)しましたが,
コンパイルができないという現象が出ました.

コンパイルは,write文ひとつのものでもできず,
「Compiler Internal Error」というものが発生します.
もちろん,同じプログラムが前述のPCでは通ります.

OSの状態は,パッケージも含めほぼ同じで,CPUやらが違うだけです.
(キャラクタベースで計算のため,余分なモノもいれていない)

何か考えられる原因がありましたら,ご教授頂けないでしょうか?
0928jj04/03/31 13:12ID:7a9Jd4Eb
927のものですが,その後,
(確認ですが,pentium1機では普通に動いて,MPICHなども使えています)

ifc test.f90 -axiMKW
とすると,エラーメッセージが下記のように変わりました.


program TT

4 Lines Compiled
*Compiler Internal Error* : Please report to Intel(R) Corporation
compilation aborted for tt.f90 (code 1)
0929jj04/03/31 22:19ID:7a9Jd4Eb
927の自己レスです.
カーネルを2.4,24にアップデートして無事解決しました.
(Pentium1機では動いていたのが謎ですが)
0930login:Penguin04/03/31 22:22ID:NtEOVCsn
P4 で動かせば コンパイラは P4 に最適化した
オブジェクトを吐こうとしますよね。
コンパイルオプションで 66Mhz Pen 用の
オブジェクトにさせてはどうでしょうか。
また、4行は大きいので 男はだまって
END 文。だけではどうでしょう。
0931login:Penguin04/05/03 18:06ID:OjQ7fltM
保守あげ
0932login:Penguin04/05/04 00:20ID:rW1+GBOA
保守あげ
0933login:Penguin04/05/08 11:56ID:006/DMWD
Prescott2.8Ghz+ifc8でhimeno_sベンチなんだけど1400Mflopsぐらい出ます.
でも自作コードだとPen4 2.8Ghzに1割以上負けちゃうんだよな〜
なかなか扱いが難しい.
それと3.0Ghz程度にオーバークロックしてもhimenobmtの数値が
ほとんど上がらない傾向にあるんだけど,なんでだか分かる人います?
そんな経験ないっすか?
0934crazy_u04/05/08 15:40ID:2NlHAOCN
久しぶりの書き込みです。
v8.0でコンパイルするとI/Oが多い部分が極端に遅いので,マニュアルを調べてみたら
-assume nobuffered_io
がデフォルトだった。
-assume buffered_io
にしたら速くなった。I/Oが多い部分でv8.0は遅いと感じてる人は試してみると良いと思います。
FEM解析のソフト(チューニング済)では,IA64用に関しては
v8.0(l_fc_pc_8[1].0.039_pl044.1)は
v7.1(l_fc_pc_7[1].1.040),v8.0(l_fc_pc_8[1].0.046)よりも速かったです。
(自宅にHP ZX6000 1.3GHz(中古)が来たので色々試している最中です。)
0935login:Penguin04/05/09 22:53ID:gV+1zjGH
>933
姫野ベンチは、演算も重要だがそれ以上にメモリ周りが効いてくる。
プレスコットで姫野ベンチが早いのはL2大容量(+SSE3)と思ってますが、
オーバークロックしてメモリの周波数が下がったら、それらの恩恵は
薄まるのでは?
オーバークロックしてメモリの周波数が下がってない?
あと、sサイズだとプレスコットではキャッシュインしている可能性がある。
キャッシュインしたら、オーバークロックしてメモリの周波数が上がったとしても、
そんなにスコアはあがらないと思う。
姫野ベンチはメモリ-CPU間を計っているようなもんだからなぁ。。。
0936crazy_u04/05/20 23:59ID:A5bDFvnH
428, 430, 431と同じテストを行ってみました。

Itanium2 1.3GHz (zx1 chipset)
efc7.1, Build 20040310
block size: usr sys wallclock % : GFLOPS: 理論性能値比
mb=1:313.470u 0.243s 5:14.11 99.8%: 1.061: 20.41%
mb=2:128.245u 0.247s 2:08.56 99.9%: 2.593: 49.87%
mb=3:129.956u 0.237s 2:10.26 99.9%: 2.559: 49.27%
mb=4: 78.585u 0.242s 1:18.86 99.9%: 4.228: 81.23%
mb=5: 82.121u 0.228s 1:22.38 99.9%: 4.047: 77.83%
mb=6: 86.212u 0.245s 1:26.46 99.9%: 3.856: 74.15%

Itanium2 1.3GHz (zx1 chipset)
ifort8.0, Build 20040101 Package ID: l_fc_pc_8.0.039_pl044.1
mb=1:315.175u 0.241s 5:15.86 99.8%: 1.055: 20.30%
mb=2:130.405u 0.236s 2:10.72 99.9%: 2.550: 49.04%
mb=3:131.009u 0.235s 2:11.59 99.7%: 2.534; 48.72%
mb=4: 83.629u 0.250s 1:24.41 99.3%: 3.950; 75.95%
mb=5: 84.566u 0.229s 1:24.84 99.9%: 3.930: 75.57%
mb=6: 90.751u 0.237s 1:31.05 99.9%: 3.662: 70.41%

Itanium2 1.3GHz (zx1 chipset)
ifort8.0, Build 20040416 Package ID: l_fc_pc_8.0.046
mb=1:540.660u 0.232s 9:01.71 99.8%: 0.615: 11.84%
mb=2:129.862u 0.234s 2:10.15 99.9%: 2.562: 49.26%
mb=3:130.882u 0.242s 2:11.19 99.9%: 2.541: 48.87%
mb=4: 83.520u 0.241s 1:24.06 99.6%: 3.966: 76.27%
mb=5: 85.637u 0.236s 1:25.89 99.9%: 3.882: 74.65%
mb=6: 89.692u 0.240s 1:29.93 99.9%: 3.707: 71.29%
異様にmb=1の場合が遅い!!
0937crazy_u04/05/21 00:00ID:3JbcJqkU
続き
Pentium4 3.06GHz (i850E chipset)
ifc7.1, Build 20040310
mb=1:488.470u 0.560s 8:09.40 99.9%: 0.681: 22.26%
mb=2:218.320u 0.540s 3:38.97 99.9% 1.523: 49.76%
mb=3:159.510u 0.610s 2:40.51 99.7%: 2.077: 67.88%
mb=4:139.200u 0.500s 2:21.07 99.0%: 2.363: 77.23%
mb=5:176.180u 0.550s 2:57.01 99.8%: 1.883: 61.55%
mb=6:180.060u 0.550s 3:00.61 99.9%: 1.846: 60.32%
0938crazy_u04/05/21 00:06ID:3JbcJqkU
このテストではefc7.1速いが他の大次元の部分固有問題(SubSpace法)では
IA64に関してはifort8.0, Build 20040101 Package ID: l_fc_pc_8.0.039_pl044.1が
他のversionよりも1割ほど速かったです。
OSはRHEL3.0ASです。
RHEL3.0AS_update2ではglibc_develのバグでifort8.0はリンクできません(IA64)。
0939login:Penguin04/05/23 02:15ID:luj+XkrJ
Version 8.0 で-axNPや-xNP のオプションでコンパイルすると

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
test_prog(※←プログラム名です。) 08530327 Unknown Unknown Unknown

Stack trace terminated abnormally.

となるのですがこれはベクトル化不可能と考えてよいのでしょうか。
0940login:Penguin04/05/29 02:18ID:ltoFE3kC
どうだろか、もう8.0 は十分に信頼に足りる程に安定になったと言えるかな?
以前出始めの頃に、コンパイルの間違いと性能の劣化で、しばらく手を出さないで
置いたのだが、どうですか?
0941crazy_u04/05/29 03:03ID:f7tpPT3A
私はIA32ではNorthwood coreのP4を使用してますが,
v7.1用にチューニングしたコードではv8.0は性能が全然でません。
それまでVectorizedされていた部分が,のきなみPartial vectorizedになってしまって
全く×です。使い物になりません。
v8.0でVectorizedになるように書換えるのはあまりにも多くの作業が必要で(数値計算ライブラリが50万ラインある)やってられません。
ですから,
IA32: v7.1
IA64: v8.0
で使用してます。
Prescott coreを使用している人の情報をお願いします。
0942login:Penguin04/06/10 10:46ID:SdhbSpW1
Linux magazine 7月号
>今回評価したAbsoft社のFortranは、一部のプログラムでは
>GNU Fortranより低い性能しか出せませんでしたが、

おいおい
0943login:Penguin04/06/18 11:17ID:wHS4VoNn
MKL6.1 for Linux の30日体験版を落としたんだけどこれって製品版から
BLASとかの中身が省略されているものなんでしょうか?

今までのMKLだとコンパイル(リンカ)が通ってたプログラムが定義されてない関数が残ってるっていうエラーはいて止まる。
それ以前にライブラリ自体が見つからない。libmkl_p4.aなんかはlibmkl_p4.soにファイル名が変更されてたけど・・・
0944login:Penguin04/06/19 17:05ID:hcBGH92p
MKLのクラスタ向きバージョンがリリースされた模様。
ScaLapackをサポートしたらしい。
#
インテルのIA32の64ビット拡張アーキテクチャー向きのコンパイラは
いつでるのだろうか? それはAMD64用にはうまく動かないように
なっているのだろうか? はたして。。。
0945login:Penguin04/06/20 12:40ID:VDbqbQOf
>943
なんかいろいろと変化がある模様。
私はとりあえずコンパイル時に
ifort source.for /opt/intel_fc..../lib/32/libmkl_lapack.a /opt/intel_fc..../lib/32/libmkl_ia32.a /opt/intel_fc..../lib/32/libguide.a
としてうまくいっている様子。
場合によっては-staticオプションが必要かも。
コンパイラーのオプションがDec Fortranと違いすぎ。
誰か簡単な一覧作ってくれ。
094694504/06/20 19:00ID:1lntWs6/
というわけでどうもライブラリを-lで指定するのではなくソースコードと同じように並べるみたい。
Intelのサイトのどっかにmklの使い方のドキュメントがあったはず。
それより誰か実行時デバッグのオプション教えてくれ。
0947login:Penguin04/06/22 00:44ID:4JCCOPeW
AMDもフリーでコンパイラ出してくれりゃいいのに。
0948login:Penguin04/06/22 00:49ID:4JCCOPeW
シングルスレッドのプログラムをマルチスレッドに勝手に
コンパイルするコンパイラってない?
0949login:Penguin04/06/22 00:58ID:eaI6uk3j
( ゚д゚)ポカーン
0950login:Penguin04/06/22 08:19ID:Fmm7hwss
>>947
コンパイラは知らないけど、ライブラリかなんかは出してなかったっけ?
0951login:Penguin04/06/22 18:15ID:fOI6gFpm
>>947
う〜ん、ifort でコンパイルしたやつもはしるけど激オソ。
行列の対角化のルーティンだと Opteron 1.4G の速さは
Northwood 3G の半分くらい。ifort の x86-64版が出ると
差は縮まるのかな。
0952login:Penguin04/06/22 21:58ID:js8bRpl7
>>948
あることはあるけど…
0953login:Penguin04/06/23 10:19ID:Hm7j1sae
( ゚д゚)ポカーン
0954login:Penguin04/06/23 16:18ID:Hm7j1sae
ちょっと伺いたいんですが...

Ver.7の方がVer.8よりも高速ということなんで過去に入手していた
Intel(R) Fortran Compiler for 32-bit applications, Version 7.1 Build 20030307Z
をインストールしたんですが...

>>761のような症状が出てしまいました.そこで,>>766のような対処をしようと思うのですが.

パッチが見つかりません.Premier Supportには登録してあるのですが,なぜかCコンパイラのアップデートしかでてこないのです.

#Cコンパイラの非商用版

どこか,Premier Support以外でパッチを落すことが可能なサイトがあれば,教えていただけないでしょうか?

また,Intelにクレームを送りたいのですが,メールアドレスを御存じの方もいらっしゃれば教えていただけないでしょうか?

よろしくお願いします.

ちなみに,Ver.8は以下のような構成になっています.
Intel(R) Fortran Compiler for 32-bit applications, Version 8.0 Build 20031231Z Package ID: l_fc_pc_8.0.039

0955login:Penguin04/06/23 18:46ID:0yt+eUt6
[email protected] にメールおくるよろし
0956crazy_u04/06/23 20:14ID:E8xxt/69
>>954
Premier Supportに入ると"What's New"にまず入りますが,
左のリストの"File Downloads"に入ってProduct欄で
"Intel(R) Fortran Compiler for Linux"
か
"Intel(R) C++ Compier for Linux"
か
"All"
を選択して"Display File List"ボタンを押すと2004年1月からのが現れる.
最新のFortran v7.1はl_fc_pc_7.1.040.tar (3/17/2004)
最新のC++ v7.1はl_cc_pc_7.1.038.tar (5/21/2004)
095795704/06/23 20:39ID:Hm7j1sae
>>955
>>956

さっそくにレスありがとうございます.

>>956さんがおっしゃるとおりにすると,C++コンパイラの更新情報は出てくるのですが,
Fortranの方が出てこないのです.Fortranの方も登録してあるのですが...

#現に, 3月の時点では件のパッチのお知らせがメールで届いているんです.

じつをいうと,4月でメールアドレスが変更になっていて,それをPremier Support
の個人情報に反映させてはいるのですが,それが原因なのかもしれません.

いずれにせよ,>>955さんから教えていただいたアドレスに問い合わせを出してみようと
思います.

#英語で書くのが欝出し...

0958login:Penguin04/06/25 11:10ID:KGqHK0Va
Intel Fortranでオーバーフロー時に止まるオプションってありませんか?
compaq Fortranで -fpeみたいなの。
ユーザーズガイドでは見あたりませんでした。
095995504/06/29 12:51ID:MmwrCOQy
>>957
下のに必要な分(XXとか名前とか)をいれて送るよろし
Dear Intel premier support:

I registered Intel Fortran Compiler for Linux XX month ago.
But, I could not find it in the product list on Premier Site.
Can I update the software?

Regards,
あなたの名前
0960login:Penguin04/06/29 18:58ID:0kjj/IXp
intel fortran compiler 8を使用しています。

DO I=1,3
K_DASH(I,1)=KV(I,1)-KV(4,1)
ENDDO

上のような計算をベクトル化やSSE等で高速化するにはどうすればよいですか?
自動ベクトル化してくれるように、ベクトル化するように明示的に指示すればよいのか、
それとも、そもそもこういったループはベクトル化できないのかアドバイスをください。
レス数が950を超えています。1000を超えると書き込みができなくなります。