intel compiler for Linux
■ このスレッドは過去ログ倉庫に格納されています
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 ページからダウンロードしてくるファイルが違うだけです。)
ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
0381363,370,376,377
02/11/18 00:35ID:QriAUUOrこの辺は処理系やコンパイラによって違いがあるとは思いますが、ifcやg77では
倍精度なんではないでしょうか。結局、これまでに分かっていることから、
1.倍精度で行った計算の結果をそのまま使うか、単精度のメモリ内容を
再度ロードするかの違い
2.倍精度で行った計算の結果を単精度に型変換するときのやりかたの違い
のいずれか、または両方が原因であると考えられます。
解決としては、全体または部分的にでも倍精度変数にするというのがいいのでは?
私は、いろいろ注意するのが面倒だったりするので、常に倍精度でプログラムしてます。
0382Galois
02/11/18 08:22ID:WBr0ddgK(1)ifc -O0 -r8 -tpp7 xxxxxx.f90
(2)ifc -O3 -r8 -tpp7 xxxxxx.f90
(3)ifc -O3 -r8 -tpp7 -xW xxxxxx.f90
はすべて一致しました。
プログラムの致命的なエラーでないこともわかり,
解決策も見えてきました。
とりあえず報告です。
0383crazy_u
02/11/18 10:17ID:1JE+mn0o良かったですね.
将来のメンテナンス性からも>>381の提案のように全て倍精度化するほうがベターだと思います.
(計算時間やメモリー容量がシビアな状況なら何とか単精度対応を考える.)
時間に余裕があって,精神的苦痛に耐えられるなら,丸め誤差に弱い部分がどこなのかを調べておくと良いでしょう.
いつか,その知見が役立ちます.
0384login:Penguin
02/11/18 12:18ID:McP4WlkF単精度は負荷以外の何物でもないような気がする。
0385363
02/11/18 13:38ID:NKF8mUk6一般に、
1. 型変換の負荷が加わる。
2. メモリ転送量が半分になる。
3. メモリ消費量が半分になる。
メモリ帯域がボトルネックになっているプログラム
では速くなることもあります。
以上、参考までに。
0386crazy_u
02/11/18 14:57ID:1JE+mn0o単精度は単精度です.自分で試してみましたか?スペックを読んでみましたか?
少なくとも,単精度でSSEと倍精度でSSE2ではほぼ計算時間は倍違います.
自分で簡単なコードを書いて試してみると良いです.(-doubletempsのオプションは無しです.)
0387crazy_u
02/11/18 16:32ID:1JE+mn0o>>386では大変失礼しました.
「x87 FPUデータレジスタ」と「x87 FPU データ型」の記述を確認をしたところ大変な勘違いをしていました.
その後キャッシュに入りきる大きさの問題で追試したところ,単精度の方が遅いです.
キャッシュに全然入りきらない問題では,CPU⇔メモリーの転送量が効いて,単精度の方が速いです.
せっかくご教授くださったのに>>386で失礼なことを書いて申し訳ありません.
0388login:Penguin
02/11/18 17:17ID:XfxcnBEE0389Galois
02/11/18 20:05ID:WBr0ddgKプログラムにIMPLICIT REAL*8 (A-H,O-Z)をいれて
実行してみたところ,ifc -O3 とifc -O0ではやはり結果が違います。
プログラムを倍精度化した場合と,単精度プログラムを-r8で倍精度化
した場合で動作が違うのでしょうか。
あと,>>378で指摘された「xとyが nearly equal の時に z=x-y
を計算してzを使う処理」についてですが,Monte Carl法では,
正にこのようなこと(zが負かそうでないかというような判断ですが)
を頻繁に行っています。このようなところから,誤差の問題で
結果が少しづつ変わってくるものと思われます。
いろいろな指摘ありがたいです。
0390363
02/11/19 00:16ID:hgj0uiuuIMPLICT REAL*8(A-H,O-Z)とやった後、
REAL A
とやってない?
私は、IMPLICIT NONEとした後に、使う変数をすべて
REAL*8で定義してます。
0391login:Penguin
02/11/19 01:40ID:Mxyeoxo1xとyがほぼ等しいときに減算を行ってはいけないのは、桁落ちが
起こって有効数字が著しく減ってしまうからです。そのような正
負だけを知りたい時は問題ありません。
# 基本的な数値計算の本を読みませう
モンテカルロ法で重要なのは乱数の生成だと思いますが、どんな
乱数生成を使っていますか? 標準関数のrandでは、科学技術計算に
耐えられるような質の良い乱数を生成することは不可能です。
乱数生成については色々と論文もありますから漁ってみて下さい
0392crazy_u
02/11/19 08:48ID:T1RR6mElhttp://www.netlib.org/
(Netlib is a collection of mathematical software, papers, and databases)
0393login:Penguin
02/11/19 20:57ID:0D55ayYYttp://www.math.keio.ac.jp/matumoto/mt.html
0394login:Penguin
02/11/19 22:10ID:Hxr/Pgqa0395login:Penguin
02/11/20 19:40ID:5lsr0uBYz=x-yの正負に基づいて,exp(-z)と乱数aを比較し,その結果におおじて次の処理
を行うという処理では誤差がでるでしょうか。乱数は>>379のものを使っています。
今までそれを使って特におかしいと感じたことはありませんが,結果の乱数依存性
ということも,前から気になっていたことのひとつです。
www.math.keio.ac.jp/matumoto/mt.htmlの乱数を使わしてもらって,
この依存性を調べて見ようと思ってはいますが,目先のことに追われて
ばかりで…。
0396login:Penguin
02/11/21 16:47ID:3MfEdJo4正式版が出たようです.
いつもバージョンの数字が大きく変わりますが,
何が変わったのか私には不明...
# ログインIDもパスワードも忘れると,一度登録メールアドレスでは,
# 再登録は不可能?
0397login:Penguin
02/11/22 00:45ID:fdqnnMUD0398login:Penguin
02/11/22 01:14ID:tIlE0Exbを勉強し始めたんですが、いきなりはまってしまいました。
以下のプログラムの出力が 0 1 1 になるのですが、何故でしょうか?
0 1 0 となると思って書きました。
program optional_arg
write(*,*) func(), func(1), func()
contains
integer function func(arg)
integer,intent(in),optional :: arg
integer :: ret=0
if(present(arg)) then
ret=arg
end if
func=ret
end function func
end program optional_arg
0399login:Penguin
02/11/22 01:28ID:2D9K7JEYあるテレビ番組で徳川埋蔵金発掘という番組があってその中でショベルカー
でいくら探しても金が出てこなかったが 野中 土井 亀井 中川 の4人組
の身元を洗ったところ大量の金が見つかりました
裁判所で4人はこの金は金正日さんから接待されたときにもらった金ですと自白しました。
この情報をスクープしたのは週刊金曜日『ちくし哲也をはじめとする金正日の工作機関雑誌』
金の使い方っていろいろあるね。 お金に関する雑誌ができました。
http://book.2ch.net/test/read.cgi/zassi/1036797442/l50
0400login:Penguin
02/11/22 04:23ID:IL4pBXCP0401login:Penguin
02/11/22 11:54ID:SQq29KVZifcと打つと、
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
となり、コンパイルできないのだけど
ifcbin
だとコンパイルできます。なんでかな〜〜〜〜〜
0402login:Penguin
02/11/22 12:10ID:ih1pm1LSなんでcrt1でてくんの?
見に行くライブラリ間違ってない?
0403login:Penguin
02/11/24 00:39ID:+s3T28rliccの方ですが、私の環境でも出ますね。
もっとも引数無しでを実行したときに表示されるだけなので、実用上支障はありませんが。
環境は redhat8.0 + glibc-2.2.93-5。
この環境だとVer6がうまく動かなかったので7.0の登場は嬉しい限りです。
0404login:Penguin
02/11/24 01:53ID:AQbo0hiecontains ではない関数にしてみたらどうなりますか?
あるいは、integer::ret=0 をやめて
integer::ret
ret=0
と毎回retに0を入れてみるとどうですか?
0405crazy_u
02/11/24 04:04ID:9k5WSccyinteger::ret=0はinteger,save::ret=0と同じコードになります.(-Sオプションでアセンブリをだしてみると分かる.)
初期値設定はあくまでそのプロセスの初期値なので、値を変更すると(save変数になっているので),その後の呼び出し時には変更された値になります.(DATA文でも同じ)
Fortranの言語仕様なのか,業界標準かは分かりませんが,たいていのコンパイラはそうだと思います.(富士通も同じ)
0406login:Penguin
02/11/24 12:07ID:6nxAFq7pそりは、引数ナシだとリンカモードになってしまい、ランタイムライブラリだけから
a.outを生成しようとする、おバカなドライバ(icc)の仕様です。
gccみたいにシンプルに"No input files"と文句をいって欲しかったです。
0407login:Penguin
02/11/24 20:05ID:b+2ujWQY6.0だとちゃんと、下のようにでるよ。
ifc: Command line error: no files specified; for help type "ifc -help"
0409login:Penguin
02/11/27 03:03ID:HhmqaFh8REAL A
DATA A/0/
と分けて描く変りに、一部の拡張仕様Fortranでは
REAL A/0/
などと書けていたけど、それが
REAL::A=0
とFortran90で書くようになったというだけのことなんだね。
0410login:Penguin
02/11/27 03:03ID:HhmqaFh8(この本と同じ内容のWebへのリンクは、www.media.kyoto-u.ac.jp/htomita )
の102頁には、「宣言文やDATA文による初期値の設定は、コンパイルの際に
メモリ領域を予約するついでに行われるため、最初の実行のときにしか有効
ではない。。。」(頁102より)
とかかれている。ただし、これは、そういう実装もありというだけのこと
かもしれない。つまり、毎回初期値を設定し直すようなコードを吐いても
規格違反ではないのではないか(規格書は高いから持っていない。)
頁102には、「このようにSAVE指定がなくても、前回に呼ばれたときの
値が保持されたままの場合がある(一般には何が保持されているかは
不定である)。。。」となっている。
#
Fortran77の時代に、サブルーチンなどの内部のローカル変数や
引数の値は、サブルーチンを抜けたら消滅し、不定になるはずだった。
そうしないと最適化が困難になるし、記憶の容量も減らせない。
だがそれ以前のFortran66の時代の多くのコードが動かなくなるので、
SAVE文を書けば比較的簡単に、66時代と同様のことが実現できる
ようにして、純粋ならば SAVE指定から外れたローカルな変数は全部、
副プログラムを抜けたら存在が消滅するのであった。
個人的には、SAVE文以外に、NOSAVE文(とでもよぶもの)を
ついでに導入すべきであったと思う。NOSAVE指定した変数や記憶域は、
積極的に次回以降に値が残らないことを強調するものだ。
(77の規格ではそもそも値が残らないのがデフォルトなので、
NOSAVE文みたいなものは導入されなかったが、現実の商用コンパイラは、
このあたりがあやふやだったり混乱していたりした。)
コンパイラによっては、値が残留しない77の規格を厳密に実現できる
ものがあるが、そうでないのが標準のものや、コンパイラオプションで
実現できたりしたなどである。
0411crazy_u
02/11/27 13:10ID:M6T+ESirhttp://www.xlsoft.com/jp/products/vtune/perftool.htm
で「Intel C++ Compiler 7.0 for Linux」の項目に
「Linux 版インテル(R) C++ コンパイラ 7.0 では、GNU C/C++ との互換性の強化、C++ ABI との適合性、幅広 gcc 拡張子のサポート、およびごくわずかな修正を行なうだけで Linux カーネルをビルドすることができます。」
と説明がありました.「ごくわずかな修正」を調べてみます.分かったら報告します.
0412login:Penguin
02/11/28 01:16ID:Aj/Ka3kqたらすごいな。インラインASMの部分などは、無理だろうから、デバイス
ドライバーなどは、全面書き直しするしかなかろうと思うけど。
がんばってOSカーネル丸ごとチャレンジして欲しい。
クロックがあがったように体感速度が上がれば素晴らしい。
SSE命令などを使ってデーターのバッファー転送を高速化したり、
サウンドドライバーが音質が向上したり、
XーWindowsが飛ぶように速く動くようになればめでたい。
0413login:Penguin
02/11/28 01:40ID:zRfKz+Msどこを縦読みすればいいのでつか
0414login:Penguin
02/11/28 17:06ID:TwGoRG+aemacs で遂に挫折。
0415login:Penguin
02/11/28 17:18ID:rzTXVehEどこか変化した?
0416login:Penguin
02/11/29 00:00ID:CcQhIMOA0417login:Penguin
02/11/30 05:16ID:LPoU/MM7関数・サブルーチンは使えないのかな。
0418login:Penguin
02/12/01 07:17ID:Smn19ga0ピボッティングもスケーリングもやってない
単純な LU 分解のコードを試してみたけど、
icc -xW -tpp7 と gcc -O2 (2.95.3)で実行速度が変わらない。
で、 -S してみたらどうも PREFETCH を使ってないみたい。
まだ、 ccc ほど賢くはないのかな。
だとしたら Xeon*2 買うより AthlonMP*2 買ってた方が
HARDWARE PREFETCH の恩恵にぞくせてよかったかも。
0419login:Penguin
02/12/01 09:11ID:6cxWcw03Pentium4コアのC1 stepping以降はhardware prefetchのバグ(errata P46)が
直っているはずですぞ。Xeonも同じです。
0420crazy_u
02/12/01 18:53ID:Q5N6niNlマニュアルを見ると,-O3にしないとprefetchはかからないようですよ.
"Intel C++ Compiler User's Guide"の
[Optimizations]/[Optimaization Levels]/[Setting Optimizatin Levels]
の"IA-32 and Itanium Compilers"に書いてある.
0421crazy_u
02/12/01 19:18ID:Q5N6niNl性能を向上しようと思ったら,コンパイルオプションもそれなり設定してコンパイル時のメッセージとかも見て,
最適化制御行を入れたり,コンパイラが理解できる(最適化しやすい)ようにコードを書き換えたりしないと性能はあがらないよ。
0422login:Penguin
02/12/03 09:57ID:EIrgZrpNdtimeの計測では同じ数字なのだが、うれしいがわけわからん。
0423login:Penguin
02/12/03 10:35ID:5aayB2ksそれとも P4, Xeon*2 (高いんで手が出ないかも)にすべきなのでしょうか?
過去スレ読んだつもりですが、イマイチはっきりしないので。
0424login:Penguin
02/12/03 10:45ID:X1BM48vgintelが敵に塩を送るようなことはしないと思われ
0425login:Penguin
02/12/03 11:17ID:5aayB2ksあと、intel 用に optimize したら意外と athlon でも行ける、という
こともありうるかな、と思って。(意図的に intel 専用のコードを使って
壊すとかしなければ。)
0426login:Penguin
02/12/03 11:29ID:g4+eV5lNお手軽にコンパイルできるのかと思ったけど、そういうことではないのね。
dependency fileのフォーマット違いを適当に変換してcompileしてみたけど、
include fileがらみで止まったので、とりあえず放置中。
0427login:Penguin
02/12/03 13:32ID:MBmEQllb>>419
Intel から XEON の PDF 落としてきたら、
確かに L2 cache 周りにバグがあったみたいですね。
>>420
CPU のタイプ指定したからと言って、
それようの最適化してくれる訳じゃないのね。
で、試したけど -O3 付けても prefetch してくれないみたい。
うーん、 prefetch は必要ないと判断されちゃってるのかなぁ。
とりあえずマニュアルちゃんと読んでみます。
>>421
本気で使うプログラム組むのは結構大変そうですね。
ま、実際の実験に使うときはひよって、
MKL や atlas あたりの既成のライブラリで
間に合うところはそっちに投げちゃうつもりなんだけどね。
っていうか自分が素人考えでコーディングしても勝てそうにないし (^^;
とりあえず、 PREFETCH や SSE2 の性能を見たいだけなんで、
今は PREFETCH してるときとそうでないときの差が観測できれば満足です。
athlon(palomino)+gcc や alpha(21164)+ccc では
pentiumIII+gcc とクロック比の2倍近い差が観測できたので、
配列なめるような計算だと
メモリの遅さをごまかす PREFETCH が効くとおもうんだけどなぁ。
長文失礼。
0428crazy_u
02/12/03 23:43ID:biU06C3s参考までに,>>351で紹介した本を参考にして書いたコード(vector計算機用に書いたものをP4用に変更したもの)
の結果を紹介しますので,ぜひ,自分でチューニングしてみしょう.
10000×10000の対称密行列の下三角部分を1次元配列で持って,三角分解する問題です.
(倍精度.ピボッティング無し.)
m×mのブロックを同時分解するプログラムをtimeコマンドで計測すると、
m=1; 603.699u 0.728s 10:05.38 99.8% 0+0k 0+0io 605pf+0w
m=2: 284.677u 0.734s 4:45.86 99.8% 0+0k 0+0io 606pf+0w
m=3: 206.556u 0.726s 3:27.60 99.8% 0+0k 0+0io 607pf+0w
m=4: 180.873u 0.736s 3:01.90 99.8% 0+0k 0+0io 609pf+0w
m=5: 233.402u 0.722s 3:54.48 99.8% 0+0k 0+0io 610pf+0w
m=6: 298.871u 0.744s 5:00.08 99.8% 0+0k 0+0io 617pf+0w
となりました.m=1とm=4では3倍の性能差です.m=5,6では1つのループに夫々25個,36個の式をいれるとvectorizeがかからないので、
2つのループに分けていることで性能が悪くなっていると考えられます.(CPUリソースが足りてない?)
コンパイルオプションは>>326です.動作環境は
P4 2.53GHz, M/B:ASUS P4T533-C, memory: PC800-40 ECC 512MB×4, HDD: 80GB(7200rpm)×2 (software RAID1)
memoryが、PC1066ならあと10〜20%性能が上がると思います.
0429login:Penguin
02/12/04 05:11ID:nRFkxlL9GFLOPS換算だと、どういう性能値になるのかな?
0430crazy_u
02/12/04 20:16ID:LtG05CzF<演算回数>
ijk型の分解(LDLT分解)をしているので、作業用の配列RDを使用してアルゴリズムを書くと、
icon=0
for i=1,n
for j=1,i-1
for k=1,j-1
Aij=Aij-Aik*Ajk ; 加算1, 乗算1
next k
next j
for k=1,i-1
Aii=Aii-Aik*Aik*RDk ; 加算1, 乗算2
next k
if(|Aii|<tolerance) then
icon=i
goto end
end if
RDi=1/Aii
for k=1,i-1
Aik=Aik*RDk
next k
next i
end
最後のループはその前のループと一つにできるので演算回数にはカウントしないことにすると、
n=10000で,演算回数=n(n+1)(2n+1)/6-n=333.383325 GFLOP
0431crazy_u
02/12/04 20:16ID:LtG05CzF<GFLOPS>
(user使用CPU時間+sysytem使用CPU時間)で割ると,
m=1: 333.383325/604.427=0.552 GFLOPS
m=2; 333.383325/285.411=1.170 GFLOPS
m=3; 333.383325/207.282=1.611 GFLOPS
m=4; 333.383325/181.609=1.838 GFLOPS
m=5; 333.383325/234.124=1.426 GFLOPS
m=6; 333.383325/299.615=1.114 GFLOPS
m=1はもとの旧態依然のコード(vectorizeはされている)です.多くのレジスタは遊んでいるのでしょう.
vectorizeによる性能向上はあきらめて手でloop unrollingをしていけばもう少し性能は上がるかもしれません.
P4は,倍精度浮動小数点命令を 2 clocksで2命令こなせるので,P4 2.53GHzだと理論性能値は2.53GFLOPSであり,
m=4では理論性能値の72.6%である.
性能値の計算方法が違ってたら御指摘ください.
この例では性能が向上していますが,vector計算機や通常のスーパースカラー計算機では性能が出る方法がP4では全くダメだ
ったりして試行錯誤の繰返しです.
0432login:Penguin
02/12/04 23:39ID:pg0evXMeインテル、Hyper-Threading対応コンパイラを発表
http://www.watch.impress.co.jp/pc/docs/2002/1204/intel.htm
0433login:Penguin
02/12/05 06:46ID:/JxgZHh9user+sys を演算にかかった時間とするというのは、
たとえばスワップなどの待ちが発生していない場合には、まあ妥当だと
思うが、現実の計算させている側からみると、user+sys よりも
現実にかかったWallClock(実時間)の方が意味を持つ。
メモリーサイズを越えた計算を行う場合には、user+sys の時間と
くらべて実際の時間はうんと長くなることはよくある。
0434login:Penguin
02/12/06 16:21ID:tdSYXBjWCVSから持ってきた Emacs 21.3.50.1 を icc -tpp6 -xK -ip -nolib_inline -O3 でコンパイルしてみました。
1. src/regex.h の最後の方に、__restrict を gcc のバージョンを見てほげってる部分があるのでそこをつぶす
2. temacs のリンクがうまくいくように、icc -v の出力を見ながら src/Makefile をいじる
・STARTFILES の最後に crtxi.o を追加
・LIBS から -lgcc を削除し、-limf, -lcxa, -lunwind を適切に追加
・LIBS の crtn.o の直前に crtxn.o を追加
ぐらいでうまくできました。
gcc に比べて速くなったか…は分かりませんねぇ…。どうやって比べればいいのかな?
0435login:Penguin
02/12/07 15:07ID:Ui0kbuxO21.2で試してみたけど上手くいかなかった。残念。
temacsは出来たけど、ldd temacsすると
/usr/bin/ldd: ./temacs: No such file or directoryと言われる。
リンクにミスってるのかな。もうちょい調べてみます。
0436435
02/12/07 15:20ID:Ui0kbuxO0437login:Penguin
02/12/07 15:40ID:Ui0kbuxOとりあえずMule-UCS込みでemacsをdumpするほうを頑張ろう……
0438login:Penguin
02/12/07 21:10ID:fP7YPqYNM-x hanoiで時間計ってみてら?
0439login:Penguin
02/12/07 23:19ID:Ui0kbuxOおお、なるほど。
elpでみると、一割弱ぐらいicc版のほうが速いかなといえなくもない感じですが、
実行の度にバラつきが大きいので、きちんと統計とらないとなんとも。
……という程度の違いぐらいでしたw
0440login:Penguin
02/12/08 16:02ID:t1EMsFPnお試し版ライセンスでダウンロード&インストールしてみました。
で、とりあえずHello worldからー、と思ってコンパイルしてみると、
# icc -O t.c
icc: error: Fatal error in /opt/intel/compiler70/ia32/bin/mcpcom, terminated by
segmentation violation
compilation aborted for t.c (code 1)
とエラーが…。-Oオプションを取っ払っても同様にエラーが出ました。
どのような原因が考えられますでしょうか?
0441login:Penguin
02/12/08 21:35ID:u1M6xTCCどんな Hello world 書いたのかまずは晒せ
044230
02/12/10 15:16ID:Ws55tYEeadress errorというものが出るようになりました。これはなにが
原因なんでしょうか?
0443login:Penguin
02/12/10 19:50ID:p6pBFSA9Usually caused by a wrong value being used as an address
(check the associativity of all pointers).
って書いてあるよ。
いきなり落ちるんだったらAllocatableな変数をallocateしないで
渡しちゃったとかって感じだろうけど、
しばらくして落ちるのはなんだろうね。
pointerを使ってるんだったら、そこを集中的に見てみるといいんじゃないかな。
0444login:Penguin
02/12/10 20:29ID:WQilySMD出るといいな。そんな感じのメールが今日僕のところに来ました。
044530
02/12/11 00:57ID:KREW2anIなるほど。pointerは使っていないので、原因はよくわかりませんね・・。
2週間くらい落ちずに計算してほしいので、6.0に戻すことにします。
ありがとうございました。
0446login:Penguin
02/12/11 03:23ID:ngo2KBLZ0447440
02/12/12 14:02ID:fC7hqe+lすみません。どうも、2.2系列のkernelで実行していたのが原因のようです。
2.4系列のマシンで試したところ、ちゃんと動きました。
0448おむこさん志望 ◆QtGqCwfDSA
02/12/12 19:18ID:Gd+VRRoblisp のベンチマークなら竹内関数が有名。
(define (tak x y z)
(if (>= y x) z
(tak ( tak (- x 1) y z)
( tak (- y 1) z x)
( tak (- z 1) x y))))
で、(tak 30 20 0) とでもやってみて。
ただ、一般ユーザから見れば算術演算よりもむしろ Garbage Collector の性能のほうが
気になる。現に (setq garbage-collection-messages t) eval ると GC しまくってるし。
GC のベンチマークはどうやればいいかな?ごみセルをものすごい勢いで生成する
プログラムなら何でもいいと思うけど。
0449おむこさん志望 ◆QtGqCwfDSA
02/12/12 19:21ID:Gd+VRRobemacs lisp 版は
(defun tak (x y z)
(if (>= y x) z
(tak ( tak (- x 1) y z)
( tak (- y 1) z x)
( tak (- z 1) x y))))
ってところかな。
0450login:Penguin
02/12/13 08:15ID:zhmsFywd不勉強なもんで、竹内関数の「た」の字も知りませんでちた。
それはさておき、Pen3/800MHz 上の Linux の emacs21.2 で、
とりあえず (tak 15 10 0) を elp で見てみました。
gcc2.96 -O2 で Elapsed Time が約 3045、
icc7 -O3 -mp1 -prec_div -fp_port -tpp6 -xiMK では約 2878 でした。
400MHz 以下の PC で emacs に微妙に重さを感じるような環境だと、
あるいは体感で違いが出るかもしれないなーという感じかも。
0451login:Penguin
02/12/19 17:03ID:5E3T5r1wバージョン7って6の時のやつ使えますか?
0452login:Penguin
02/12/19 17:08ID:C7axpMDs自分で試せることあるなら先にやってから愚痴言えばいいじゃん。
0453login:Penguin
02/12/20 12:29ID:GkB+B9PYCPUが過熱しているのでは?浮動小数点計算回路は、相当に熱を出すので、
浮動小数点計算をフルに稼動させると、そうではない場合にくらべて
かなり冷却をまじめにしなければいけなくなります。
CPUの温度が上がると、回路の動作可能速度が落ちてしまい、
回路がクロックについていけなくなるのです。
0454login:Penguin
02/12/20 13:32ID:/crymO6Z% tar xvf ./l_cc_pu_7.0.075.tar
(抜粋)
intel-icc7-7.0-75.i386.rpm
intel-iidb7-7.0-150.i386.rpm
intel-isubh7-7.0-75.i386.rpm
0455login:Penguin
02/12/20 13:35ID:/crymO6ZQ148399,Q162516 Profmerge causes SIGSEGV under critical system load
Q148801 Seg fault with virtual base, template class
Q144382 internal error: select_overloaded_copy_constructor: NULL constr
Q134428 incompatibility with regard to large file support
Q155513 compiler generates incorrect function name if function body changes
Q155001, Q163438 Multiple symbols created for local statics in cloned routines
Q153937 Internal error loop: source_file_for_seq: bad seq number on vla dim expr
Q149096, Q153942 constant used in generated andpd instruction is not 16-byte aligned
Q131763, Q162474 Problem with the code generated for delete[]
Q141709, Q160439 new substitute header file was added
Q100490 __declspec(align(n,off)): some (base,offset) pairs produce incorrect results
Q162533 dyn file corruption
Q158469,Q160670 Problem in PGO function naming scheme
Q144379 -vla cannot have static storage duration
Q122044 Compilation hangs when test case is compiled with optimization on
Q122047 Compiler hangs when optimization is on
Q96189 Is arithmetic operation on void pointers allowed?
Q151784 -xW vectorization gets wrong results
Q156239 inner loop was not vectorized
Q153389 Dwarf2 Lexical block boundaries incorrect, overlap other functions
0456login:Penguin
02/12/20 13:36ID:/crymO6Z書き忘れた。l_cc_p_7.0.065 からの icc の修正点です。
0457login:Penguin
02/12/24 16:18ID:JyDxMYz1「We're sorry, each user may only obtain one non-commercial license for each version
of an Intel software development product. ・・・」
と,ノンコマーシャルバージョンは,一人一つのバージョンしかダウンロードできない.
みんなどうやってアップグレードしてるの?
メアドたくさん手に入れて,それで再度登録?
0458_
02/12/24 16:20ID:ouu1I4jchttp://freeweb2.kakiko.com/dengeki/indexc.htm
0459login:Penguin
02/12/24 16:22ID:4v+Gtyjb取れない、って書いてあるけど??
0460crazy_u
02/12/24 21:05ID:OYox6oQQhttps://premier.intel.com
へいって,既に取得しているユーザIDとパスワードでログインして,"Download"か"What's New"へいけばOK.
既に取得しているライセンスは新しいバージョンでも継続して使えます.
0461login:Penguin
02/12/25 00:49ID:uv9cjelH0462login:Penguin
02/12/25 17:00ID:abtISU62でけた.
更新されてなかっただけ見たい.
ありがとう!
0463login:biginer
02/12/25 17:07ID:q3QDBWTa質問なのですが。
当方IntelPentiumIIIProsesscer800Mhzを使用して、
OSにRedHatLinux7.2Valhallaを使っているのですが
このような環境でもiccの効果は見込めますか?
Pentium4でなくてPentiumIIIの場合gccと比べて一般的にはiccでも高速化する傾向があるのでしょうか?
以上、かなり初心者ですが、質問に返答いただけましたら幸いです。
0464login:Penguin
02/12/26 23:59ID:G0YkL98D30%ほどの速度向上が見込めるそうです。
0465login:Penguin
02/12/27 14:38ID:GXP8e78Yiccで再構築に成功した人いないの?
0466login:Penguin
02/12/29 00:22ID:4wQu8ATxテキストに変換すると、精度がe-44のデータが出るのですが、
このようなゴミみたいなデータをゼロにするにはどうしたら
いいでしょうか?ちなみに、変数はreal*4で指定してます。
0467466
03/01/02 19:57ID:+EkiIDCE汚してすみませんでした。
0468login:Penguin
03/01/06 13:29ID:Do2PTvNh*.licって別のマシンで使い回し出来なかったけ?
HostIDとかとってる?
0469crazy_u
03/01/06 14:33ID:JaWhyWax偉くない人だけど考えを書きます.
*.licは別のマシンでも使いまわしできるけれども,
2台以上のマシンへ同時にインストールするのは商用用途なら絶対にしてはならないことです.
自分もソフトを書いて仕事をしている以上,他の人のソフトの権利も守るべきです.
マシンを載り換えるならOKだと思います.
0470login:Penguin
03/01/06 15:03ID:HQfFIc8mthanks
いや、正月を機会に速い箱に乗り換えてiccをインストールしようとすると
インストーラに撥られるんです。前の箱は解体したので研究が進みません。
契約は守っていますので一応。
0471ot22
03/01/06 18:15ID:5PqBTGENgcc3と思わせればできてしまいました。早くなったのかどうかはわかりません。
ライブラリはやってみようとしましたが、gccべったりの作りで断念しました。
0472login:Penguin
03/01/06 18:22ID:f86BKYE5NICのMACアドレスを見ていたりするのだが、
今はそういう問題じゃないんだよね。
0473login:Penguin
03/01/06 18:53ID:lP1onCdiああ、入らない。
その某ソフト(octaveの親御さん)が入っていてFLEXlmがそっちを見ていそうです。
/opt/intel/licensesじゃなくて/usr/localな方を見ているとか。
0474login:Penguin
03/01/06 21:52ID:Np8sVtCA>ot22
>一応iccだけでカーネルはできました(linux-2.4.21-pre2)
すばらしい。コンパイルオプションはどうしました?
0475login:Penguin
03/01/08 20:11ID:mhZesDiwはRed Hat 7.1が動きますか?
ifc7をP4-3.06で動かしたいんですが,
850EでPC1066の方がいいでしょうか?
シロートの質問で申し訳ありません。
0476crazy_u
03/01/08 20:38ID:FGrvqAXsinstallする時にライセンスがみつからない場合はライセンスの置いてあるディレクトリを聞かれませんか?
聞かれたら「絶対パス」で入力してあげればOKなはずですが.....
installできているなら,/opt/intel/compiler70/ia32/binにあるifc, icc, icpcを開いて
INTEL_LICENSE_FILE=/opt/intel/licenses;
export INTEL_LICENSE_FILE;
となっているか確認してみると良いと思います.
0477473
03/01/08 20:51ID:dtFQPFK8>crazy_u
>ライセンスの置いてあるディレクトリを聞かれませんか?
いや、「ライセンスはどこだ?INTEL_LICENSE_FILE=/opt/intel/licenses参照」
といってインスタレーションスクリプトが閉じちゃうんですよ。でFLEXlm
使ってるMATLABが走ってるんでそれがいたずらしているのかなと。
相変わらず仕事が止まったままです。欝。
0478crazy_u
03/01/08 20:54ID:FGrvqAXs動くかどうかは入れてみないとわからない.(多分,動くでしょう.)
新しいデバイスのサポートととかを考えると,赤帽7.3か8.0にしたほうが良いでしょう.
私は,850E(ASUS P4T533-C, 安定してます)で赤帽7.3と8.0でifc7を動かしてます.(2.53GHzと2.80GHz)
性能の総合評価では850EでPC1066だと思います.DDR266ではメモリーへの書込み,書換えはRIMM PC1066に遠く及ばない.
http://pcweb.mycom.co.jp/benchmarklab/2002/33/index.html
で比較試験をしていますので、参考にしてください.
E7205が今後どこまで上位のCPUとメモリをサポートしてくるか次第で有力候補ではありますね.
でたばかりのチップセットの場合は人柱になる覚悟も必要です.すぐにバリバリに使いたいならBIOSも枯れて安定している方を勧めます.
P4-3.06は非常に羨ましい!!
0479login:Penguin
03/01/08 21:18ID:Nu006fMNここも参照されたらいかが
www.hpc.co.jp
あたしは数値計算に最適化されたカーネルのパラメータとか知りたい。
0480crazy_u
03/01/08 21:30ID:FGrvqAXsinstallファイルの中を読んで調査するしかないかも....
中で使用されている変数名のどれかが既に他で定義されてしまっているのかもしれない.
それさえ分かれば臨時に別の変数名に書き換えてしまえばよいのですが…
力になれなくてごめんなさい.
0481crazy_u
03/01/08 21:56ID:FGrvqAXsもしかして,*.licをftpで転送してませんか?
binaryかasciiかどちらかは忘れましたがモードを間違えるとviで開いても見た目は分かりませんが壊れています.
保管してある(でしょうきっと) *.licをフロッピーディスクにいれて移してみてはどうでしょう.
■ このスレッドは過去ログ倉庫に格納されています