intel compiler for Linux part2
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 ページからダウンロードしてくるファイルが違うだけです。)
ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
前スレ
intel compiler for Linux
http://pc5.2ch.net/test/read.cgi/linux/1007024009/
使ってみたいけどめんどいからいいや。
3 :
login:Penguin :04/07/28 21:46 ID:ICn9nEX7
即死防止age FreeBSD-users-jpでIntel Compilerが話題になってるけど、実際のところFreeBSDで使ってる人いるの?
自己レスだが 前スレ見たら使ってる人はいるみたい。
5 :
login:Penguin :04/07/29 02:17 ID:qvR/hSO7
Opteron + Fedora core1 x86_64 の環境でIntel Fortran最新版を入れました。 しかし、コンパイル(というかリンク)ができません。 # ifort test.f ld: cannot open /usr/lib/crt1.o: そのようなファイルやディレクトリはありません # locate crt1.o /usr/lib64/Mcrt1.o /usr/lib64/Scrt1.o /usr/lib64/crt1.o /usr/lib64/gcrt1.o ldが/usr/lib を見に行ってしまっているようですが、どう対処したらよいのでしょうか? 過去ログにあった、-Xlinker -melf_i386をオプションでつけてもだめでした。 g77では、32bitモードでも64bitモードでもコンパイル&実行できるのですが。 googleでも調べたのですが、英語サイトでも事例が見つけられませんでした。 諸先生方 教えてくださいませ。
LD_LIBRARY_PATH ?
8 :
login:Penguin :04/07/29 08:45 ID:U/et6TWh
-# ってオプションをつけて実行されてはいかがでしょう?
9 :
6 :04/07/29 11:48 ID:FiQMJLq1
>7 LD_LIBRARY_PATH=/opt/intel_fc_80/lib:/usr/X11R6/lib:/usr/X11R6/lib64/modules となっています。
10 :
6 :04/07/29 11:51 ID:FiQMJLq1
>8 実行してみました。 $ ifort -# test.f /opt/intel_fc_80/bin/fortcom \ -D__INTEL_COMPILER=800 \ -D__ELF__ \ -D__unix__ \ -D__unix \ -D__linux__ \ -D__linux \ -D__gnu_linux__ \ -Dunix \ -Dlinux \ -D__i386 \ -D__i386__ \ -Di386 \ -mGLOB_pack_sort_init_list \ -I. \ -I/opt/intel_fc_80/include \ -I/opt/intel_fc_80/include \ -I/opt/intel_fc_80/substitute_headers \ -I/usr/include \ -O2 \ -mP1OPT_version=800 \ -mGLOB_source_language=GLOB_SOURCE_LANGUAGE_F90 \ -mGLOB_tune_for_fort \ -mGLOB_use_fort_dope_vector \ -mP2OPT_static_promotion \ -mP1OPT_print_version=FALSE \ -mP3OPT_use_mspp_call_convention \ -mCG_use_gas_got_workaround=F \
11 :
6 :04/07/29 11:51 ID:FiQMJLq1
続きです。 -mP2OPT_align_option_used=TRUE \ "-mGLOB_options_string=-I/opt/intel_fc_80/include -#" \ -mGLOB_cxx_limited_range=FALSE \ -mGLOB_as_output_backup_file_name=/tmp/ifortcOunm1as_ \ -mGLOB_machine_model=GLOB_MACHINE_MODEL_IA32_NONE \ -mP2OPT_subs_out_of_bound=FALSE \ -mGLOB_opt_level=2 \ -mIPOPT_obj_output_file_name=/tmp/ifort8cNGPt.o \ -mP3OPT_asm_target=P3OPT_ASM_TARGET_GAS \ -mGLOB_obj_output_file=/tmp/ifort8cNGPt.o \ -mP1OPT_source_file_name=test.f \ test.f ld \ /usr/lib/crt1.o \ /usr/lib/crti.o \ /opt/intel_fc_80/lib/crtxi.o \ -dynamic-linker \ /lib/ld-linux.so.2 \ -m \ elf_i386 \ -o \ a.out \ /opt/intel_fc_80/lib/for_main.o \ /tmp/ifort8cNGPt.o \ -Qy \ -L/opt/intel_fc_80/lib \ -L/usr/lib \
12 :
6 :04/07/29 11:52 ID:FiQMJLq1
続きです。 -Bstatic \ -lifport \ -lifcoremt \ -limf \ -Bdynamic \ -lm \ -lcxa \ -lunwind \ -lpthread \ -Bstatic \ -lirc \ -Bdynamic \ -lc \ -Bstatic \ -lirc \ /opt/intel_fc_80/lib/crtxn.o \ /usr/lib/crtn.o rm /tmp/ifortntsVAKgas rm /tmp/ifortcOunm1as_ rm /tmp/ifort0bQR7harg rm /tmp/ifort8cNGPt.o よろしくお願いいたします。
13 :
login:Penguin :04/07/29 12:02 ID:U/et6TWh
ifortってスクリプトです. 中の EFI2... を自分の環境にあわせればいいのでは? 標準ではRedHatになっていたと思います.
>>6 スレ違いだけど、Opteron なら PathScale の方が良くない?
15 :
6 :04/07/30 14:18 ID:cicc+Xhb
>13 もう少し、詳しく教えてください。 >14 PathScaleは、無料で手に入るのでしょうか?
16 :
login:Penguin :04/07/30 17:09 ID:Q69mJ1KS
>6 /opt/intel_fc_80/bin/fortcom ってなってますが, これ32bit版じゃ? 64bit版だと/opt/intel_fce_80/bin/fortcom になると思うんですが…
17 :
6 :04/07/30 23:28 ID:6UY27OqK
>16 32bit用のIntelコンパイラをinstallしました。。。 Intelコンパイラの64bitって、Opteron互換ではなくて、 Itanium系専用ではないのですか?
18 :
プレスコ大好き :04/08/01 11:05 ID:s5XxXbd8
>>17 EMT64サポートじゃないとね。
でもプレミアには出てこない...
どこにあるのか教えて > エライ人
Opteronで試してみて良い結果なら
プレスコ64を絶対に買いますから。
19 :
login:Penguin :04/08/01 18:42 ID:v7H1qt4X
> 18 2004/07/16 付けで Intel(R) C++ Compiler 8.1, Linux*, Extended Memory 64 Technology Edition product Release って出てましたよ premier に. もしかするとbetaテストで登録されて ないとだめかもしれません
うーん、非商用フリーで登録してると出てこないのかな。 非商用有償のライセンス持ってる人がいるので聞いてみようっと
IntelのEarly Access Programに登録しないと出てこないのかな?
22 :
login:Penguin :04/08/04 01:56 ID:BT8bkKmd
インテルにしてみれば、敵であるAMDには塩を送りたく無いはず。 可能性としては、インテルEM64T用のバイナリがそのままAMD64で 動いたり、あるいは拡張命令が使われている場合でも、アセンブラ とかオブジェクトファイルにパッチをあてるスクリプトのような ものをかませれば、AMD64用のコンパイラが出来てしまい兼ねないから、 金を払った客以外には無料で配らないのかな? そのうちLINUX用の無料コンパイラも、リリースされなくなるかも しれないね。既にMKLライブラリが(昔はLINUX用は自由にダウンロード できたのに)今では金を出さないと、正式には使えないようになって しまっているから。(期間限定のお試し利用は出来ても)
IA32のバイナリはAMDで走るので、64でもあまり気にしないでホスィ > インテル プレスコ64がリリースされるまでは、EM64用のコンパイラはおあずけかな。
24 :
login:Penguin :04/08/06 08:29 ID:EMXXxvDT
>> 22 逆もあるかもしれませんね. x86-64 で速そうな処理系として PathScale がありますから, Intel のコンパイラが良いとは限らない場合も 考えられますね.
C compilerの7.0はもう手に入らないんでしょうか?
26 :
login:Penguin :04/08/06 11:24 ID:YAwjWbMK
Pentium3 Mobileとprocに出るCPUを使っているんですけど、 このPC向けのおすすめCFLAGSってなにがいいんでしょう。 -xBと-axBはよさげなんですけど、他がイマイチ... # せめてman iccの内容が読めるぐらいの英語力がほしい
27 :
login:Penguin :04/08/06 16:20 ID:DWA0yRII
28 :
login:Penguin :04/08/07 10:54 ID:BCmqHKEL
PathScaleとかPGIのAMD64用のコンパイラの評価のレビューを頼みたい。
29 :
login:Penguin :04/08/18 00:48 ID:8J2xLkzy
>>6 私もXEON(EM64T)環境でつまづいてます。
Intel Fortran Compiler v8.1 "l_fce_p_8.1.018"は試した?
30 :
6 :04/08/18 09:10 ID:cEAVXPGo
>29 すいません、8.1は試してないです。8.0台です
31 :
29 :04/08/24 07:41 ID:3Mwxhp+g
>>6 本日Intel Premium Supportから"l_fce_pc_8.1.020"をDLしたら、問題なくコンパイル&リンクできました。当方、XEON 3.6 MHz EM64T+Redhat Enterprise Linux WS3です。
32 :
login:Penguin :04/08/26 02:13 ID:/C681NrU
debian sargeにitnel fortran 8.0をalienしてインストールしてみたんだけど、 ライブラリ関係がインストールされない。。。 /opt/intel_fc_80/にはdocとbinしかないっす。 どうやってインストールするの??
>>32 私の場合,l_fc_pc_8.0.046.tar.gzをダウンロード,展開して,
$ fakeroot -u alien intel-ifort8-8.0-55.i386.rpm
でintel-ifort8_8.0-56_i386.debを作って
# dpkg -i intel-ifort8_8.0-56_i386.deb
でインストール.これだけだと/optにインストールされるだけ
だから,
http://www.gfd-dennou.org/arch/cc-env/ifc/ ここのパッケージもインストールすると/optの下のファイルから
/usr/binや/usr/libにシンボリックリンクを張ってくれる.
無論自分で張っても問題無い.
kernel2.6のmakeできる?
35 :
login:Penguin :04/08/29 16:17 ID:NZajj8Xx
できる
嘘をつくな。できない
37 :
ot22 :04/09/01 16:15 ID:xEmjG1dt
34-36> icc 8.0でテストしてみました. モジュール関係はテストしていませんが 2.6.7 はmakeできました. .S -> .o の部分に関して手で介入してしまいましたけど. make したばかりのカーネルから書いてみました.
iccでコンパイルできるようにするパッチも出てたしね
39 :
login:Penguin :04/09/01 22:42 ID:YQU3Cs9l
>>37 パッチ掲載希望
漏れはpyrillionのパッチを使ってるけど
40 :
login:Penguin :04/09/05 00:19 ID:XMAIvtMq
期待age
41 :
login:Penguin :04/09/11 16:49:43 ID:YxZBXfpv
Opteron対応について詳細調査きぼんぬ。
42 :
login:Penguin :04/09/12 20:15:37 ID:cP7Zou8n
PCクラスタ作って計算やってる。 ifort最高!!!
マッキーきたーーーーーーーーーーーー!
44 :
login:Penguin :04/09/13 16:36:09 ID:FJV+YWvW
>>33 l_fc_p_8.0.034.tar.gzしか見当たらないのですが、8-8.0-55のはどこにあるのですか?
-rw-r--r-- 1 0 0 131436906 Sep 14 16:57 l_cc_p_8.1.021.tar.gz 全部入り?
46 :
login:Penguin :04/09/14 20:23:53 ID:qJJPhqIf
I_*c_p_8.1シリーズ,出現しました。
47 :
login:Penguin :04/09/15 17:51:58 ID:hI6wxbUm
みんなどこのftpのこと言ってるんだ? それとも夢見てるのか??
48 :
login:Penguin :04/09/15 20:00:00 ID:bwMhw7Mq
>>46 漏れは、intel premierからダウンロードした。Fedora Core2にインストール
したけど、コンパイル時にg++の場所がわかんないってErrorがでてつかえね
えよ。
49 :
login:Penguin :04/09/15 21:04:24 ID:g3jN8ZNR
RHEL3.0でもg++の場所がわかんないってErrorがでて使えなかった。
ゃっと8.1きたー・・・
もしかしてWin版の8.1って日本語版のVS2003に対応できない・・?
インテルのEM64Tコンパイラは、このような大きな配列の制限はありますか?? 前スレから引用 > 840 名前:login:Penguin[] 投稿日:04/01/14 01:50 ID:bxmMbzPt > GCCだと、AMD64用の場合、大きな配列が取れない。 > AUTOの配列の場合、1個あたり2GBを超える配列は取れない。 > STATICの配列の場合、1個で4GBを超える配列は取れない。 > STATIC配列では一個が大きくなくても、合計で4GBを超える配列は取れない。 > > 大きなメモリ−を割り当てる唯一の方法は、MALLOCとかCALLOCなどで > 動的に配列を割り当てること。Cならこれでメモリサイズの制約から > 逃げるしかない。
>>54 Windows版だけど、上から2GB、2GB、無制限(?)
Opteron+FC2-x86_64で8.0→8.1にしてみました。が、 ifort -O3 -xW -tpp7 -static では速度にほとんど差がありません。 man で見るとEM64Tは自動で判断するようなのですが、 明示的に指定するオプションはないのでしょうか?
58 :
login:Penguin :04/09/18 12:02:49 ID:pzyS9Iw0
>>48 解決情報キボンヌ。intel のForumで-cxxlib-gcc -gcc-name=/usr/bin/gccの
オプション指定しろって書いてあったが今度は/usr/bin/gccっていうディ
レクトリが見つかりませんってエラーが出る。ディレクトリ?
>>58 うちではgcc-3.2.3だったかな、だとちゃんといけて、
gcc-3.3.4をいれると通らない。
8.1で通るようになったかな?と思っていれてみたけど
やっぱりgcc-3.3.4だとだめだ。
60 :
login:Penguin :04/09/18 13:49:08 ID:pzyS9Iw0
>>59 fedora Core2でgcc3.4.2を使ってるけど、これにicc8.0.070.1をインスコ
して使ってるが、問題なく使用できている。
これをicc8.1に入れ替えたとたんに、g++かの場所がわからないってエラ
ーが出る。なぜ?
みんなl_cc_p_8.1.021.tar.gzインストール後,動かないのか。 こうなるとintelのバグ・・・というかミスの可能性が高いですね 最新update済みのFedoraCore2でも icc: error: could not find directory in which g++ resides でiccが動かない。
8.1のリリースノートで > -cxxlib-gcc Is Now the Default for C++ との記載があったので,8.0と同仕様にする-cxxlib-iccを付けても状況は変わらず。 さてどうしたものか。
63 :
login:Penguin :04/09/18 16:05:22 ID:pzyS9Iw0
>>62 -gcc-neme=/usr/bin/gccって試したが不可。
export GCCROOT=/usrって試しても不可。
いずれも、intelのuser forumに書いてある内容なんだけどだめだった。
さて022が出たわけだが
65 :
login:Penguin :04/09/18 20:39:33 ID:Z76z2i3k
68 :
login:Penguin :04/09/18 21:51:02 ID:pzyS9Iw0
69 :
57 :04/09/18 23:48:00 ID:bS0tNCQk
入れてみました022。 で、同じソースをコンパイルしてfileコマンドの比較をしてみました。 test32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped test64: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped ちゃんとx86-64になってます。 でも、実行速度はチョットだけ遅くなっちゃいました…AMDだから?
ん〜そうかも… gcc-3.4.2とかとくらべたらどう?
71 :
美江洲出井 :04/09/19 01:47:10 ID:jbv3nlQr
つまり、AMD64でも、EM64Tでも、どちらでも今のINTEL FORTRAN/C++は コンパイラとして使えるし、吐き出すコードはどちらでも動作する。 あるいはコンパイラが動作したプラットフォーム用のコードを吐く ということ?? ところで結果は正常ですか。 3DNOWとかAMD独自部分は サポートしてないと思うのですが、64ビットのアドレス空間はちゃんと 使えますか? sizeof(void*) が8ですか? SSE3をAMD64用にも吐くのでしょうか?
74 :
57 :04/09/19 11:06:29 ID:9hzsMIe0
>>71 022の出すコードはすくなともFC2ではx86_64と認識されてます。
EM64Tは持ってません。(プレスコ64ってまだですよね?)
64ビットのアドレス空間は試してません。sizeof(void*)は8でした。
ウチのOpteronではコンパイルオプションが -xW でないと動かなかった
のでSSE3は使ってません。新しいOpteronってSSE3を使えるんですか?
76 :
login:Penguin :04/09/19 11:47:28 ID:4xbaSxiK
>>63 Fedora Core2(i386)でエラーが出る件をintelのuser forumに書き込んだが
レスがつかないなあ。みんなは、どうよ。ちゃんと動作してる?
ソースコードにもよるが,iccで-x?と-ipoの最適化効果は大きい。
何かしらエラーが出る場合は、せめて-ipを入れた方がよい。
(-ipを入れることで自前のプログラムでは10%程度高速化された)
>>72 ・・・LAMEとPov-rayでは-ipを入れて欲しかったなorz
78 :
login:Penguin :04/09/19 11:54:14 ID:4xbaSxiK
>>77 漏れは、Ingoのパッチをあててkernel-2.6.9をcompileしてるが
icc8.0で、オプションで-xWNを指定するとkernelが起動しない
よ。あと、-parallelもだめ。-ipはOKだった。やっぱり極度の最
適化は、kernelの場合避けた方が吉?
>>72 内容は詳しく読んでないけど,表の数字を見る限り,64bits にする
価値はあまり無さげな気がした..
# 4GB 以上のメモリを積めばいいのだろうが..
>>78 カーネルのソースは全く知らないから何とも言えないorz
そもそもkernelはgcc向けに作っているだろうから、無理してiccを使わない方が・・・
81 :
login:Penguin :04/09/19 14:50:24 ID:4xbaSxiK
82 :
52 :04/09/21 22:30:01 ID:1lDFuhsU
英語版でもだめぽ。 どうもVS統合がインストールされないバグがあるみたい。
fvwmをMacOSXで使ってる人っているのかな? Exposeとか使えるのかが気になる。
86 :
login:Penguin :04/09/26 00:24:09 ID:py5qhdZK
>>76 RHEL3.0でcshを使用しているが,.cshrcの中で
setenv GXX_ROOT /usr/lib/gcc-lib/i386-redhat-linux/3.2.3
のように環境変数を設定したらv8.1は動いたよ。
FC2でもディレクトリ名を適宜変えて同様に設定すれば良いと思います。
FC2だと,/usr/lib/gcc-lib/i386-redhat-linux/3.3.3 でしょうか?
あとは,自分で確認して見てください。
87 :
59 :04/09/26 14:56:34 ID:7CaMw1hB
>>85 ,86
サンクス
ビルド通った
ちなみにお遊びでXFree86 4.4をビルドしたわけだがセグフォで起動せず
88 :
login:Penguin :04/09/27 01:02:47 ID:nSClzD5U
ItaniumってHPとインテルが組んで作ったCPUだったんだぜ。それをHPが 見捨ててしまったということは、その前途に黒雲が立ち込めているよね。 インテル自身も、止めちゃうんじゃないの、ああいった複数命令を埋め込んだ アーキテクチャーは。今後しばらくのトレンドは、マルチコアによる 多重スレッド処理かなぁ。
>88 HPが辞めたのはWSだけ,サーバーは辞めてないよ. 勘違いしないように.
>>89 でも、WSがなくなるということは、ItaniumのターゲットのひとつだったCAE関連ソフトは
今後Itaniumをサポートしてくれなくなる気が。
>90 意味が分かりません. WSやーめた -> CAEなんかどうでもいい ってことでしょ.
92 :
login:Penguin :04/10/03 19:14:33 ID:rWjdfbF4
通信などのサーバーやデーターベースにはイタニウムはむしろ、スカラーが 遅いから向かない。いちおう2GB/4GBをこえる実メモリを積んで、やたらに 沢山のジョブなりプロセスなりを同時並行して走らせることが出来るという 点に64ビットアドレスの価値はあったんだろうが、それももはやAMDの オプテロンであろうとインテルの EM64Tでも一応OKで、たぶんむしろ 速いだろうし。またOSが32ビットのプロセスをサポートしてさえすれば、 32ビットのIA32のバイナリのままでそれぞれは2GB以内でもトータルでは 沢山のプロセスが同時並行して走るからね。
icc8.1入れた icpcの挙動が -cxxlib-gcc がデフォルトになったようだ。 しかし、 $ icpc foo.c -o foo foo.c(1): catastrophic error: could not open source file "iostream" #include <iostream> のようなエラー発生 -gcc-name=/usr/bin/gcc-3.2 、というのをつけると 使えるようになるけど、なぜかロケールC限定 それでは...というので -gcc-name=/usr/bin/gcc-3.3|3.4 のようにしてみたが、これは通らない。 または -cxxlib-icc で以前の挙動の模様。
>>85 に書いてあるとおりやったら、逝けたので逝ってきます。
どうもすみません。
## 恥ヲ晒ス ##
# debianの場合
GXX_ROOT=/usr/lib/gcc-lib/i486-linux/3.3.4
GXX_INCLUDE=/usr/include/c++/3.3
export GXX_ROOT GXX_INCLUDE
96 :
login:Penguin :04/10/12 17:02:33 ID:aSwgWFzU
age
97 :
login:Penguin :04/10/12 22:55:11 ID:Ha3KPZlf
125MBもあるなー でかいなー
Windowsだけど、8.1で新しいコンパイラオプションつかったら速度が2倍近くになったぞ。 CVFよりもかなり速い。というか、8.0が・・。 Linuxのも試してみよ・・。
ペンタ4のハイパースレッド非対応のもの。 家のじゃないから確実じゃないが多分そう。
101 :
login:Penguin :04/10/13 17:43:43 ID:NZW5mPub
>>98 コンパイラオプションを書いてみてください。
102 :
login:Penguin :04/10/13 17:50:24 ID:DDqnsTrd
103 :
login:Penguin :04/10/13 18:04:00 ID:NZW5mPub
煽りではなく,そんなに効くオプションはどれか教えて欲しいのです。
>>101 > コンパイラオプションを書いてみてください。
書きまつ。
「コンパイラオプション」
これでいいでつか?
もっとでつか?
コンパイラオプションコンパイラオプションコンパイラオプションコ
ンパイラオプションコンパイラオプションコンパイラオプションコン
パイラオプションコンパイラオプションコンパイラオプションコンパ
イラオプションコンパイラオプションコンパイラオプションコンパイ
ラオプションコンパイラオプションコンパイラオプションコンパイラ
オプションコンパイラオプションコンパイラオプションコンパイラオ
プションコンパイラオプションコンパイラオプションコンパイラオプ
ションコンパイラオプションコンパイラオプションコンパイラオプシ
ョンコンパイラオプションコンパイラオプションコンパイラオプショ
ンコンパイラオプションコンパイラオプションコンパイラオプション
コンパイラオプション /inline:allプションコンパイラオプションコ
ンパイラオプションコンパイラオプションコンパイラオプションコン
パイラオプションコンパイラオプションコンパイラオプションコンパ
イラオプションコンパイラオプションコンパイラオプションコンパイ
ラオプションコンパイラオプションコンパイラオプションコンパイラ
オプションコンパイラオプションコンパイラオプションコンパイラオ
プションコンパイラオプションコンパイラオプションコンパイラオプ
ションコンパイラオプションコンパイラオプションコンパイラオプシ
つーか、最適なコンパイルオプションなんてコード毎にちがうだろ。
105 :
login:Penguin :04/10/13 23:40:10 ID:njeRHQ4p
>>104 >つーか、最適なコンパイルオプションなんてコード毎にちがうだろ。
それと、あんたが出し惜しみすることの関係が分からん
>8.1で新しいコンパイラオプションつかったら速度が2倍近くになったぞ。
あんたの理屈で言えば、これだってまったく無意味
つーか、ぶっちゃけ嘘だろ?
106 :
login:Penguin :04/10/13 23:44:59 ID:DDqnsTrd
>>105 よーくみると真ん中当たりにある。
とマジレス
失礼かつあわてんぼうさんでつね。
えー。これっぽっちのネタもだめでつか? わざわざ2ちゃんに公開したのに・・ネタもなしだなんてウワーン!
ネタってのは笑えるものを言うんだよ。
111 :
login:Penguin :04/10/13 23:58:36 ID:DDqnsTrd
それこそ人それぞれ
112 :
login:Penguin :04/10/14 00:09:20 ID:j8A60M20
このオプション使ったこと無かったけどコンパイルにムチャクチャ時間がかかるな デモハヤクナターヨ! (・∀・)
113 :
login:Penguin :04/10/14 00:37:04 ID:0VyAOG7m
-Ob2とか-ipとかとは違うオプションなのん?
114 :
login:Penguin :04/10/14 00:46:39 ID:j8A60M20
/inline:all = /Ob2 + /Ot だってさ
115 :
login:Penguin :04/10/14 16:06:02 ID:FYdoM336
vine 3.0 でインストール
116 :
login:Penguin :04/10/15 02:22:51 ID:8RP1Pzer
ifc sample.f -L/opt/intel/mkl/lib/32 -lmkl_lapack -lmkl_p4 -lptherad としても共有ライブリのlibmkl_p4.soをリンカが探してくれない静的ライブラリ は探してくれるのに。 iccだとちゃんと共有ライブラリを探してコンパイルできるんだが、 LD_LIBLARY_PATHとld.so.confにはちゃんとパスいれてます、ifc特有の 環境変数とかあるんでしょうか? ちなみに -Bdynamicつけてもだめでした。
117 :
login:Penguin :04/10/15 04:57:40 ID:yzK0lwj4
語尾は統一してください。
>>97 iccの方はjrockitやらeclipse+cdtやら余計な物が付きまくってる。
#いらねーよな、こんな重い開発環境...
119 :
login:Penguin :04/10/20 12:05:48 ID:B+wL26et
ifort8.1なんだがLANGを設定してないとg++のディレクトリが見つからないとか言われるよ。 昨日それで20分ほど迷った。 8.0の時はもんだいなかったのになぁ。なぜにLANGでg++(^^;
>>119 LANGを何に設定しましたか?
設定を設定なしにする?
すいません、最近ifcつかい始めた素人なんですが、数値計算に ライブラリを使うと良いと聞きました。 これは普通にifcをインストールしたらついてくるもんでは無いんですよね?(笑 数値計算ライブラリの使い方とか、導入方法とか、tipsみたいなものの情報が欲しいのですが 適当なサイトや本などあれば、教えていただけませんでしょうか?
124 :
119 :04/10/21 00:49:32 ID:t3v3vPLF
LANGを未設定だとエラーが出たので export LANG=c と設定したらエラーでなくなった。 >123 MKLは一時期有料しかなくなってた(5月頃)ので7.0買ったのに・・・ その後non-commercialで無料のが出たんだよね(Tд⊂ 単に見逃してたのかねぇ(^^;
125 :
login:Penguin :04/10/21 01:50:22 ID:aiFiypOr
日本に代理店が出来てしまうと、値段は高いわ、アカデミック価格はなかったり するわで、さんざんですよ。アメリカでしか売っていない時には、適用できた お徳な制度などが、日本の販売代理店が出来たとたんに、直接アメリカから 購入する路を断たれてしまい、日本の代理店に相談しろ、とけんもほろろに 突き放されてしまう。何も付加価値を与えられなく、なんのコンサルタントも しないただ売っているだけの代理店ほど有害なものはない。 インテルの製品に限った話ではなくて、値段の高いソフト全般に言えること。
インテルの製品には日本でアカデミック価格の製品はあるぞ。 サポートを代理店に頼んだら即回答されたんで、たぶんサポは インテルじゃなくて日本の代理店がしてくれてるみたい。 つーか大学の金で買ってもらったのでどっちでもいいが。
>>125 >アメリカでしか売っていない時には、適用できた
>お徳な制度などが、日本の販売代理店が出来たとたんに、直接アメリカから
>購入する路を断たれてしまい、日本の代理店に相談しろ、とけんもほろろに
>突き放されてしまう。
てなに?
128 :
127 :04/10/21 08:46:11 ID:BB23yUJC
すまん。詳しく書くと、 利用できたお徳な制度ってなに?
129 :
121 :04/10/21 10:27:24 ID:+UbpC/Ai
130 :
119 :04/10/22 04:34:38 ID:P57WIz0r
経過報告 ifc8.1だけでなくicc8.1でも LANG未設定の場合とLANG=jp_JP.UTF-8の場合で同様の 「g++のディレクトリが見つからない」というエラーが出ました。 コンパイルするときにはLANG=cが無難なようです。
>>130 LANGの問題はインテルで修正中だそうだよ。
インテルの掲示板によると。
132 :
login:Penguin :04/10/23 01:29:42 ID:JwL/vdY6
MKLってEM64T対応したの? それでAMDが提供しているライブラリよりも オプテロンマシンで性能でる?
>>132 EM64T対応だよ。
この前みたサイトでは遥かにOptelonを凌駕していたが、どうなんだろね。
CPMDという数値シミュレーションソフトを使いたいんだけど IFORT8.1+MKL7.0+CPMD3.9.1(3.7)+FedoraCore2(RHEL3) この組み合わせだとコンパイルが通っても実行時にメモリの確保周りでエラーが出る。 MKLの代わりにATLAS使っても同様のエラーがでるのでIFORTの8.1はまだまだ問題が多いのかもしれない。 IFORT8.0+MKL6.4では成功している人もいるようなので内部の設定とかに変更があってIFORT8.1を使うにはソースを変更する必要がある可能性が高い。 そこらへんの仕様変更あたりのマニュアルは読む必要あるかも
135 :
login:Penguin :04/10/23 03:19:35 ID:Y5fFw7JA
CPMDがIFCをサポートしている必要があるよ。 CPMDがサポートされている環境ならば、Intelはバイナリ完全互換をうたっているので製品もってる人はIntelもしくはCPMDで動くまでサポートしてもらえるしね。 IMSLFortranLibraryならばIFCをサポートしてるからそっち使うのがいいかとも思うんだが。
最新版にしてみたら自動ベクトル化と自動並列化を同時に行ったときの性能が格段にあがってる! 非最適化で30秒かかり、8.0で最適化して28秒だったものが、8.1で最適化したら3秒!! 多重ループで配列を入れ替えているだけのコードだが‥3秒って。 もうアホかと。
137 :
login:Penguin :04/10/31 04:58:12 ID:1jI6cTxI
debianにMKLいれるにはどうすればいいのでしょうか?
138 :
login:Penguin :04/11/04 12:48:27 ID:E9x68Iz0
iccの非商用ライセンスコンパイラで作ったバイナリは、iccのライセンス的には、このバイナリを配布してもいいのでしょうか?
>>138 だめ。非商用ライセンスではバイナリを配布することはできない。
非商用ライセンスは"個人"による"個人的な実験"の目的のみにしか使えない。
配布したり、実験データを公表することはできない。
ベンチマークとったものを公表するのも駄目らしい。
"個人"による"個人的な実験"の目的のみらしくて、個人を超える範囲ではだめだと。
140 :
login:Penguin :04/11/05 04:36:26 ID:L9w2Bei6
>>139 やっぱりそうですか・・・。
ありがとうございます。
ベンチマーク結果の公表もだめなんですね。厳しいなぁ・・・。
ソースを配布してicc(非商用版OK)でコンパイルしてくだちいって書くだけじゃないの?
>>141 それならば無問題。
つーかモマエ頭いいな。
143 :
login:Penguin :04/11/05 13:44:03 ID:NdO5pn2d
Linuxならそれでも通用するよね。
ベンチマークもだめってどうなんだろうね、結構宣伝にもなったりすると思うんだけど。
>>139 それに加えて研究目的もOKかと。ただあのライセンスは "not for profit" と
研究目的の差が不明瞭な気がする。まぁなんとなくはわかるけど
>>145 研究目的も、あくまでも個人ということなので、第三者に公表するような使用方法はできないよ。
例えば宿題に使ったり、テスト結果を公表したりすることは第三者に結果が渡る使用方法になるからだめらしい。
自分個人でのプログラム実験や、自分個人での家庭菜園管理ソフトの実験には使える。
でも家庭菜園管理ソフトを実稼動させる場合は実験じゃなくなるので商用ライセンスが必要になるらしい。厳密にはね。
147 :
login:Penguin :04/11/06 02:05:47 ID:Pe5oBGCN
「商用のコード」を生成するすなわち、商品のプログラムをコンパイル する為のコンパイラとしては使えないということなんだが。
>147 違う. ライセンス規約には>146のように記述されているから>147の使い方はライセンス違反になりかねない.
質問です。 icc8.1にして-cxxlib-iccで手元のプログラムをコンパイルしたら、 /opt/intel_cc_81/include/c++/xutility(1043): warning #748: default template argu ments are not allowed for function templates class _RanIt2 = _RanIt1> inline ってのが1043,1052,1060,1068,1076,1084,1092行目でそれぞれ出てきたんだけど、 これってiccのバグなのか、こっちのバグのどっちでしょうか。 icc8.0まではちゃんとコンパイルできてました。 コンパイラを共存させるために/opt/intel_cc_81に入れたんだけど、 どっかで間違えたかなぁ。。。
>>149 同じバージョン、8.xは共存できなかったような・・。
151 :
149 :04/11/06 03:57:56 ID:/wlncrpo
>>150 違うディレクトリに入れといて、
PATHとLD_LIBRARY_PATHさえちゃんとしとけば大丈夫じゃないの?
まあ、warningだから気にしなければいいんだけど。。。
>>151 やっぱりアンインストールしなければ駄目だってさ。
↓8.1のリリースノート抜粋
If you have Intel® C++ Compiler 8.0 or 8.1 installed,
you must uninstall it prior to installing this release
of Intel C++ Compiler.
>>149 install.shのなかの,UNINSTALL_OLD_PRODUCT ()で
if [ "$PROCEED_WITH_OLD_UNINSTALL" = "1" ]; then
の前に PROCEED_WITH_OLD_UNINSTALL=0 と書き込んで,インストール時に
新しいディレクトリを指定して,-ivh --forceを指定すれば共存できるよ。
或いは*.rpmを適当なディレクトリにコピーして
rpm2cpio *.rpm | cpio -id
で展開して,ライセンスファイルをコピーしてくれば使える(rpmでの管理はできなくなる)
154 :
149 :04/11/06 11:42:40 ID:FfkxzATc
>>153 rpmを展開して、icc,icpc,iccvars.shの<INSTALLDIR>を自分で書きかえて
共存させました。一応他のソースに対してはちゃんと動いてます。
install.sh使ってもできたんですね。
155 :
login:Penguin :04/11/08 04:50:27 ID:tw50L7ZE
>>146 論文を書くというのは?・・・いいだろ??
営利目的でなければ良いと思うのだが.ノンコマーシャルバージョンってのは
156 :
login:Penguin :04/11/08 04:52:15 ID:tw50L7ZE
ifort8.1の自動並列だけど,確かにだいぶがんばってくれているんだけど 何か滅茶苦茶な答えを出してくる.
>>155 論文書く目的ならばアカデミック版じゃないとだめらしいよ。
非商用版ではそれ使った結果を第三者に公表することができないから、
下手すると論文公表してライセンス違反発覚して、研究室ごと注意受けて
人生あぼーんということになりかねないよ。
うちんとこはそういうところに厳しいから、というか自己防衛のために
はっきりさせて、アカデミック版使ってる。
158 :
login:Penguin :04/11/16 01:37:17 ID:T8HqZbjs
ライセンスの何処に、個人研究者が研究用に使ってはいけないと 書いてありますか?
you as an individual may use the Materials for only personal, noncommercial and research purposes. 個人として、個人の範疇で使用できるが、 個人研究者が研究用に使用する場合、結果の公表が伴うので "as an individual" "for only personal"の範疇を超えるから 個人研究者が研究用にNONCOMMERCIAL-USE LICENSEを使用することは不可だろ
160 :
login:Penguin :04/11/17 02:32:51 ID:xlPCpLr9
その解釈は間違いだな。 ONLY PERSONAL の部分は「個人として」、つまり複数人の共同利用や 共用サービスに提供して使うや、他人に使わせるようなことは 出来ない。 NON COMMERCIAL は、「非営利で」あるいは「商売目的でなく」、 つまり利益を得る目的で利用あるいは商品開発で利用してはならない。 RESERACH PURPOSEは「研究の為に」、つまりホビーや商売や 教育の為にでなくて個人の研究用にということだ。 研究用にコンパイラを使用して論文を書くのには問題あるまい。 研究の成果物として、コンパイラが出力したバイナリを 有料で配布したりするとかなり黒いグレーだろう。 個人の研究で開発したソース自身を無料で配るぶんには、なんら抵触 しないはずである。
>>160 ソースの公開は問題ないが、バイナリの公開はほぼだめだろう・・。
>>160 ソースの公開は問題ないが、バイナリの公開はほぼだめだろう・・。
>>160 商売禁止とか複数人使用禁止ってのは分かるんだけど、
「ホビー禁止」ってのは何となく違和感を感じるなぁ。
(personal) or (noncommerical) or (research purposes)だと範囲広すぎるし、
どっかにライセンシングの FAQないのかな
Non-commercial means that you are not getting compensated in any form for
the products and services you develop using these Intel software products.
http://www.intel.com/software/products/compilers/clin/noncom.htm "not getting compensated in any from for ..."て、
有償の見返りを受けていればダメだろうというのは分かるけど、
論文書いたりとかいうのは compensatedには含まれるのかなぁ
/opt/intel_cc_80/licenses/clicense If you are using the Materials under the control of a Noncommercial-Use license, you as an individual may use the Materials for only personal, noncommercial and research purposes. The Materials may not be used for any other purpose, whether "for profit" or "not for profit." Any work performed or produced as a result of use of the Materials cannot be performed or produced for the benefit of other parties for a fee, compensation or any other reimbursement or remuneration.
盛り上がっている(?)所申し訳ないが、 そろそろ intel に直接聞いたほうがいいんじゃないか? と言ってみるテスト
intelのサイトのFAQには Q. I am engaged in academic research. Can I use the non-commercial product? A. If you, as an individual, are receiving any form of compensation for the research project (i.e., you receive a salary, or funding, etc.), you do not qualify for a non-commercial use license. って書いてあるぞ。
もれPremierSupportで聞いてみるよ。 ちょっと2,3日まっててくれ>ALL
>>167 ファンドも給料ももらってない学生ならオッケーてことだな(w
>>169 まあ、確認するからまってて。
結論出すのは早い。
給料を貰っている研究者なら、使用するのに 非商用版をqualifyする必要はないってことでしょ?
173 :
170 :04/11/18 17:28:27 ID:x3dM9V4S
ライセンスに関してPremierSupportに問い合わせの途中報告。 確認するから待っててだとさ。
個人であっても、プロジェクトに対して給料とかファンドもらってる人には、 non-commericalライセンスは与えられないってことだろ。
175 :
170 :04/11/18 19:27:15 ID:x3dM9V4S
確認してるからまってっていってるじゃないかばかぁ。 苦労して英文書いたのがむなしくなるじゃないか・・。
日本語すら読めない人が多いのですよ。
177 :
login:Penguin :04/11/19 06:09:00 ID:rp7QVp6c
機械語だと読めたりするのにネ。
>>178 週末になっちゃったから、月曜までインテルの中の人から返信こないんじゃない?
180 :
170 :04/11/21 00:31:47 ID:TG9ICMY6
Intel Developer Supportの人が、専門の人に確認してもらってるらしい。 その後まだ返信はないのでつ。
おお、企業の弁護士とか弁理士のとこまで話が行っているというわけ? だとしたら、決定版の答えだね。
182 :
170 :04/11/27 03:20:48 ID:2ndBIN2U
まだ返信がないのでつ。 よく考えたらサンクスギビングで今週は休みだったり・・・。
結構難しい話だったのかな。 僕も給料もらってない院生ですが、気長に待ってます。
184 :
login:Penguin :04/11/28 00:25:46 ID:SG2LlbeN
科研費のプロジェクトの一環としてインテルコンパイラを使うのなら、 予算の中から買えよということだろ。 教育用なら、授業料を取っている商売の形をしているから、当然 教育版か一般版を買えということだろうし。 固定の給与を貰っている教員が、自分の研究をするのには、無料版で いいだろ、ということだと思うが。
185 :
login:Penguin :04/11/29 01:42:38 ID:1gYyXz3+
ベンチマーク禁止とか、バイナリ配布禁止とか、ライセンスにもFAQにもどこにも書いてないぞ
「personal」という単語だけでそこまで縛れるもんなのか?
http://www.intel.com/software/products/noncom/faq.htm このFAQ見る限りでは、少くとも学生が自分の「class project」に使う分には大丈夫だし
Q. I'm developing a product that I provide for free. However, I do charge for supporting this product. Can I use the noncommercial products for developing this product?
A. No. Even though the product you develop is free, it is part of an overall commercial offering.
これ見る限りでは、直接的には答えてないが、いかなる形でも利益を得てなければ
バイナリ配布OKのように読める。(ソースコードのライセンスはコンパイラでは縛れないだろうから)
まぁ、
>>170 の回答に期待したいが、
1ユーザーとしては「書いてないことで縛るのはズルイ」と思うぞ(笑)
>>185 > いかなる形でも利益を得てなければ バイナリ配布OKのように読める。
185さんの主旨とはちょっと違うところを補足すると、
ライセンスで明示的に、「利益を得ていなくても」外部資金とかもらってるとアウトね
ぐだぐだ言わず買えばいいんだ。 パフォーマンスの話をしろ ライセンス厨はGCC使ってろ
チュー
190 :
login:Penguin :04/11/30 02:32:37 ID:9tebJcDM
>>185 > これ見る限りでは、直接的には答えてないが、いかなる形でも利益を得てなければ
> バイナリ配布OKのように読める。(ソースコードのライセンスはコンパイラでは縛れないだろうから)
そうだとちょっとうれしいな。
1. LICENSE DEFINITIONS: によると "Materials"はインテルが配ったものを指し、 一部"redistributable"なものを含む と読める。 その線で ii. NONCOMMERCIAL-USE LICENSE: 以下を読むと Materials(インテルの配布物) != Any work performed or produced as a result of use of the Materials ("Materials"を使用した結果生成されたコード) であるからして 生成されたコードに関しては 利益をとらなければOKと読める。
192 :
170 :04/11/30 06:13:05 ID:UuNo5Lu8
だからそれを確認してるからちょっとまっててよ。 うわーん。
193 :
login:Penguin :04/11/30 08:04:01 ID:Q4bVKEVj
>>192 それは分かってるって
だけど、ここで「今あるライセンス条項」から何が読み取れるかを話し合うのは別に悪いことじゃないだろ
ユーザーの立場としては、それこそが正しいとも言えるわけで
ぶっちゃけ、Intelの回答が無茶なものだったら、闘うことだってあり得るわけよ
まー、そこまではいかんだろうが
なぜに
>>170 がそこまで過敏になるのか分からん。関係者か?(笑)
194 :
login:Penguin :04/11/30 08:08:01 ID:Q4bVKEVj
>>191 うん。俺もそれが普通の解釈だと思った
そもそもフリーソフト開発支援の名目で無償版配布してると言ってるんだから
「個人目的」ってのがフリーソフト配布を縛るとは思えない
ベンチマーク結果の公表とかはなおのこと自由だと思うがねぇ
どこから出て来た発想なのか教えてほしいよ
>なぜに
>>170 がそこまで過敏になるのか分からん。関係者か?(笑)
オープンソースだとか、自由だとかを言いたければ、自分自身がまずは
権利に対して敏感になることは当然。
そうでないと、「泥棒の言い訳」程度にしか聞こえなくなっちゃうよん。
「年金改革しろ!」って言ってる連中が年金払ってなかったら、説得力も
半減でしょ?「なんだ、単に金払わない言い訳してるじゃん」って。
ってわけで、遅くなってもいいから、レポートよろ
>>170
196 :
login:Penguin :04/11/30 09:35:46 ID:Q4bVKEVj
>>195 いや、だからこそライセンス論議してるんでしょ?
別に俺自身は「泥棒」してるつもりはない
てか、君はぶっちゃけ失礼だな
例え話も的外れだよ
とりあえず、俺も
>>170 に期待してる点では変わらんよ
197 :
login:Penguin :04/11/30 09:38:21 ID:Q4bVKEVj
>>196 の追加
ああ、俺の書き方が足りなくて誤解を生んだのか
俺が「過敏」と言ったのは、「ここで議論すること」そのものを
>>170 が問題視しているように感じたんでな
しっかり書かなかったことは謝るよ
そもそもIntelの返答が遅すぎるのが問題。つーかしっかりと線引きしてなかったのか?
199 :
195 :04/12/01 00:26:15 ID:sGxWjNVd
>ああ、俺の書き方が足りなくて誤解を生んだのか
>俺が「過敏」と言ったのは、「ここで議論すること」そのものを
>
>>170 が問題視しているように感じたんでな
らじゃ。
日本語の「業務」って法律的にはけっこう広いよね(交通事故の「業務上過失ほげほげ」とか)
commercialっつーと、完全に「商売」の意味になるのかな。
200 :
login:Penguin :04/12/01 08:57:21 ID:l9JSsb8w
>>199 commercialというか、non-commercialの意味については
FAQで割と明確に定義してあるよね。成果物によって「直接もしくは間接に利益を得ない」使い方
さらに、ここでいう利益とは「金銭的な利益」に限られるように読める
そうでなければ、学生がclass projectで使ったり、フリーソフト開発に使うのもアウトだろうし
利益を広く捉えすぎると「使うメリットがない場合にしか使えない」(笑)ってことになる
個人的にはこっちよりもライセンスの「personal」「research」という利用目的の縛りが気になるですよ
netcdf,mpich を FedoraCore-3 x86_64 で icc,ifort-8.1 でコンパイル したいんだが、configure にうまく渡せん。vine+7.1,8.1 ではうまくいった のに、なにかヒントがあれば、
202 :
login:Penguin :04/12/01 21:40:06 ID:/p7HZ1Yq
>> 201 vineってことは32ビット環境ですよね. 32ビット環境と思わせればよいので CC='gcc -m32' ./configure i686-pc-linux-gnu くらいでごまかせませんか? 本当は該当する, スクリプトを手直しすればいいんでしょうけど
んでintelの回答まだ?
204 :
201 :04/12/02 09:58:28 ID:qhoWhI6p
mpich-1.2.6 は gcc3.4.2-6.fc3 で一発で決った。FC=ifc でも問題ない。 が CC=icc にすると checking that the compiler icc accepts ANSI prototypes... no *# The compiler icc does not accept ANSI prototypes で弾かれてしまう。netcdf-3.5.1 では、gcc+g77 では f90 で make でエラー が発生。CC=icc CPP=icc FC=ifc F90=ifc でも、CC='gcc -m32' FC=ifc でも checking if Fortran "byte" is C "signed char"... configure: error: Could not link conftestf.o and conftest.o で configure が通らない。debian,SuSE で ifort 使っているページもあるのだが。 それにして、簡単な fortran のプログラムでも、 export GXX_ROOT="/usr/lib/gcc/x86_64-redhat-linux/3.4.2" として、コンパイルすると ld: /usr/lib/crt1.o: No such file: No such file or directory となる。/etc/profile.d には i*vars.*sh を入れて環境の設定は しているのだが。通常のコンパイルさえ問題とは。
205 :
202 :04/12/03 11:52:52 ID:XtabzvXb
intelからmpiのライブラリが出てますよね。ライセンスがどうなっているか 調べてませんが。 それと, ifc, iccってgcc-3.4環境の下で動作することを保証してるんでしょうか? (cc1なぞの場所が変わっていますよね)
保証はしらないけど、とりあえず動いているよ。
208 :
login:Penguin :04/12/06 02:03:48 ID:XLBeulvP
最新のコンパイラを FreeBSD (IA32/EMT、OPTERON)で使えるようにするのには なにをどうすればいいのか、手順を教えて下さい。
さて、そろそろ2週間経つが未だに返答は来ないのか?
>>170 よ
_∧_∧_∧_∧_∧_∧_∧_∧_ デケデケ | | ドコドコ < Intelの返答まだーーーーー!!? > ☆ ドムドム |_ _ _ _ _ _ _ _ _ _ | ☆ ダダダダ! ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ドシャーン! ヽ オラオラッ!! ♪ =≡= ∧_∧ ☆ ♪ / 〃(・∀・ #) / シャンシャン ♪ 〆 ┌\と\と.ヾ∈≡∋ゞ || γ ⌒ヽヽコ ノ || || ΣΣ .|:::|∪〓 || ♪ ./|\人 _.ノノ _||_. /|\ ドチドチ
170がIntelに211送ったら神
ループがうまくベクトル化されるようなテクニックって無いの?
>>214 漠然と聞かれても誰も答えられないよ。
どんなループか簡単なサンプルを貼り付けてみな。
216 :
login:Penguin :04/12/18 18:39:44 ID:gS3+Xswe
>>215 つーか俺、SIMDとかMMXとか何ひとつわかってないので、どうゆうループ構造でどんなデータ型の処理に有効なのかもわかってないんだよね。
例えば、float型の配列の処理で、
struct{
float *data; // float値の画像を1次元配列にいれる
int widthstep; // 横1ラインのバイト数
} image
float sum = 0.0f;
for(i = si; i < ei; i++){
float *p = (float *)(image->data + i * image->widthstep);
for(j = sj; j < ej; j++){
sum += p[j];
}
}
こんなのはベクトル化できない?教えて偉い人。
>>216 下にコンパイルオプションを書いておいた。
単精度なら,OPT_MACHINEはPentiumIIIかPentium4用にして
CFLAGSには CFLAGS1, CFLAGS2, CFLAGS3のどれかを設定しておけばOK
一番内側のループがvectorizeされる。
どれがvectorizeに関係するオプションかは自分でマニュアルを読んで確認してください。
# Penteium III
#OPT_MACHINE= -tpp6 -xK -unroll4
# Penteium4,Xenon
OPT_MACHINE = -tpp7 -xW -unroll16
COPT0 = -c99 -prec_div -fno-alias -fno-fnalias -ansi_alias -ip -lib_inline -nobss_init -Zp16
COPT1 = -Werror -vec_report3 -V
CFLAGS3 = $(OPT_MACHINE) -O3 $(COPT0) $(COPT1)
CFLAGS2 = $(OPT_MACHINE) -O2 $(COPT0) $(COPT1)
CFLAGS1 = $(OPT_MACHINE) -O1 $(COPT0) $(COPT1)
CFLAGS0 = $(OPT_MACHINE) -O0 $(COPT0) $(COPT1)
マニュアルやIntelが公開してる資料をよく読むことと,
過去のvector計算機用のコードなども参考にすると良いでしょう。
科学技術計算で出現頻度の高い積和演算などは効率的にvectorizeされます。
ただし,なにしろ安いCPUなので制約が結構あります。
loopの増分が1以外はvectorizeされない。1以外でも強制的にvectorizeさせることができる場合があるが速くない。
vectorizeの効果は2〜3割程度。(vector計算機なら数倍の効果があった)
SSE, SSE2, SSE3についてはIntelの資料を参照のこと。
218 :
login:Penguin :04/12/19 07:37:59 ID:AdOAyAwj
>>217 詳しい人?
資料ってのはICC付属のマニュアルでいいんかな。
>>218 ・マニュアルは隅から隅まで一度は読んだ方が良い。
・最適化ガイドがインテルのサイトからダウンロードできるはず。
・Linuxに標準でインストールしたのなら資料がインストールされている。
/opt/intel/compiler70/training
/opt/intel_cc_80/doc/training
・1990年前後の情報処理学会の論文集にvector計算機向けの手法が投稿されている。
・1990年前後にvector計算機をターゲットにして科学技術計算向けに何冊か本が出版されている。
>>219 THX!
サンデープログラマーなんで本格的に勉強する時間はないけど,おもしろそうなんで行けるとこまでがんばってみる.
MozillaやKDEのコンパイルできるようになったの?
222 :
login:Penguin :04/12/23 23:51:01 ID:pUWGTVgO
icc 8.1 LINUX版をredhat9にインストールしました。コンパイルは出来るのですが、実行しようとすれば下記のコメントが出てしまします。 :error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory 解決方法をご存じの方、居られますでしょうか??
LD_LIBRARY_PATH?
>>222 そのエラーメッセージを超訳するとマニュアルを読めということだ。
何処にインストールしたのかは知らんが、例えば
/opt/intel_cc_80/bin/iccvars.sh
辺りに、iccを使い、また、iccでコンパイルされたプログラムを使う
ための環境変数を設定するシェルスクリプトがある。マニュアルに
書いてあるから読め。
7.1では何もなかったのに8に上げたら 実行はパス通さないと駄目になったね
マニュアル読むのが面倒だからここで聞いてるんじゃん. 少しは察しろよ.
>>226 > マニュアル読むのが面倒だからここで聞いてるんじゃん.
言語道断!!
2度と来るな!!
ちなみに平成16年現在、12月24日の午後9時から翌25日の午前3時までの 6時間は1年間で最もセックスをする人の多い「性の6時間」です。 貴方の知り合いや友人ももれなくセックスをしています。 普段はあどけない顔してサンプル配ってるあの娘もセックスをしています。 貴方が応援しているあの綺麗なRQもセックスをしています。 貴方の将来の恋人や結婚する相手は、いま違う男のチンポでヒィヒィ言っています。
231 :
login:Penguin :04/12/25 10:17:35 ID:vCffyf6H
その間私はせっせとコンパイルとバグ出しに精を出していました。
漏れはその時間帯にはヲナヌーして その時間帯を避けてセクースに勤しんでたワケだが。 non-commercial版をシェアウェアに使うのはクロだよな? (折れじゃネーよ、そゆことしかねないヴァカを見かけてるので)
234 :
login:Penguin :04/12/26 11:08:24 ID:CW+qYqOc
シェアウェアとして、コンパイルされたバイナリではなくて ソースを配るんだったらノープロブレム。
235 :
login:Penguin :04/12/31 02:23:16 ID:ZvoU84zn
聖なる星夜なのに、、、、 カトリック教会の関係者は、クリスマスの晩は絶食だというのに。
xplanetコンパイルしてみたらSEGV。 最初xiar, xild知らなくて迷った。
238 :
login:Penguin :05/01/04 13:37:17 ID:KlcazYtv
Vine3.X系で ICC compilerを動かしている人いますか?? できるのかなあ??
239 :
いなむらきよし :05/01/04 17:44:16 ID:Ec6ov292
障害者対応してないLinuxは奇形には使えないキケー!
CUIってそう言うのにかなり向いているという認識ですが。 DOSとか普通に生き残ってるし。
釣られんなよ。
242 :
login:Penguin :05/01/04 21:54:53 ID:CKhgjax9
OS と libc のリビジョンが icc の想定範囲外じゃない?
244 :
login:Penguin :05/01/05 18:30:35 ID:Mqia6MhU
使えるのかい? どなんでしょ
Vine-3.1(2.4.27-0vl7) Intel(R) Pentium(R) 4 CPU 2.26GHz,RAM-1GB,ST3120026A ----- himenobmtxp_s.f: g77-gcc-3.3.2 158.84 : (nothing) 359.51 : -O3 ifc(-7.1) 400.69 : -lPEPCF90 503.75 : -O3 -w -tpp6 -axiMKW -xiMKW -pad -lPEPCF90 ifc(-8.1) 391.54 : (nothing) 526.36 : -pad -axK ----- という結果になった。ちょっとCPUが古いせいか8.1では-axW(or N,B)は400台 Pだと動かず、iccはインストールできてnetcdf,mpichはコンパイルできたよ
246 :
login:Penguin :05/01/06 01:27:11 ID:TbMYJAbu
intel Fortran Compiler for EM64Tで AMD 64 用のバイナリを十分吐けることは判った。 そうして、intel MKL (Math Kernel Library)も(EM64Tのものを)リンクして AMD64上で動作することも確認出来た。だが、MKLではOpteronの性能を完全に 出し切ることは出来ない。そこで、AMD社が無料で使用出来る基本ライブラリ のバイナリとしてACMLを使う方法を示す。 ACML 2.5.0 for Linux 64 をダウンロードして入手する。 そうして、そのtaz ファイルを展開し、install64.sh を実行して デフォルトで /opt/acml2.5.0 にインストールする。 /etc/ld.so.conf を編集して /opt/acml2.5.0/gnu64/lib という行を加えて /sbin/ldconf を実行する。(再起動した後ではldconfを 実行する必要はない。) そうして、たとえばFedoraCore3 for AMD64 の場合では、 intel fortran の Linker 作動時のオプションに -L/opt/acml2.5.0/gnu64/lib を指定し、-lacml -lg2c を指定する ifort -L/opt/acml2.5.0/gnu64/lib a.o b.o c.o -lacml -g2c -o a.out という具合にだ。 これで、AMD64 用のメーカ製のハードに密着したライブラリであるACMLが 使えるのだ。MKL7.2 for EM64T を使うよりも性能が出ると期待してよい。
248 :
login:Penguin :05/01/06 20:51:44 ID:cQKIOjXb
なんでifortから -CA、-CS、-CU および -CV オプションが削除されたの? 結構使ってたのに。
さて、年も明けたが未だに返答は来ないのか?
>>170 よ
>>249 某PCクラスタのベンダーが言うには、
大学の非営利研究目的にはタダだってよ。
英語もそう読めるけど?
251 :
login:Penguin :05/01/14 18:25:35 ID:t2wSoeLp
Redhat8 (and 9),ifc V7.1 でMKL7.2をinstallしたら installation failed とか出て来てうまくいきません。 どなたか教えてくれませんか?(非商用版です)
252 :
login:Penguin :05/01/15 01:33:16 ID:wSabqPsN
ディスクは足りてる? ルートでインストールしてる? 他のバージョンのMKLがある場合に、それなりのことをしてる?
253 :
login:Penguin :05/01/15 01:34:08 ID:wSabqPsN
メールで送られて来るであろう ライセンスファイルをインストール するときの作業ディレクトリーに置いてやってる?
installation failed だけでなく他にもメッセージはでてるだろう。 ちゃんと読め! 久しぶりに来て見たけど,前スレよりもかなりレベルが低下してるね。 マニュアルを読まないで質問する人とか,出力されるメッセージを読まない(読めない?)人とかいるね。
レベルが高くなるような話題を振ってくださいよ兄さん
256 :
login:Penguin :05/01/15 12:27:35 ID:ZFWkp6Z3
251の続き: MKL のエラー(/var/log/mkl_install.logの中身の一部)は 次のようなものです。途中の化け文字など消してあります。 (レベルが低過ぎて悪いんですが…。ただし,252,253の問題は さすがに無いですが。) 01 11:49:22: Error - install.sh:786 Installation of intel-mkl-7.2p-8.i386.rpm. Logs are: 01 11:49:22: Error - install.sh:787 \n D: ============== intel-mkl-7.2p-8.i386.rpm D: Expected size: 68762605 = lead(96)+sigs(160)+pad(0)+data(68762349) D: Actual size: 68762605 : intel-mkl-7.2p-8.i386.rpm: MD5 digest: BAD Expected(4866571743295a52c622ba17cd6dad56) != (63145bf3ab0f23bc16f84a441ffaf407) : intel-mkl-7.2p-8.i386.rpm cannot be installed 01 11:49:22: Error - install.sh:847 Failed to install product
257 :
login:Penguin :05/01/15 14:03:58 ID:mbRCgia4
どなたかLinuxでファイルをCD-Rに焼く方法を教えて下さい。
258 :
login:Penguin :05/01/15 14:11:15 ID:mbRCgia4
↑みす
259 :
login:Penguin :05/01/15 17:10:52 ID:ZFWkp6Z3
256の続き:installできました! もう一度dawnloadしてやってみたらうまくいきました。 (installできなかった理由はよく分かりませんが。) 更に低レベルなことですが,例えば abc.f90 のコンパイルの仕方を教えてください。 optionとか。あるいはpathの通し方とか。 (低レベルなことがよく分からないとくやしいではありませんか。 高レベルなことならすぐにあきらめられますが)
変なのが住み着いちゃったなぁ
dawnload
262 :
login:Penguin :05/01/16 15:38:02 ID:W1LeIcMs
>>259 調べる=人に聞くと思ってる最低な人間だな
辞書だとでも思ってるのか?
l_cc_pu_8.1.024,l_fc_pu_8.1.021 と pu となったのが 出ているのは既出? 何がかわったんだろう
>>264 おとなしく待たずにぐたぐた言ってたら消えたな。
Intel に消されたな。 触れてはいけない暗部に踏み込んでしまったようだ。
267 :
login:Penguin :05/02/08 12:36:47 ID:EZFcSgBC
( ・∀・) ヘェーー
268 :
login:Penguin :05/02/11 02:45:44 ID:1kENP8yH
em64tでいんすこできないよ?
エスパーさんどうぞ↓
真面目な話、何故かem64tでインスコ出来ないんだが Vine3.1ではインストールの最初に「em64t」という字を見た気がするが Scientific Linux 304,カーネルとgccを64bit化したVineでは インストール時の説明に32ビット版しか出てこないし、 実際に32ビットでしかコンパイル出来ない様子 かなりググッたつもりなんだが、似た症例は無いみたいだし・・・・
>>270 インスコしようとしたtarファイルの名前くらい書けよヴォケ
272 :
login:Penguin :05/02/14 06:09:14 ID:OZ+CJm+N
>>270 Vineは64ビット環境が無いんじゃない?
ほぼ全書き込み=2ちゃんねる掲示板内社人 検索「 」罠 2ちゃんねる掲示板イカレてもとる
>>272 提供する情報が少なくて悪いが
32ビットのLinuxでもインストールの最初の画面では
ia32 / em64t or Itanium2 の選択の後に
32ビット版ifortの選択画面が出てくる・・・けど
X86_64のScientific Linuxやカーネル,gcc,glibc周りを64化したVineでは
いきなり32ビット版ifortの選択画面になる
なんか、ネタ&教えてクン扱いされてるし、もう来ない事にするが
em64tでインスコ出来ない環境があったとだけ・・・・
>>271 わざわざ古いバージョンでも入れてると思ってるのか?w
しばらく、俺を罵倒するレスが続くかと思うとROMるのが楽しみだwww
>>274 だからなんで書かないんだ?
そんなに難しいことか?
ま、苦労するのは俺じゃないから良いけど(w
何この魔空間
277 :
login:Penguin :05/02/14 22:34:12 ID:a/0MVskn
コテの池沼かぁ
ちょっとまって!Zsh/ladOX.ってそんなに変な事言ってる? 俺には至極普通の事をいってるようにしか見えないのだが?
魔空間ってのは
>>274 を指しているような気がするんだがなぁ。
結局バージョンを聞くくらいでZsh/ladOX.が何かアドバイスする訳でもなさそう だと俺は睨んでる
Windows EM64T版の話だけど、QxPオプション(SSE3使用)をつけると GenuineIntelチェックする。 _intel_proc_init_P()を自分のプログラムで宣言して、チェックルーチンを 回避する裏技も使えないようになっている。 Intel氏ね
282 :
login:Penguin :05/02/15 10:21:21 ID:rYwfu+f2
9.0βってアクセスできるの? ftpにはあるんだけど
>281 X86-32 Win/LinuxでもNオプションでAMDは跳ねられるよ Absoft/PGI/PathScale/IBM等のコンパイラ買うしかないでしょ。。
FTP見たら9.0Betaなんてものがころがっていたけど、なんだこれ?
285 :
login:Penguin :05/03/05 10:36:29 ID:B81dUc8/
ifc9.0beta,ダウンロードしたけれどライセンス番号が必要なようで インストールできませんでした!
mmap 使っている C++ プログラムで,-ipo をつけると segment fault で落ちてしまいます. (つけない場合や gcc でコンパイルした場合は問題なし.最適化は -O2) プログラムは, 1. seek でファイルサイズを大きくする 2. mmap という順番で処理を行っていて,最適化の結果この順番が入れ替わっているの がおそらく原因だと思っています.そこで質問なのですが,このような入れ替 えを防止するにはどうしたら良いのでしょうか?
287 :
286 :05/03/07 04:01:16 ID:5gGOYh/P
補足です. 関数定義の前に #pragma optimize("", off) をつけても変わりませんでした. スレッド等は使ってません.
288 :
login:Penguin :05/03/18 18:46:56 ID:DoN+1h2x
非商用版はEM64T対応してないのか('A`)
289 :
login:Penguin :05/03/18 19:04:49 ID:jfoUjYpk
>>288 ver9から同梱される感じ
(FTPから落して広げてみたら)...
OpenMP使って速くなった人いる? 行列計算でPrescott 3.8GHzのHTオンのマシンを使って試してみたのですが 全然変わりません。 スレッド並列では無くてプロセス並列にすると30%くらい効率が良くなるのですが。
292 :
290 :2005/03/21 03:41:30(月) ID:tDwDVAAZ
>>291 数値計算の2プロセスを同時実行するのと、1つずつ順番に実行するのを比べると、
同時実行した方が30%くらい速いのでHTの効果自体はあると思います。
ほんじつ ふるめのicc7で-xW -O3でなにかをこんぱるしたところ、 objdump -d にて、 いわゆるxmmレジスタというものを使用しているのを、 目撃。 意味不明だけど、なんかうれしいので 貼。 ... 8048b23: 66 0f 6f c3 movdqa %xmm3,%xmm0 8048b27: 66 0f 6f cb movdqa %xmm3,%xmm1 8048b2b: 3b f5 cmp %ebp,%esi 8048b2d: 66 0f 73 d8 08 psrldq $0x8,%xmm0 8048b32: 66 0f 66 c8 pcmpgtd %xmm0,%xmm1 8048b36: 66 0f ef d8 pxor %xmm0,%xmm3 8048b3a: 66 0f db cb pand %xmm3,%xmm1 8048b3e: 66 0f ef c8 pxor %xmm0,%xmm1 8048b42: 66 0f 6f d1 movdqa %xmm1,%xmm2 8048b46: 66 0f 6f d9 movdqa %xmm1,%xmm3 8048b4a: 66 0f 73 da 04 psrldq $0x4,%xmm2 8048b4f: 66 0f ef ca pxor %xmm2,%xmm1 8048b53: 66 0f 66 da pcmpgtd %xmm2,%xmm3 8048b57: 66 0f db d9 pand %xmm1,%xmm3 8048b5b: 66 0f ef da pxor %xmm2,%xmm3 8048b5f: 66 0f 7e d8 movd %xmm3,%eax 8048b63: 7d 10 jge 8048b75 <show_result3+0x1ab>
これって、c++で記述したほうが最適化パフォーマンスは得られるのでしょうか? cだといろんなオプションを指定してもgccよりも10%くらい速度が落ちるんですよね…
RPM無いと入れられないの?
Intel(R) C++ Compiler for 32-bit applications, Version 8.0 Build 20031016Z Package ID: l_cc_p_8.0.055 で -shared をつけてコンパイルしようとすると -static や -fast をつけてい ないのにもかかわらず,以下のようなエラーが出ます. /usr/bin/ld: -static and -shared may not be used together 同じ現象に会われた方はいませんか?ちなみに icc の以前のバージョン(7.x? あまり 覚えてません)では,同じオプションで問題なくコンパイルが通ってました.
297 :
login:Penguin :2005/04/17(日) 01:34:16 ID:VZ2qyxr7
>>296 なんでそんな古いBuild(2年も前)のものを使おうとしてるの?
299 :
298 :2005/04/23(土) 09:18:57 ID:WsBOlQWT
build完走。
アドレス欄と検索欄がダブルサイズだけど他は一応問題なく動いた。 でもgccより遅い、vine純正よりも遅かった。 不完全。
ifort 8.1 で4GBのメモリーを使う計算は実行できますでしょうか。 OSはFC3のEM64Tです。PGIのコンパイラでは可能ですが、ちょと高い…
うっ、ageてなかた。
>>301 試用版があるんだから、自分でやってみれば?
304 :
login:Penguin :2005/05/14(土) 02:44:22 ID:MncWBPdi
できるよ。俺はOPTERONでメモリを8GB積んで、仮想記憶で30GBの計算をしている。
30GB も何に使うんでつか?
306 :
login:Penguin :2005/05/17(火) 02:50:07 ID:QmQAgKHL
逆に聞くが、では4GBを大して越えるのでもないような計算をするのに どうして64マシンを必要とするのかね? 命令やポインタなどが無駄に バイト数を取ってかえって遅くて大きいだけ損じゃないのか? ディスクがあれば、100GBだろうと、1TBだろうと仮想記憶で計算したい。 そうでないのなら、ディスクファイルを明示的に使って、せっせと 入出力によってデーターを出したり入れたりして、保守性の悪いコード をかけばいいんだよ。もちろん32ビットでね。
308 :
737 :2005/05/18(水) 15:55:38 ID:sTf1w6wr
>>306 30GBっていうと、4GBよりは十分大きいが、それはさておき、
304は特殊な事例かもしれんが、ふつうは仮想記憶を使わないようにコードを組んだ方が圧倒的に早い。
64bitマシンでメモリ空間が広くなるのもうれしいが、もっとも得する部分は、多倍長演算のようなきがするな。
使わん人にはまったく意味不明かも知らんが、 ちまちましたことを考えずに4GB越えが出来るつうのがあるんよ。
310 :
login:Penguin :2005/05/21(土) 00:11:05 ID:rMdp3YCz
Gnu C なら long long を使えば32ビットマシンでも64ビット整数が使えるので、 多倍長の利点は? 仮想記憶を使わないで、ファイルをあからさまに開けたり閉めたりし、読んだり 書いたりなんざやってられるかってぇの。
311 :
login:Penguin :2005/05/24(火) 03:52:58 ID:vtEfZ+ID
やっぱ、使えるレジスターが倍ってのが嬉しい
312 :
login:Penguin :2005/05/24(火) 15:34:31 ID:6tffaI7u
ICCコンパイラーをインストール中にフリーズしたのでアプリケーションが中途半端にインストールされてしまった(ヘッダーだけがインストールされた)。 結果、再インストールしようと試みたが、 Substitute Headers for Intel(R) C++ Compiler for 32-bit applications, Version 8.1 Installing... This was already installed. Installation failed. と表示されてインストールできない。rpmファイルが完全にインストールされてないので、rpm -e コマンドで削除もできない。 どなたか対処方法しっておりますか??ご教授お願いいたします
313 :
login:Penguin :2005/05/24(火) 15:48:25 ID:6tffaI7u
↑ 再インストールの時にオプション「-U 」や「--force」でなく、 「-ihv」とすれば上書きインストールできますよ。
GentooのUSEフラグの-iccがすごく気になる。 Add support for the Intel C++ Compiler (does _not_ set $CC)
FTPに9.0の最新プレビュー版が出てますね。
316 :
737 :2005/05/30(月) 11:36:33 ID:xLFCRWyv
>>310 多倍長演算ができる、できないって話じゃなくて、速度が全然違うよ。理由はだいたいわかるだろ。
>>315 前のはライセンス周りが訳分からなくて使えなかったけど、
今度のは使えるかなあ。
なんかipp5.0ベータの方がpremirにきているし。
icc9.0の案内をくれよorz
調べてみたらシステムにあるライセンスを使うというオプションがあったのでインストールできた。
>>315 そのプレビュー版って、どこをあさると出てくるですか。
320 :
login:Penguin :2005/06/08(水) 04:25:19 ID:IZ76wtzA
amd compilerはないの?
323 :
login:Penguin :2005/06/15(水) 08:33:42 ID:lIOX1Mu3
正式にifc9がリリースされたとメールが来て,ダウンロードしてインストールした
コンパイルオプションが大分増えた.
性能については,自動並列化については相変わらずかな.
>>322 AMDの環境が無いから分からないけど,AMDに関するコンパイルオプションは無い.
324 :
login:Penguin :2005/06/16(木) 10:05:33 ID:xDB/dWWo
>>323 リリースノートを見る限りではAthlonとOpteronには正式に対応している。
EM64TだってAMDの方が先だったと思うし。
win版のifortを使っているけど、初期化やSubroutine引き渡し変数のチェック
などが整備されて、ようやくCVFから完全に離れられそう。
9.0試してみたけど、コードによっては8.1より5〜10%近く速くなるものがあるな。 新しいオプション読むのに一苦労だ。
326 :
login:Penguin :2005/06/16(木) 22:43:22 ID:43m9HKRM
eclipseインスコしたけど Fedora coreを日本語にしてると起動しないね
さて、
>>170 はいつIntelからの返答を書いてくれるのかな?
14日に正式に9.0にうpしたんだな>icc
現在,Itanium2 1.5GHz 1台とP4 3.06GHz 3台を計算機として(個人で)使用してます。 7月にはdual Itanium2 1.3GHzのマシンを組立てるもりだけど, その後のIA32からのマシンの更新はOpteronを考えてるんですが, OpteronでIntel Compiler使っている人はいますか? 性能はどうですか? ベンダーコードを見てはねられているということはないですか?
9,0は8月までオアズケなノンコマース的俺が来ましたよ
>>329 疎行列の対角化プログラムの速度は Intel > PGI ですた。
332 :
329 :2005/06/20(月) 22:50:41 ID:4ZsiN3SY
>>331 回答有難うございます。
Opteronには割と安心して移行できそうですね。
このままIntelプラットホームのメモリ帯域がなかなか広がらないなら,
IntelのCPUとはさよならするつもりです。
Opteronが公式なベンチマーク結果としてるものは ICCでコンパイルされているしな
334 :
login:Penguin :2005/06/27(月) 02:15:39 ID:ZXwsDOV1
インテルのIA32,EM64Tコンパイラいずれも、OPTERON上で問題無く動きます。 但し、並列コードを出す機能がOPTERON上で適切に動くのかどうかは、 調べていません。(OpenMPの機能をインテルコンパイラは持っている。)
335 :
329 :2005/06/27(月) 20:37:43 ID:jMegnQfs
336 :
login:Penguin :2005/06/29(水) 02:03:51 ID:ZCLVokDz
9.0では、なんと正式にAMD64までサポートしているとインテルのコンパイラの ページには書かれている。ということは本当にAMDのCPUであるかどうかを 見別けるようになったということで、何か細工をしてたりしないのかなあと 一抹の不安も感じる。(たとえばAMDの場合には性能が上がらないような コードを出してたりとか。) マルチコアCPU対応にさっさとなったというのは凄い。
337 :
login:Penguin :2005/06/29(水) 20:35:42 ID:ZCLVokDz
さっそく9.0のコンパイラ(ICC,IFC)をDOWNLOADしてみたところ、 ライセンスキーが無いと作動しないことがわかった。 LINUX版は無料ではなかったのか?
ライセンスキーないと作動しないのと、無料なのは関係ないと思うのだが。
>>336 やっぱそう思うよな〜。
今までの悪印象が邪魔をする:-p
>>337 どうやってダウンロードしてきたのかと小一時間(ry
343 :
login:Penguin :2005/07/05(火) 22:48:24 ID:9LuydTaj
>>337 Until August 2005, our Non Commercial customers will continue
to get Intel(R) Compilers version 8.1.
After that, they will be able to access and download o
ur latest Intel Compilers version 9.0.
>>336 PathScale や PGI のような AMD64 寄りなコンパイラベンダーもあるし、
コンパイラ屋の良心として「Opteron だと ICC のコードは遅いよね〜」とは
言われたくないと信じたい。
インテルのコンパイラ屋は方々の会社から買われてきた人たちだし、、、
345 :
login:Penguin :2005/07/07(木) 02:31:03 ID:HQ+0H1GT
英語読めないアホの為、翻訳したる。 2005年の八月までは、うちの非商用のお客はんはインテルコンパイラ バージョン8.1をダウンロードしつづけてもらひ、 そういったお客はんが最新のインテルコンパイラバージョン9.0へ アクセスとかダウンロードできるようなりますのは、そのあとどすえ。
346 :
login:Penguin :2005/07/09(土) 01:44:51 ID:8LamgCSv
非商用にも9.0キター!!
情報thx
ダウンロードするファイルのサイズがかなりでかくなった。
351 :
login:Penguin :2005/08/05(金) 23:37:32 ID:RMpCK8mg
>>350 EM64Tも同梱されるようになったからね。
9.0がインストールできない。 非商用のライセンスを取り直すの?
「9.0がインストールできない」とか書けば、一意に 状況が特定出来ると思っている人がここにも一人。
7や8のときはライセンスなくてもインストールはできたぞ。 icc hogeとかした時に初めてゴルァされた。
どうせAMDだと遅くなるのかな
356 :
login:Penguin :2005/08/19(金) 17:28:31 ID:gecL2/KY
/opt/intel/cc/9.0/bin/icc hello.c とすると、 icc: error: could not find directory in which g++ resides というエラーが表示されてコンパイルできません。 (hello.cはprintfで文字列を表示するだけの簡単なものでgccではコンパイルできます) インストールに失敗しているのでしょうか? それともインストール後に設定などが必要でしょうか? 環境は CoLinux上に構築した"fedora core 1"でカーネルは"2.6.10" l_cc_p_9.0.021をDLしてinstall.shでインストールしました。 /opt/intel/cc/9.0/bin/icc -V を実行すると以下のように表示されます。 Intel(R) C Compiler for 32-bit applications, Version 9.0 Build 20050430Z Package ID: l_cc_p_9.0.021 Copyright (C) 1985-2005 Intel Corporation. All rights reserved. 30 DAY EVALUATION LICENSE icc: NOTE: The evaluation period for this product ends on 14-sep-2005 UTC. icc: Command line error: no files specified; for help type "icc -help"
GXX_ROOT
358 :
login:Penguin :2005/08/19(金) 17:58:39 ID:gecL2/KY
>>357 ありがとうございます。
早速、
GXX_ROOT=/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/
としてから、
/opt/intel/cc/9.0/bin/icc hello.c
を実行しましたが、同じエラーが表示されてしまいます。
GXX_INCLUDE=/opt/intel/cc/9.0/include/c++/
も追加しましたが同じでした。
また、先ほどから色々調べてみて
/opt/intel/cc/9.0/bin/iccvars.sh
を実行すればよさそうだったので実行してみたのですが
実行してもPATH等が反映されていなかったので、
PATH="/opt/intel/cc/9.0/bin:$PATH"
LD_LIBRARY_PATH="/opt/intel/cc/9.0/lib"
INTEL_LICENSE_FILE="/opt/intel/cc/9.0/licenses:/opt/intel/licenses:${HOME}/intel/licenses"
も直接、実行しました。
それでも同じエラーが出てしまいます。
g++ -v の結果は?
Vine3.1にインスコ中なんだが。 ./install_cc.sh 中の 1269行目あたりで不具合がでるんで, CMD=`type -p $c 2>&1` ; を CMD=`type -P $c 2>&1` ; に変えてみた。 インスコに必要なコマンドが揃ってるか調べる部分の様だが、lsが無いと怒られる。 lsをunaliasしたけどだめっだんで、上みたいにスクリプト弄ってみたよ。大丈夫なのかな? つーか,typeコマンドの詳細がわかんない。-p と -Pでどんな違いがあるんだどうか?? 後学のために誰か教えてくれんか?
362 :
login:Penguin :2005/08/23(火) 10:56:07 ID:4MP1YJaT
>>361 うっしゃ。
英語とmanの使い方から勉強することにしたわ。
>>362 追加ヒント: jman, JM Project
man man mite chinchin okki.
366 :
login:Penguin :2005/08/24(水) 12:31:31 ID:Bfs3DiMJ
ifort v9.0(EM64T)をFC4で使ってます。
test1.f:
program test1
call test2
stop
end
test2.f:
subroutine test2
print *,"test"
return
end
として、 ifort -O -c test1.f ; ifort -O -c test2.f ; ifort -O test1.o test2.o とすると、
IPO link: can not find "("
ifort: error: problem during multi-file optimization compilation (code 1)
と叱られます。
直接 ifort -O test1.f test2.f とする場合、上記の問題は起きません。
http://softwareforums.intel.com/ids/board/message?board.id=11&message.id=2693 でも議論されてるようなのですが、何が問題なのか知ってる人いませんか?
空のsubroutineが入ってるdummy.fを用意して ifort -O test1.o test2.o dummy.f
とすれば一応回避は出来るようなのですが..
非商用版は64ビットコンパイラはないのでしょうか?
>>367 一つ前のレスも読めないようではムリぽ。
Ver8.1→Ver9.0ですこし速くなってるのはうれしい。
けど〓OCしたアレと比べるとプレスコの実力が浮き彫りに。
速いのはメモリアクセスだけだたのね。
プレスコ3GHzで11m45sなのが2.8GHzで3m15sだと。なんで?
369 :
login:Penguin :2005/09/15(木) 18:53:46 ID:t6b8rNk9
>>366 おれも今ハマってたとこ。32bit版でも同じ症状になる。
gccのバージョンが4.0だとそうなるという話を別のところで見てgccのバージョンを3.4.4に下げてみたけど変わらず。
なんなんだろうな、これ。
370 :
しろうと :2005/09/15(木) 20:20:12 ID:/DR/xEmj
Linuxで5インチFDを読む方法:
場違いであることお許し下さい。それだけピンチです!!
どなたかLinuxで5インチFDを読み込んだ経験があるかたおられますでしょうか?
それもwindowsOSができる以前の汎用機の独自のフォーマットで書かれた
(おそらくIBMフォーマットというもの。はっきりしたフォーマットが
わからない状態です。5FD自体はMD2ー256HDというもの)FDとかで
やられた経験があるかたおられないでしょうか?
IBMフォーマットの参考URL:
http://www.edsoftz.com/diconvx/ibmformat.html もし、おられたらレス下さい。よろしくお願い致します!!
修論で扱うデータなんです。これが読めないとやばいんです!!
助けて下さい!!
>>370 黙ってコンバートスター統合版を買いましょう。
>>373 まったくだな。ナイスコメント。
というか、ほんとに良いコメントじゃん。お礼ぐらい書けよ。
PentiumD,IFC9の組み合わせ, やっぱり,自動並列化-parallelの効果ってほとんどないんだよね〜 某IBMのマシンでは,しっかり並列性能出るコードなのに・・・・
376 :
login:Penguin :2005/09/26(月) 16:24:38 ID:dI1qZx8f
C++4.0.2にしたら /usr/include/c++/4.0.2/cmath(353): error: identifier "__builtin_powi" is undefined { return __builtin_powi(__x, __i); } のようなエラーが出てコンパイルできなくなりました。 どうすればいいんでしょ?
>>375 OpenMP使用しるっ!
最強キタコレ
378 :
375 :2005/10/03(月) 08:32:40 ID:jdzesu1d
>>377 ん〜OpenMPでもいいんだけど・・・
高々30%ぐらい?
がんばって,OpenMPでチューニングしてもそんなもんかな.
>>378 たぶんそれちゃんと並列化されてないよ。
プログラム自体がマルチスレッドに適していないような気がする。
ちょっと修正するだけでも変わるからIntelThreadProfileとかCheckerとかで
調べてみれ。
きっちり並列化すれば、2CPUで1.7倍は並列化効率出るでしょう。 粒度をどのくらいにするかも関係あるし。
381 :
375 :2005/10/06(木) 23:58:40 ID:6gO1uTVt
>>380 1.7倍ね〜・・・具体的な数字を出してくれて参考になるけど・・・
デュアルコアな場合は,粒度は小さい方がいいのかな?
キャッシュは別々でも,メインメモリは共有でしかもメモリバンド幅
は大きくないと.
キャッシュからこぼれるような粒度の計算は,性能が出ないかと...
姫野ベンチのデータを希望!
382 :
login:Penguin :2005/10/08(土) 03:12:35 ID:/nHTJLeE
姫野などのような、メモリバンド幅のベンチマークのようなコードは データ-バスを共有したメニ-コアのCPUで性能が出たらむしろそりゃあ おかしいだろ?
LinuxのインスコされてるDドライブをDOS領域として再度フォーマット したいのですが、fdiskでは「MS_DOS領域を作る領域はありません」との メッセージが出てさせてもらえませんでした。どのようにすればいいで しょうか?方法が掲載されているHPの紹介でも結構ですのでお願いします。
384 :
383 :2005/10/08(土) 11:22:50 ID:aHqqwrd4
誤爆でした。すみません。質問スレに書き直します。
Intel compilerとccacheを組み合わせて使ってみたんですが、まったくcacheがヒットしません。 何か特別なオプション等が必要なのでしょうか?
>>385 -ipo はつかっていますか?もしつかっているなら、-ipo_objがないと、ccacheの対象にならないような。
はずしていたらごめん。オプションの意味は、man iccして確かめてください。
387 :
login:Penguin :2005/10/23(日) 12:25:47 ID:EJPaNEhS
>>366 ,369
おれはFD4からRedHat9に変えたらエラー出なくなったよ。
久々にIntelのサイトを覗いていたら、MKL 8.0が出ていることに 気付いた。ダウンロードして文書ファイルを見ると、対応ハードウェアに AMD Athlon Opteronが含まれていた。
389 :
login:Penguin :2005/11/03(木) 13:05:48 ID:cEDCIE/v
Opteron 250x2CPU 8GB + RHEL 3で icc 9.0 pgi6.0.5で姫野ベンチ 1)% ifc -O3 himenombmtxps.c -DLARGE で847MFLOPS 2)% ifc -O3 -axP だと1095 MFLOPS 3)% ifc -O3 -parallel だと 1178 MFLOPS 4)% ifc -O3 -parallel -axP だと 1104 MFLOPS 5)% pgcc -fastsse -Mconcur -DLARGE 1475 だと MFLOPS 3),4),5)では2CPUの並列化を期待しているのだが、 CPUの使用状況をモニタしていると4)はほぼ1CPU のみ使用。 4)で並列化さえできれば ifc9.0はpgcc6.0より速くなると思われる。 最適化+並列化ができるコンパイラオプションはないのか。
390 :
login:Penguin :2005/11/03(木) 14:59:46 ID:S+ObAzle
>>366 l_cc_c_9.0.027, l_fc_c_9.0.028で
link時の(IPO link: can not find "(")が直って
link出来るようになったよ。
391 :
login:Penguin :2005/11/04(金) 02:19:17 ID:Bk/FeZMg
>>390 ありがとう。確かに治ってるね。
ようやくv9.0が使いものになるって感じです。
>>389 -O3 -xW -openmp
で最適化とベクトル化と並列化を同時にできるよ
並列化したいファンクションの手前に
#pramga omp parallel
とつけれ。
ループの場合は
#pramga omp parallel for
393 :
login:Penguin :2005/11/05(土) 13:19:48 ID:+UFilqwx
-xK -xW -xN -xB -xP の後ろのアルファベットは Katmai, Willamatte, Northwood, Bなんちゃら、Prescott などのCPUのコアのコード名 -axK -axW -axN -axB -axP なども同様。
>>393 -xBはBaniasか。ヨナよ早くこい。
395 :
login:Penguin :2005/11/06(日) 18:43:54 ID:cnMLNo2g
>>392 ありがと。
2箇所 #pragma omp parallel for を付けてやってみたよ。
6) % icc -O3 -xW -openmp で 1254 MFLOPS
(すまん 1)-4)はiccの間違い)
2個CPUが同時に使われている。まだpgccに勝てない。
396 :
login:Penguin :2005/11/07(月) 09:07:46 ID:28cV3z7T
>>395 あと -ipo つけてみ。
できたらPGOも。
>>395 himenoベンチなら,-axKWNBP というように全部のベクトル化オプション並べた
やつの方が速かった気がする.
>>397 それ、5つのコードがCPUによって使い分けられるだけでしょ?
CPUが決まってるなら、-axでなく-xで決めうちのほうが、ちょっとだけロスが少ないし、サイズも小さくなるはず。
>398 まあ,やってみなさいって.姫野ベンチでは効果があるんですな,これが. その他のプログラムでも-axと-xも-xで必ずしも決めうちが 速いわけではないですよ.バイナリサイズは小さくなるけどさ. 姫野ベンチではKが効いたような気がする. Kは64bitOSではなくて32bitでしか付けられないけど. アッセンブラとかわかんないので, やってみるとそうなんだから,そうとしか言えないです.
姫野ベンチは単精度だから,SSE2(-xW,-xN)やSSE3(-xP)の倍精度命令より SSE(-xK)の単精度命令の方が早いって,考えてるけど.だれか,わかったら教えてください.
>>400 SSE,SSE2,SSE3は単精度や倍精度の両方に対応してるよ
402 :
login:Penguin :2005/11/12(土) 20:31:21 ID:i/UNOnCF
>>396-401 ありがと。
PGO以外でいろいと試したなかでは
% icc -O3 -xW -ipo -openmp が 1276MFLOPSで最速だった。
xP,xB,xN,xKはopteronでは使用できない。
PGOをつかってみた。
% icc -O3 -xW -ipo -prof_gen -openmp として診断ファイルを作成し
% icc -O3 -xW -ipo -prof_use -openmp で 1513MFLOPS
pgccをやっと超えられた。
403 :
login:Penguin :2005/11/14(月) 17:23:08 ID:9d5qW832
>>390 それってnon-comercialはまだ出てないよね?
まじで?今登録しても l_fc_p_9.0.021.tar.gz のリンクしか来ないんだけど。
406 :
login:Penguin :2005/11/15(火) 03:06:32 ID:b85L0d6M
サポート(無料)に登録するとダウンロードできるよ。
408 :
login:Penguin :2005/11/16(水) 01:40:34 ID:ZY8YL4st
日経Linuxに記事が出てる。評価版もついてる。
Solarisを「使わない理由」を封じたいんだと思うよ 有償Linux版Intelコンパイラに対抗するにはいい手段だ
>>409 iccみたいに、gccの代わりとして使えるの?
もちろん、完全コンパチって意味じゃなくて、iccと同じ程度に。
>>410 たしかに俺も、無償でまともなfortranコンパイラがあるならためしに入れてみようかなって気になってきてる。
413 :
login:Penguin :2005/11/20(日) 14:55:32 ID:uXEYRh3g
linuxでfortran90 つかってるんだけど ある宣言配列の次元(大きさ?:例 1000*1000)を大きくすると コンパイルはできるけど 実行途中にすぐにセグメンテーションエラーになる。 ulimit -s でサイズ変えたけど まったく変化ありません どうしたらよいのですか? intel fortran compiler 8.1(できれば9.0?でも解決したい) linuxの設定でかえられるのか 物理メモリはたっぷりある(2GBぐらい)。もう一このパソコンはすくないけど fortranのオプションでかえられるのか?
>>413 > ulimit -s
> でサイズ変えたけど
> まったく変化ありません
その配列がスタックから確保される、というのが正しいとして、
rootじゃない一般ユーザだとスタックサイズの制限外せないかもよ。
ってかヒープにとれんのか?fortranは知らんけど。
416 :
login:Penguin :2005/11/20(日) 19:15:36 ID:46oMgBVH
>> 413 bash> ulimit -s unimited だっけ? rootでないとダメかもしれんが。
417 :
login:Penguin :2005/11/20(日) 19:17:11 ID:46oMgBVH
あ、l 抜けてた。ごめん。 bash> ulimit -s unlimited
418 :
login:Penguin :2005/11/21(月) 20:19:36 ID:KYdEKY9B
>>413 optionで-autoをつけているなら,-autoを無効にしてみると良い。
それでもだめなら,-saveをつけてみる。多少,計算は遅くなる。
多少,プログラムに手を加えるのを厭わなければ,動的に領域を確保した方がよい。
静的に大きな領域をとると(Intel Compilerだと)実行バイナリが大きくなるし,コンパイル・リンクの時間が多くかかる。
できた!
サンクス!
rootじゃないと制限かえれなかったみたい
(rootじゃないときでも、コマンドはとおったんだけど・・・実際はかわってなかった?)
あととまるところで原因とおもわれる配列をallocate配列
にしてなるべく小さくなるようにした。
これでもう大丈夫だと思う。
>>415 ヒープにかんしてはよくしらない
>>419 tcshだと、変更できなかった場合は取得できる値も変わらないんだけどね。bashはそうじゃないみたい。
421 :
login:Penguin :2005/11/24(木) 21:04:21 ID:lXCw4ZUz
v9.1 betaの案内が来たね。
422 :
login:Penguin :2005/11/29(火) 18:07:16 ID:prKuGZgX
>ダウンロードする際に入力したメールアドレスにインストール時に必要となる >ライセンスキー情報が送られてきます。 ver9.0でも送られてきますか? なかなか送られてこないのですが。
>>422 spamフィルタにでも引っかかってんじゃない?
自分ところでも bsfilter で spam とみなされていた。 spam 確率 0.502 だった。 spam 確率 0.5 以上0.8以下はgrey-zon 送りにしている。。 spam の中から探すのは大変だった。
425 :
login:Penguin :2005/12/24(土) 23:14:56 ID:he03ILgH
Sunのコンパイラもフリーになった Intel V.S. Sun 軍配の報告頼む〜!!
まんどくさ
>>425 Sun のコンパイラって Sun Studio 11 のこと?
あれってLinux版もコンパイラついてるの?
ttp://jp.sun.com/products/software/tools/studio11/faqs/s11_faq.html#q7 > 7. Q: Linux 版の構成はどうなっていますか。
> A: このリリースは、Linux OS 上でサポートされます。
> Linux 版には、次のコンポーネントが含まれています。
>
> * 対応しているほかのプラットフォームと同じ NetBeans ベースの IDE
> * 選択可能なエディタ (GVIM、XEmacs、内蔵エディタ)
> * 分散構築ユーティリティ (dmake)
> * GCC 生成バイナリ用の CLI および GUI 形式のデバッガ (dbx)
> * GCC 生成実行可能ファイルをチューニングするためのパフォーマンスツール (アナライザを含む)
> * X-Designer GUI ビルダー
> * リリースノート、マニュアルページ、README、およびインストールガイドなどのドキュメント。
linuxのバイナリは、Solarisで動かせるようになったけど、 逆は出来るの?
カッとしてしてやった。 教えてくれるならどのスレでもよかった。 まさかこんなレスがつくことになるとは思わなかった。 今は反省している。
Sunのコンパイラの話が出てたから、なんとなく。
>>430 擦れ違いだがマジレス
カーネルのコンフィグパラメータに
CONFIG_ABI_SOLARIS
ってのがある。
もちろんカーネルだけじゃダメなんだがな。
icc 9.0.30 (非商用) をLinux(x86_64)で使っていますが、最近久々に実行したら、 > icc bzip2.c Catastrophic error: could not open source file "bzip2.c" compilation aborted for bzip2.c (code 4) と言われて動かなくなってしまっていました。 9.0.27 などに戻しても症状はかわりません。 前回正常に使えていたときから、あれこれ遊んでいるサーバなので、 自分でどこかいじってしまったのだと思うのですが、どこが原因だかわかりません。 もし、同じ症状に出会して解決させた経験がある方がいらっしゃれば、 情報を頂けませんでしょうか・・・。
> could not open source file これが原因じゃないの?
>>436 もちろん、ソースファイルは開けます。
iccをgccにすれば、コンパイルできます。
ソースファイルに依らず、どのファイルも開けないと言われてしまいます・・・。
時間があるなら、straceかけてみるとか。
439 :
435 :2006/01/16(月) 13:05:59 ID:/Td3wVeG
自己レスです。 原因は分かりませんが、reiser4で作っているワークエリアでのみこの現象が起きるようです。 ファイルシステムが痛んでいるのかもしれません。
440 :
login:Penguin :2006/01/18(水) 23:13:21 ID:PxHQpsPF
441 :
login:Penguin :2006/01/31(火) 18:23:53 ID:QCUqq40E
itaniumとitanium2はcompilerから見た場合、違いがありますか?
442 :
login:Penguin :2006/02/02(木) 01:30:12 ID:U39eFba4
インテルコンパイラで作ったバイナリは、 AMDのOPTERONでは性能が出ないみたいなんだけども、 何かインテルの細工をうまく回避する方法とか、 インテルコンパイラで作られたバイナリに OPTERON上であたかもインテルCPUで実行されて いるかのようにみせかけるパッチをあてる ツールなどをご存知ありませんか?
単にPen4に最適化されてるだけじゃないの?
さあ? 自分の環境(32bit)で姫野ベンチを走らせてみた感触だと Intel>>PGI>>(超えられない壁)>>g77(gcc-3.3) だったけど。
446 :
login:Penguin :2006/02/06(月) 13:56:06 ID:1iw4pFxy
itanium2 1.6GHz のマシンが投売りされているらしいが、 もうそろそろ新型のアイタニウムマシンが登場するのですね?
-cxxlib-iccでコンパイルしたものと-cxxlib-gccでコンパイルしたものって、実行速度に顕著な差は出ますか?
PentiumD930(3GHz、DUAL)が届いたので、 やたら時間がかかるプログラムを、EM64Tのifort9で コンパイルしてみました。 結果、32ビット版でコンパイルしたものより遅い・・・。 EM64T版でコンパイルしたもので計算すると、 5分ちょっとかかって、32ビット版だと4分ちょっとです。 どうして、こんなことになってしまうんでしょうか。 fortranのソースなんて、64ビットに最適化できるの でしょうか? もっと問題なのは、このプログラムifcでコンパイルした バイナリをもらってるんだけど、それだと3分ちょっとで 計算できてしまう・・・。 setenv FFLAGS "-openmp -tpp7 -cm -axW" setenv LINKFLAGS "-Vaxlib -static" ifc $FFLAGS $LINKFLAGS progname.f -o progname って、 感じのオプションでコンパイルしているらしいのですが。 今回は、ifort -openmp -i-static -static -axP -O3です。
パラソルツレズ マニャル嫁
>>449 意味分かりません。
何かの暗号ですか?
>>442 性能遅いってのはCの話しだったっけ(AMDの訴状)?
ふふふっ。 Pen4 570:480秒 PenD 930:380秒 まだだよな:ワクテカ
>>145 、 146、 147
インテルのセミナーに以前参加したら、非商用版で論文を書くのはグレーと
インテルの中の人がプレゼンで言ってました。
これを勘違いされてる人が多いとも、言っていました。
アカデミック版は安いのでちゃんと買ってくださいだとさ。
Linux版の非商用版(無料)で論文書いている人が結構いそうだけどね
プロジェクトとか補助金とかの予算でやる研究はダメ、みたいにFAQにあるね。 それ以外ならオッケーなので「グレー」なんでしょ。
>>454 私もFAQを見てみました。
研究費や給与を貰っている場合は、ダメってかいてありますね.
給与って...無給研究者以外はアウトかよ...
学校で給料もらってる奴は学校の研究では使えないよ。
あと、営利団体の学校や研究所の為に、使用するようなことも駄目だな・・。 たとえ給料をもらっていなくても・・。
>>458 学校に所属していても研究は個人のもの。
何かのプロジェクトとかに参加しているのなら違うが。
>>459 学校の教育用には使えないね。
>>460 >学校に所属していても研究は個人のもの。
この場合でも有償版使わないとダメ.
学校で給料もらっている時間に使う場合,対価を得て使用されると判断されるとのこと.
以前IntelPremumSupportで聞いたらそうらしいことを回答された.
金品でなくとも,如何なる対価を得ることもダメらしい.地位とか研究場所とか研究費とか.
まとめると、やっぱ所属のない無給研究者以外はアウトってことか...OTL
動作確認版だと覚えておけばいい
ニート専用コンパイラ?w もしくは日曜プログラマ専用コンパイラ?
ベンチマーク専用コンパイラ ・・・結果を公表しちゃだめなんだっけ?
情報系の研究者でもなければ、わざわざicc/ifortを使ったとは、 論文に書かないような・・・。ソースが公開されているソフトを コンパイルして使っても、論文で引用するのはそのソフトの 名前だけだよね。まあ、インテルに聞けば、フリー版でいいとは 言わないだろうけど、やっぱりグレーゾーンかな。 とは言っても、とりあえずicc/ifortのライセンスは1つあるし、 一般ユーザーは、コンパイラ自身は使わず、コンパイルした ソフトを使うだけだから、私のところは問題なしかな。 それより、ifcでコンパイルしたものより、ifortでコンパイルしたもの のほうが、遅い件が解決せず。ifcとifortで何か大きく変わったの? いくらがんばっても、速度が30%ほど違います。
>>466 配列の取り方とかソースの書き方が悪いんじゃね?
もしくは正しくオプション使ってないとか。
昔サポートに聞きながらコード修正したものは元の16倍速くなって、
そんときゃマジ目鱗だったな…。
468 :
466 :2006/02/11(土) 13:57:47 ID:T0FgmLdj
>>467 人が作ったソフトをコンパイルして、使うだけなので、
あまりソースを見ていませんでした。オプションは
-xWでも-xPでも全然変わらないし、-ipoとかPGO系の
オプションも効果がありませんでした。64ビット版で
コンパイルすると余計に遅くなるとか、私にとっては
最近のifortはよく分かりません・・・。
サポートって、そんなことまで教えてくれるんですね。
グレーゾーンなんて言ってないで、自分用には
まじめに買おうかなあ。
469 :
login:Penguin :2006/02/11(土) 17:13:56 ID:gD0wJzpp
ifcでは LOOP WAS VECTORIZED になっているところが ifortでは PARTIAL LOOP WAS VECTORIZED になってしまって性能低下する場合が多い。 サポートに問合せすれば,マニュアルに載ってないオプションを教えてくれたりする。
制限なしで使ってもいいけど、使って何かしたのを公表するときは アリバイとして買ってね。
472 :
466 :2006/02/11(土) 22:08:44 ID:T0FgmLdj
>>469 そんな、オプションがあるんですか・・・。
インテルのホームページで、
"Migrating Applications from IntelR Fortran
Compiler 7.1 to Intel Fortran Compiler 9.0"
という文章を見つけたので、とりあえず読んで見ます。
たしか、7.1までifcでしたよね。
473 :
466 :2006/02/13(月) 22:44:34 ID:+Iabn1ix
ifortでコンパイルすると遅い件、エクセルソフトに相談してみました。 大学で使うときは、非商用フリー版ではなく、評価版を使ってほしいと ていねいに指摘されましたので、30日以内に解決してくれるのでは ないかと思います。 もう少し、自分で試してみた感じでは、-i-staticのみで-staticを入れないと 速くなったり、-i-staticなしで-staticのみを入れると、計算時間の評価が 遅くなったりするので、-staticがうまく動いていない感じでよく分かりません。 それから、-xPや-xNより-xWオプションの方が速く動くことが分かりました。 さすがに、-xKオプションやデフォルトではためです。
474 :
466 :2006/02/13(月) 22:51:48 ID:+Iabn1ix
上の書き込みの「計算時間の評価が遅くなったり」は 「計算時間の評価が狂ったり」の間違いです。 計算時間が余計にかかっているのに、短く表示されました。 PGIコンパイラのお試し版も試していますが、やっぱり インテルコンパイラより遅いです。インテルコンパイラだと CPUファンがすごく速くなってうるさくなりますが、 PGIコンパイラだと静かです。CPUの力を十分に使って いないようです。 そういえば、何ヶ月か前に別のコンピュータで同じことを やっていて途中で投げ出しているのですが、やっているうちに CPU(Pentium4 3.2GHz)が死んでしまったのでした・・・。 自作ではなくメーカー製のコンピュータのCPUを焼ききって しまうとはインテルコンパイラ恐るべし・・・。 書き忘れましたが、PGIコンパイラは32ビット版より64ビット版の 方が速いです。64ビットなんて言っているのに、今日は8ビット パソコンPC-8001・PC-6001の本を買ってしまって現実逃避です。
8801本は面白そうだ
476 :
466 :2006/02/14(火) 22:13:02 ID:NjGG9Qfs
日記状態になって申し訳ないけれど、本日の進展。 新しいバージョンがプレミアムサポートにあって、 改善されているようなので、試してみてほしいとのこと。 プレミアムサポートって、30日のお試し期間も 使えるんだね。 早速、使ってみましたが、遅くなってる・・・。 ちょっと付き合っていられないので、プレミアム サポートにあった8.1の系列も試してみることにしました。 最新のものを使ってみましたが、コンパイルして 実行すると、セグメントエラーで止まる・・・。 8.0と9.0では一応動いていたので、コンパイラのせい だろうなあ。 ifortの8.1だと、どのバージョンが安定してます?
477 :
login:Penguin :2006/02/15(水) 00:19:29 ID:aGZRdHk9
-xK Katmai -xW Willamatte -xN Northwood -xB Banias -xP Presscott 今後どうなるのかな?
478 :
login:Penguin :2006/02/15(水) 00:46:03 ID:tvzKAMIz
>>476 参考までに,私が使用しているオプションです。
ia32用(Northwood, Prescottでも-xWの方が当方では速いです。)
OPT_MACHINE = -tpp7 -xW -unroll16
OPT_O3 = -O3 -prefetch -scalar_rep
OPT0 = -prec_div -auto -fno-alias -fno-fnalias -ip -lib_inline -nobss_init -Zp16
OPT1 = -assume buffered_io -lowercase -Vaxlib -vec_report3 -V
FFLAGS = $(OPT_MACHINE) $(OPT_O3) $(OPT0) $(OPT1)
FC = ifort
COPT_O3 = -O3
COPT0 = -c99 -prec_div -fno-alias -fno-fnalias -ip -nobss_init -Zp16
COPT1 = -vec_report3 -V
COPT2 = -Werror
CFLAGS = $(OPT_MACHINE) $(COPT_O3) $(COPT0) $(COPT1) $(COPT2)
CC = icc
ia64用
OPT_MACHINE = -tpp2 -unroll16
OPT_O3 = -O3 -ivdep_parallel -IPF_fma -IPF_fp_speculationfast
OPT0 = -auto -fno-alias -fno-fnalias -ip -lib_inline -nobss_init -Zp16
OPT1 = -assume buffered_io -implicitnone -lowercase -opt_report -opt_report_levelmax -V
FFLAGS = $(OPT_MACHINE) $(OPT_O3) $(OPT0) $(OPT1) $(DEFINE0)
FC = ifort
COPT_O3 = -O3 -ivdep_parallel -IPF_fma -IPF_fp_speculationfast
COPT0 = -c99 -fno-alias -fno-fnalias -ip -nobss_init -Zp16
COPT1 = -opt_report -opt_report_levelmax -V
COPT2 = -Werror
CFLAGS = $(OPT_MACHINE) $(COPT_O3) $(COPT0) $(COPT1) $(COPT2)
CC = icc
479 :
466 :2006/02/15(水) 01:10:19 ID:Mtlme663
上で書いたifort8.1のセグメントエラーの件は、-openmpオプションを 付け、さらに-staticオプションを付けた場合のみです。 もう少し調べてみると、-staticオプションを外すと、きちんと実行できる ことが分かりました。 その状態だと、ifort9.0で作ったバイナリよりかなり速く、さらにifcで コンパイルしたバイナリよりも少し速いようです。 そういえば、ifort8.0のときは-openmpオプションを付けると-staticを 付けてもstaticにならなかったような記憶が。 速くはなったけど、staticじゃなきゃ、使いにくいなあ・・・。
480 :
466 :2006/02/15(水) 01:14:32 ID:Mtlme663
>>478 ありがとうございます。
複雑ですねえ。ifort9.0のオプションでしょうか?
8.1のオプションでしょうか?
481 :
login:Penguin :2006/02/15(水) 21:38:52 ID:tvzKAMIz
>>480 ifc7.1-9.1まで使えます。(ifc7.1のときはifortをifcにする。)
他にサポートで教えてもらったオプションがあるが公開不可と言われているので....
(7.1から8.1や9.0に替えたときに性能が悪化したので,
テストプログラムを送って苦情をいったら教えてくれたオプションがある。)
>複雑ですねえ
スーパーコンピュータを使ってたころからすればかなり簡素です。
482 :
466 :2006/02/15(水) 22:13:01 ID:Mtlme663
本日の進展。 まず、プレミアムサポートのダウンロードでifc7.1を見つけました。 エクセルソフトの人はifcはどこの製品ですか?、という対応だったので、 まさかあるとは思わなかった・・・。 早速、インストールして使ってみましたが、それなりに速くて、 バイナリもstaticのものが簡単にできるます。 ただ、ifort8や9と計算結果が微妙に違うような気が・・・。
>気が・・・。 ?
484 :
466 :2006/02/15(水) 22:23:14 ID:Mtlme663
いろいろと調べているうちに、ifort9のリリースノートに "libpthreadsへの静的リンクによるセグメンテーション違反"という 項目を見つけて、そのとおりにRedhat9にnptl-develのrpmを入れて、 "-I/usr/include/npt -L/usr/lib/nptl"オプションを付けて コンパイルしてみたところ、staticなバイナリができて、計算速度も かなり速いものでした。(ifcのバイナリより速い。) しかし、この項目、その下の"OpenMPの制限事項"(ifort8のリリース ノートにもあった。)の下か中に書いてくれないと、分かりにくい。 しかも、libpthreads.aって書いてるけど、最後のsは要らない・・・。 CentOS4.2でも同じようにしてみましたが、こちらではライブラリが うまくリンクできませんでした。 とりあえず、今のところ、速度が速くて、安定しているのは、 ifc7.1かRedHat9+nptl-devel+ifort8.1という結果になっています。 今の9.0のパッケージを買っても、古いバージョンを使ってよいと いうことですので、とりあえず、買うことにします。 グレーゾーンとか言ってた、同志よ、ごめん・・・。
>>481 ありがとうございます。
8.1と9.0は同じような速度ですか?
私の場合、今のところ、9.0が異常に遅いという
結果になっています。
エクセルソフトは何を言っても、ライセンスが
必要ですと、必死で売ろうとしますが、インテルは
コンパイラを製品として売る気がないような・・・。
>>483 気のせいじゃなくて、確かに違います・・・。
でも、ifort8と9で違いはないのか、ifort7.1の計算
結果が正しいのかどうかは、検証していません。
486 :
login:Penguin :2006/02/15(水) 23:50:13 ID:tvzKAMIz
>>485 >気のせいじゃなくて、確かに違います・・・。
>でも、ifort8と9で違いはないのか、ifort7.1の計算
>結果が正しいのかどうかは、検証していません。
早く検証した方がいいよ。
変数の初期化をしてない部分があったり,配列を宣言した大きさを超えてつかっていたりしませんか?
最適化のかかりかたが変わるとそういう潜在的なバグが顕在化することがある。
487 :
466 :2006/02/16(木) 00:30:33 ID:VIfOWLhY
>>486 たびたび、ありがとうございます。
動くかどうかで、必死な状態だったので・・・。
とりあえず、ifc7.1あるいは、redhat9+nptl-devel+ifort8.1、
それからredhat9+nptl-devel+ifort9.0で、動くstaticな
バイナリが作れることがわかりました。
やっぱり、速度がifort8.1>ifc7.1>>ifort9.0で、ifort9.0が
他より30%ほど遅くなります。何か変えたんだろうけど、
教えてくれません・・・。
開発元からはソースといっしょにifcでコンパイルした
バイナリが配布され、世界中で2年ほど使われています
ので、とりあえず、これで問題は出ていないようです。
これから、ifort8.1でコンパイルしたバイナリについて、
検証していきたいと思っています。
488 :
login:Penguin :2006/02/16(木) 23:18:38 ID:TXB4h1qa
友達に教えてもらった例題: program reidai read*, k do if (k+1) exit k=k-1 print*, 'k=', k enddo k=100 do while (k-3) k=k-2 print*, 'k : ', k if (k+5) cycle enddo if (k) stop end
489 :
login:Penguin :2006/02/17(金) 15:06:37 ID:DVkO4YMR
痛ニウムを使っています。-O3以外に、どんな最適化オプションをつけるといいですか?
-O3ってデタラメな数値吐かない?-O2と比べてる?
>>488 おいコラ!
IFやDO WHILEに論理式以外を使う奴があるか!
まったく、最近の若いもんは・・・
492 :
login:Penguin :2006/02/18(土) 01:29:46 ID:uelcDeHm
>>489 >>478 を参照
>>490 最適化しにくいプログラムを書いているのが悪い。下手糞。
どう考えてもスカラー演算の逐次処理しかできない内容の処理はItanium2向きではない。
FEM系のソフトで性能を出せないのは技術レベルが低い。(アルゴリズム構築能力が低い)
493 :
login:Penguin :2006/02/18(土) 04:06:24 ID:FPhihnbs
>491 そこがまさにポイントなのさ。 コンパイルしてみな、エラーも何も出ないからたまげるよ。
Warning: Fortran 90 requires a LOGICAL data type in this context.
495 :
login:Penguin :2006/02/18(土) 22:18:11 ID:FPhihnbs
9.0だと何も出ないけどね。
496 :
466 :2006/02/22(水) 22:09:19 ID:Vek/L32q
とりあえず、現状報告。 目標は今までどおり、staticでなるべく速いバイナリを作る。 主に使うOSはRedHat互換のCentOS4.2。 ます、32ビット版のifortを使った場合 -openmp -staticだと一応バイナリが作成されるのですが、 実行するとセグメントエラーが出る。 nptl-devel*rpmをインストールして、 -openmp -static -xW -L/usr/lib/nptl/ -I/usr/include/nptl/ でコンパイルすると、エラーが出てバイナリが作られない。 なお、RedHat9に nptl-devel*rpmをインストールして、 -openmp -static -xW -L/usr/lib/nptl/ -I/usr/include/nptl/ でコンパイルすると、エラーも出ず、速いstaticなバイナリができる。 今のところ、これが最強。
497 :
466 :2006/02/22(水) 22:12:35 ID:Vek/L32q
続いて64ビット版(EM64T)の場合 -openmp -staticだとWarningが出るが、バイナリが作成され 正常に実行される。 nptl-devel*rpmをインストールして、 -openmp -static -xW -L/usr/lib64/nptl/ -I/usr/include/nptl/ でコンパイルしてもWarningが出て、バイナリが作成され、 正常に実行される。 どちらのバイナリも他のコンピュータ(RHEL3、x86_64版)でも 実行可能であった。 Warningは以下のとおり。 /usr1/local/intel_fce_80/lib/libifcoremt.a(for_open_proc.o)(.text+0x3d86): In function `for__compute_filename': : warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr1/local/intel_fce_80/lib/libifcoremt.a(for_open_proc.o)(.text+0x3e9d): In function `for__compute_filename': : warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
498 :
466 :2006/02/22(水) 22:19:59 ID:Vek/L32q
問題点などのまとめ 32ビット版と64ビット版の通常のライブラリをリンクした場合の 挙動が異なる(32ビット版のみセグメントエラーが出る)のは、 それぞれのスタックサイズの違いかと思われる。 CentOS4.2で32ビット、NPTL版のライブラリがリンクできないのは よく分からないが、CentOS4.2にRedHat9のNPTL版ライブラリを 持ってきてもリンクできるので、実用上困らない。 64ビット版のWarningが問題ないものなのか、よく分からない。 とりあえず、他のコンピュータでも動くが、どのくらいの範囲で 可搬性があるのかもうひとつ分からない。 速度的な事に関しては、32ビット版では-O2 -xWが最も速い。 64ビット版では-O3 -xPが最も速く、32ビット版より64ビット版の 方が、1-2%速い。 書き忘れてましたが・・・、コンパイラのバージョンは 32ビット版、8.1.032、64ビット版、8.1.034、どちらも8.1では 最新のものです。
そういえば、170さんは出てきませんね。 私も同じ質問をエクセルソフトにしてみましたが、 170さんがここに書かれない理由はよく分かります。 賢明な判断だと思います。
500 :
login:Penguin :2006/02/22(水) 22:27:51 ID:K6Jg1/tG
商用iccを持っている誰かがコンパイルしなおしたディストリビューションやRPMS集などってないんですか?
>>500 僕が作るので、icc買ってくださいませんか?
最近はHDDがどんどん大容量化して200GBとか普通になってきてるから, 今までlib*.soとして使ってきた奴らを,みんなスタティックリンクで バイナリにくっつけちゃえばいいんじゃね? カーネルだって,ライセンス問題のないやつは全部モジュールにせずカーネルに組み込む. そんで全部まとめてiccの-ipoとかで最適化. 超早いぞ.たぶん. 俺は面倒だからやんないけど.
そうすると、ライブラリにバグがあったときに面倒くさい気がする。 パフォーマンスだけ気にするなら良いけど。
それKDEで似たようなことできるようになってない? enable-finalだっげ?
>>503 共有ライブラリにはメモリの節約という面もあるのだが。
libcが何十個も呼び出されることになりかねん
研究室の過去のF77数値計算ライブラリを引き継ぐことになって、g77だと走るけど ifc (ver.9)だと実行時にエラーになるコードがあって質問させてくらさい。 原因は open(3, file='xyz.dat', status='old') 中略 read (3,*,end=120) x,y,z という文で、file endに達したときに 行番号120に飛ばないで落ちるという ことくらいまでしかわかっていません。 ifort -check -traceback で調べてみると、上記read文で Program received signal SIGSEGV, Segmentation fault. 0x08087a80 in for__io_return () となって止まります。 最近ずっとMATLABでヘタレコーディングに慣れきっていて、goto文とか見るのが 数年ぶりで萎えてます。
>>507 ・本当にファイルの最後まで読んでいるのか(不正なデータを読んで落ちていないか
)確認してみる。
・ソースの変更が可能ならばEND=xxxの代わりにIOSTATを使ってみる。
長さが分からない入力ファイルを読む時 open(io,file=hoge,status='old') do read(io,*,iostat=iostat) fuga if(iostat/=0) exit enddo close(io) こんなやり方をしています
>>509 デバッグしている時なら
iostat < 0 ( たしか EOF )
と
iostat > 0 (エラー。iostat にはエラーコードはいってる)
に場合わけしたほうがさらにいいかも
511 :
507 :2006/03/04(土) 14:24:59 ID:F4a0RF9L
みなさまレスどうもありがとうございます。 iostatを使ってみたところ、例えば、 open(3, file='xyz.dat', status='old') read (3,*,iostat=testflag) x,y,z として、xyz.datには10,10,10と書いてみたのですが、 この場合、testflagには「ファイル終了」の-1が入るかと思ったら 通常終了の0が入ってきました。 根本的に「ファイルの終了」を検知できていない感じがしています。 ぼちぼちがんがって理由を突き止めていこうと思います。
CR+LFとか
513 :
507 :2006/03/04(土) 23:15:14 ID:F4a0RF9L
>>512 さん
それも疑ってみたのですが、違うみたいなんです。。。
g77だと問題なく通るし、いままではずっとg77だけでやってきたみたいなんですよね…。
514 :
466 :2006/03/05(日) 00:10:32 ID:Sj8ObEAL
>>507 コンパイラの方も一度疑ってみた方がいいかもしれません。
ifortの場合、7.1、8.0、8.1、9.0系列での違いはもとより、
細かいバージョンの違いでも、結構動きが違います。
とりあえず、9.0の最新版や8.1の最新版あたりを
試してみては、いかがでしょうか。
私の場合、全部の系列を入れて使い分ける羽目に
なってます。(でも、8.0と8.1はおなじコンピュータに
入らないので、不便です。)
ところで、エクセルソフトに注文したコンパイラが
来ません。サポートの人に、「このメールで注文します。
発注の手続きが他に必要ならお知らせください。」
と書いたんだけど、なんだか頓珍漢な人だったし、
見落としてるか、勘違いしてるっぽいなあ。
515 :
507 :2006/03/05(日) 00:35:19 ID:X0Y/REEK
>>514 さん
アドバイスありがとうございます。
今は最新版の9.0のみを使っています。I/O関係は、コンパイラに結構依存
すると聞きますので、簡単にはいかないのかもしれません。
とにかく古めのコードで、goto文だらけな上に、とりあえず問題があるのは
ラッパーっぽい短いメインパートなのでまあいいのですが、本体は1万行くらい
あって、ここでなにか問題があるともう諦めるしかないという感じです。
でもFortranはやっぱりなんか不思議な魅力があると再実感しますた。
MATLABとか使ってると感じられない何かを感じました。
516 :
login:Penguin :2006/03/05(日) 14:01:55 ID:Njm7OrPe
>>515 下のような読んで書くだけのもので動かしてみたが正常に動いた。(9.0)
例えば,x,y,zが配列になっていてそのサイズを超えて読み込もうとしているとか
他の部分で領域外参照をしていて,たまたまread文のところで落ちているとかはありませんか
他の処理部分をコメントアウトして実行しても落ちますか?
implicit none
real *8 x,y,z
open(3,file='xyz.dat',status='old')
100 read(3,*,end=120) x,y,z
write(6,"('(',2(1pe23.15,','),1pe23.15,')')") x,y,z
goto 100
120 write(6,*) 'end'
stop
end
みなさま本当にアドバイス感謝です。
>>516 さんのサンプルは問題なく動きました。xyz.datは
10 10 10
20 20 20
とかで試してみました。
いろいろ試してわかったのですが、途中にある
call subfunction(x,y,z,a,b,c)
をコメントアウトすると問題なく動くことがわかりました。
call subfunction(x,y,z,a,b,c)
すると、その関数自体はとりあえず問題なく呼べるのですが、次に
100 read(3,*,end=120) x,y,z
に戻った瞬間に落ちることがわかりました。
なので、明らかにこのサブ関数とメインでのやりとりが問題っぽいです。
しかしこのサブ関数は数千行のサブ関数につながっていて、正直自分には
手に負えないような気がしています。
いずれにしましても、みなさまの助言のおかげで問題の原因に近付くことができました。
本当にありがとうございます。
>>507 =515=518
今更書いても手遅れっぽいけど、
-C -d3 とかつけてコンパイルすると何かわかったかも。
ただし、ifort ver. 6, 7 系で。(ver.9 はいける?)
巨大なプログラムパッケージでやると不幸なことになる可能性が極めて高いけど、
やらざるを得ないなら…
520 :
login:Penguin :2006/03/14(火) 15:34:40 ID:SlZh3uov
hyper thread 対応のPentium4(32ビット)で スレッド並列のOpenMPが使えるんじゃないかと思って、 コンパイルしてみるとコンパイルできるのに、実行時にエラーが でるねぇ。 また、昔のインテルコンパイラはDualのItaniumの上で OpenMPを入れてコンパイルして実行したら、スレッドの数を CPUの個数2個を超えても指定できたのに、今はなんだかできない みたいだけど? (現実の問題としては、CPUの個数よりも スレッド数を増して計算するほうが性能が出る場合があるんだよ。 それは、ディスクのページング待ちとかメモリからデーターを読み に云っているとき、書き出しにいっている間に、同じCPUに 同居しているスレッドが外部との読み書きなしに実行できる 状態になっていれば、それを動かせば仕事が進むから。だから CPUの数よりもスレッドを多くすることで性能が上がるアプリ ケーションやプログラムは現にあるのだ)
>>520 前半は484や496あたりの問題じゃないですか?
後半に関しては、そういえば最近のディストリビューションの
せいか、topでみてもスレッド数がよく分かりませんねえ。
どうやれば、今動いているスレッド数が分かりますか?
Linuxで開発してるみなさんに聞くのも野暮かもしれませんが、 統合開発環境を使ってFortranやCのコード書いてる方おられますか? 特に数値計算関係で、WinのVisual Fortranみたいなソフトって Linuxにあるのでしょうか?kdevelopとかAnjutaとかがそれに当たるのでしょうか。
sun studioとかどうよ。 どうせLinux版はコンパイラー付属しないし。
開発版にはコンパイラ付くっていってなかったけ
>>523 ,524
>>440 にあるとおり、開発版コンパイラはあるけど、
コンパイラが付いてくるSunStudioはないよ。
さっきダウンロードしたら、3/14日版だったから、
開発は続いてる見たい。
(以前落としたのは、1/7日版だった)
Threading Building Blocksというもののbeta版の案内がきてるね
527 :
学生さん :2006/05/09(火) 20:13:33 ID:yrEyhCQ3
ようやく9.1
>>527 学生ならおkってことでしょ
俺は普通に使ってますが
530 :
login:Penguin :2006/05/23(火) 15:21:45 ID:ezugO34H
MySQLの本家バイナリってiccでコンパイルされてるって本当?
Opteron EMT64T Linux上で ifort 8.1 を使っています。 -axW -xW optionを指定するとOpteron用のcodeが生成されると知人に 言われたのですが、ユーザーズガイドによると、特に-xW optionの方は -xW optionはPentium4用および互換性のあるprocessor用の最適化 インテル以外のprocessorで実行するprogramのcompileには指定するな と書かれていてOpteronで使える保証はないような書き方になっています。 知人の言うことが間違いであり、-axW -xW optionはOpteronに使うべきではない のでしょうか?
>>531 > Opteronで使える保証はないような書き方
まあIntelのCompilerだし。
やって結果をチェックしたら、いいじゃん。
まあ、 "-xW"はsse2なので、Opteronは使用可だから、問題ないよ。
Opteronでもsse3(-xP)対応もあるけど、それならこっち?
# sse2の参考
http://ja.wikipedia.org/wiki/SSE2 # 俺の環境・用途なら、xW > xN > xP だけども。
てか、-axW なら、そもそも仮に対応してなくてもOKでしょ。
-xWはダメだけど。二つつけても意味ないけど。
ついでに、、最新AMD CPU & Intel Compilerの人にお尋ねしたいのですけど、 HIMENO Bench で -r8 とかで、何MFLOPS行きます? HIMENOは環境依存きついですけども。 表示結果とオプションも込みで教えてくれませんか。
534 :
531 :2006/05/27(土) 13:52:36 ID:dPnzB4ry
>>532 レスありがとう。実験はもちろんします。
userに提供するsoftwareなので、opteronに対応のアナウンスが
正式にintelからないcompile optionを使ってcompileしたprogramが、
検査を通過した後にuser側で事故を起こすと責任が重いので、
私の知らないところでopteronに正式対応のアナウンスが
もしかしてあったのか、あるい知人の勘違いなのかな、と思って
ここで質問させていただきました。
危ない橋は渡れませんがsse2は魅了なので-xWで生成されるcode
のopteron正式対応状況についてレスを参考にもう少し調査・確認してみます。
64itの8.1と9.0があるので-r8 のhimenoは週明けに時間がとれたら
測定できるかもしれません。(9.0は最新じゃないから、お呼びじゃないかな)
オプションで意味的に被ってるのないっすか? -tpp7とか-xPとか-mtune=pentium4とか・・・ 付けすぎるとかえって遅くなったりするんですか?
537 :
535 :2006/05/28(日) 17:42:29 ID:f/o1gN0k
>>536 >付けすぎるが良く分からないけど、類似のオプションだと、低い方をとるんじゃない?
-tpp7と-mtune=pentium4を両方指定した場合ってことっす。自動的に後者になるのかな?
manももちっと詳しく書いてくれればいいのに
538 :
login:Penguin :2006/06/03(土) 13:03:57 ID:UcBwDvrN
最新のl_cc_c_9.1.039を使用している人はいますか?
Itanium2上では,l_cc_p_9.1.038 -> l_cc_c_9.1.039で,
・コンパイル時間は若干短縮された。
・生成されるバイナリの性能は7%程度ダウンした。
でした。l_cc_p_9.1.038にもどしました。
テストは
【IA-64】Itanium2専用スレ・その3【アイテニアム】
http://pc7.2ch.net/test/read.cgi/jisaku/1097330852/ の844-855と同じものを使用した。
539 :
538 :2006/06/03(土) 13:08:45 ID:UcBwDvrN
>>538 'の844-855と同じものを使用した。'→'の844-855と同じものを使用した。'
でした。
540 :
538 :2006/06/03(土) 13:10:13 ID:UcBwDvrN
たびたびすみません。 'の844-855と同じものを使用した。'→'の844-845と同じものを使用した。' でした。
541 :
login:Penguin :2006/06/03(土) 23:45:51 ID:0WMchJTU
以下のような makefile を作って itanium2 マシンでコンパイルしています。hoge.f が100kB程度の短いプログラムでも コンパイルの時間が10分くらいかかるのはなぜなのでしょうか? Pen4 Exでは1分ぐらい(makefileはIA32用に書き換えてはいますが)で終わるのですが。 ################### makefile ##################### FC = mpif77 # for Itanium -tpp2, while for Pentium -tpp7 OPTS0 = -O3 -tpp2 MODLIB1 = -I/usr/local/lib/LAPACK95/lapack95_modules OPTS1 = -c $(OPTS0) MKL_PATH = /opt/intel/mkl/8.0.2/lib/64 # for static link # recommended for Choral # LAPACK95 = $(MKL_PATH)/libmkl_lapack95.a LAPACK77 = $(MKL_PATH)/libmkl_lapack.a BLAS = $(MKL_PATH)/libmkl_blas95.a IPF = $(MKL_PATH)/libmkl_ipf.a GUIDE = $(MKL_PATH)/libguide.a #IPF is necessary for intel itanium LIBS = $(LAPACK95) $(LAPACK77) $(BLAS) $(IPF) $(GUIDE) SUF = f hoge: hoge.f $(FC) -o $@ $@.$(SUF) $(MODLIB1) $(OPTS0) $(LIBS)
Itaniumって… 研究所か大学かだろうから、プロのエンジニアいるんじゃないの?彼らに聞いたら?
544 :
login:Penguin :2006/06/10(土) 23:57:53 ID:RORbL2QZ
どこで伺ったら良いのか分からないのでここで伺います。 Intel Fortan Compiler 9.0 for Win を Visual Studio.Net 2003で使っています。 lapack+blasライブラリをsourceからnmakeで作って lapack_win.lib という名前で使おうとしたら,linkの仕方が分かりません。 どなたかご教示お願いします。 (MKLを購入せよというお答えは,お金が無いのでご勘弁を)
エ糞ルソフトに聞けばぁ?
>>544 ここで 〜 for Win のことを聞かれても… って感じだが、
メニューの「プロジェクト」→「〜のプロパティ」を開いて
[Linker]→[Input]→[Additional Dependencies]に「lapack_win.lib blas_win.lib」を追加する。
また、lapack_win.lib, blas_win.libが通常のサーチ・パス上になければ
[Linker]→[General]→[Additional Library Directories]にlapack_win.lib, blas_win.libを入れた
ディレクトリを追加する。
547 :
login:Penguin :2006/06/11(日) 21:31:51 ID:HoBm6Gpj
>>546 544です。
有難うございます。
エクセルソフトのMKLのon-lineマニュアルにも教えて
いただいたような説明があったのですが、
どうやら「プロジェクト」→「〜のプロパティ」
の構成プロパティの所にlinkerなどが出て来なかった
からのようです。
新しいプロジェクトから console 以外のprogramを
作成したら構成プロパティのところに出てきたので
ご指摘通りやったらうまくいきました。
感謝!
548 :
login:Penguin :2006/06/19(月) 18:28:33 ID:TTrioHkF
質問させて下さい。 g77やf77で既に生成してあるライブラリ群を、ifortで呼び出すにはどうすればいいでしょうか? linux上で、f90で書かれたソースからf77で書かれた外部ルーチンを呼び出そうとしています。 コンパイラは、ifortを使いたいです。 f77ルーチンをf90に移植するのは困難な状況です。 何か方法がありましたらアドバイスよろしくお願いします。
ifortでそのままコンパイルすりゃいいんじゃないの?
550 :
login:Penguin :2006/06/20(火) 11:10:48 ID:WzKqerbE
548です。 ライブラリはすでにg77もしくはf77でコンパイルされたもので、オブジェクトファイルになっています。 ifortでそのままコンパイルするとライブラリが読みこめず『定義されていない』と言われます。 ifortは『g77 とのオブジェクトの互換性は提供されないので注意してください』とどこかに書いてあったのですが 無理ということなのでしょうか…? 私自身コンパイラとか色々な事がよく分かっていないのでこんな説明しか出来ません。。 よろしくお願いします。
ソースがなきゃ無理なんじゃない?
g77って実はCに変換してコンパイルしてるんでそ?(だから激遅 そういや純粋なfortranコンパイラでフリー(営利目的不可の縛りがない)のって、確かないんだよね・・・
> g77って実はCに変換してコンパイルしてるんでそ? これも違うしw
>>552 Sun Studioだとおkなんじゃないか
Linux用もあったような
Fortranは付いてたったけなぁ
あーダメだgccを使うみたい しかもg77には対応してない臭い スレ汚しスマネ
557 :
552 :2006/06/20(火) 14:06:57 ID:LVuBuL7f
558 :
548 :2006/06/20(火) 16:19:18 ID:WzKqerbE
レスありがとうございます。
>>551 ソースはライブラリのソースという事ですか?
リンクしたいライブラリはg77(f77)でコンパイルされた状態で配布されているものなので、
どうにかそれをそのまま使いたいのです…。
よく話についていけないのですが、
g77はコンパイルの際にgccを使っているからifortでリンクが上手く出来ないということですか?
ifortは純粋なfortranコンパイラなのですか?
初心者な質問ですいません。
560 :
557 :2006/06/20(火) 21:20:08 ID:LVuBuL7f
>>559 フォローさんくす
そっか、g77やg95、gfortranってcに変換されるんじゃなくて、gccのバックエンドが共通ってだけなんか
勘違いしてスマソでした
>>558 Fortranを実行するためにはFortranのランタイムライブラリが必要なのですが、
IntelのFortranとg77ではランタイムライブラリの互換性がないので、
同じコンパイラで作成したライブラリ以外を呼び出すとエラーが発生する
場合があったはずというかうまく動作しなくても泣かない覚悟が必要です。
リンクできないというのは-lg2cをリンク時に指定したらうまくいったり
しませんか?
それでダメならg77がリンクするライブラリを調べて、それを全部リンク
したらうまくいくかもしれない。
562 :
558 :2006/06/27(火) 13:00:36 ID:UIPHpeEJ
>>561 説明ありがとうございます!
互換性の話がなんとなく分かってきたような気がします。
うまく動作しなくてもしょうがないんですね…
リンク時に-lg2cを指定しても上手くいきませんでした。
色々と知識が足りていないので、もう少し自分でも色々調べたり勉強してみたいと思います。
ありがとうございました!
563 :
login:Penguin :2006/06/29(木) 18:35:47 ID:ENV17EKT
icc9.1も9.0の非商用ライセンスファイルで動くんだね。
565 :
login:Penguin :2006/08/13(日) 06:45:30 ID:ZpUqAISw
クラスタOPEN MPを使っている人、使用感を教えてください。
566 :
login:Penguin :2006/09/10(日) 02:22:56 ID:pRRopMOZ
コンパイラの話ではなくてすみませんが、 だれかVTune Performance Analyzer for Linux ver8.0を使っている人いませんか? VtuneをEclipseとの統合環境で使おうとしてますが、サンプリングをRUNすると必ずフリーズしてしまいます。 Java Runtimeを変更したりいろいろ試しているんですが、ここ2週間頑張ってるんですが解決できません。 Linux は SuSE 9.2 です。Eclipseは v3.1.2、Java RuntimeはSun1.4.2を使ってます。 ちなみにインストールに用いたvtuneのアーカイブはMD5ハッシュ値をチェックして壊れていないことを確かめてます。 どなたか情報あればお願いします。
567 :
login:Penguin :2006/09/15(金) 15:22:59 ID:i9mY+WHK
日本人なら国産品(?)の富士通のコンパイラを使うのが道徳的だと思います。
な ん で
F通のlinux用のcompilerは性能悪いよ。
570 :
login:Penguin :2006/09/23(土) 12:33:53 ID:4LqSQVlp
たとえ性能が悪かろうが、それでも、国産品を使うことで 日本の産業が育成され、外国の植民地にならないように 努力するのが国士でごわす。
買って遅い遅いと叩く
572 :
login:Penguin :2006/09/24(日) 11:07:59 ID:FWJE4uX7
SUN Studio Express でLinuxがサポートされているみたい....
gccでしょ?
>>570 人材育成をしていない富士通に義理を通す意味ってあるの?
国内産業に投資したいけど今のままじゃただのお布施だよね?
>>572 Sunのコンパイラ使いたかったら Solaris 入れなさい
Pen4だと、gccとiccで結構性能が違ったけど、Core2世代のCPUではどうですか? ハイエンドの環境をお持ちの方、感想やベンチマークをお聞かせください。
VC++とiccの比較ではPen4の時より差が拡がった気がするにょ(Core2Duoだが)
訂正 ×VC++とiccの比較ではPen4の時より差が拡がった気がするにょ(Core2Duoだが) ○VC++とiccの比較ではPen4の時より差が拡がった気がするにょろ(Core2Duoだが)
10.0betaがでてるね。
585 :
login:Penguin :2007/03/02(金) 03:33:22 ID:KVPFVr/d
age
mkl v9.1betaの案内がきてるね。
587 :
login:Penguin :2007/03/19(月) 14:17:40 ID:BNqLXB6e
10.0betaのドキュメントには3月30日リリースと書いてあったが、 予定通り進んでいるのかな? コンパイラとvncが正規に対応してくれればwindows vistaにすんなり 移行できるのだが。(どちらも現状でも動くことは動くんだけど)
588 :
login:Penguin :2007/03/27(火) 04:05:53 ID:8j0+RhdL
質問させてください。 Intelコンパイラを「./install.sh」で、すべて標準の設定でインストールしたのですが、 completedとなったのに、「/opt/intel」の中を見てみると「/opt/intel/lisences」しかありません。 install.htmによると、インストール後に source /opt/intel/fc/9.1.043/bin/ifortvars.sh をやるように書かれているのですが、そのファイルどころか、fcディレクトリごと作られていません。 どなたか原因が分かる方、エスパーの方、どうすれば正しくインストールできるか教えてください!! OSはKnoppix5.0.1をHDDへインストールして使っています。 コンパイラのヴァージョンはIntel Fortran Compiler 9.1.043 non-commertial あと、「man source」をやっても登録がありませんでした。 Knoppix5.0.1ではsourceコマンドは使えないのでしょうか?
>>588 > あと、「man source」をやっても登録がありませんでした。
help source
type source man bash
591 :
login:Penguin :2007/03/27(火) 10:28:32 ID:1pOb7cDy
1)ファイルが壊れている。再ダウソ&インスコ 2)rootで作業してない 3)ライセンス読み流してacceptと処理するステップで失敗 fcが作られてないのは論外。 余計な事だが、バージョンによってかなりバイナリ性能が違う 漏れの場合では8.1 > 9.1だったので 必ずしも最新版が良いということではない。 同一ソースでも64ビット対応コンパイルすると 32ビットよりも~20%の性能向上がみられた もちろんソース依存なので一般論ではない。
見当外れで申し訳ないけど、Athlon64でもiccってgccより良いバイナリ吐きますか?
593 :
login:Penguin :2007/03/28(水) 20:32:27 ID:7oy9FAux
イイの吐くよ 数値経産だとベクトル化がかなり効くよ -xW つけるだけで劇的によくなった sse3利用の -xPはインテルチェックでバイナリが走らないが 漏れの用途では十分。gccの1/3の実行時間になった もちろんソース依存だけどな
ACMLもIntel Fortran用のが出てるしな。
>>593 返事ありがと。ソース依存なのは重々承知です。
「試してみろ」って怒られるかと思ったけど、おまいやさしいな。
それにしても、インテルチェックうざいな。sse3もったいない。
-xWつけても互換性に問題は出ないの?
>>596 32bitのPen3以前だと問題あると思う。
64bitなら、全CPUがSSE2に対応しているはず。
-axW にすれば、とりあえず回避できるのでは?
598 :
login:Penguin :2007/04/09(月) 01:15:09 ID:AmjS8oum
10.0マダー?
>>598 10.0だと、gcc-4.1 環境でも使えるかな。
9.1は、 icc: error: option '-cxxlib-gcc' not supported with the current installed GCC と怒ることがあるんだよね。
icc10の出荷は6月だって
MySQLとか、phpとかをiccでコンパイルすると早いかなと思ったんだけど、 結構コンパイル通らない物ですね・・・。 bzip2とかは速くなった気がする・・・。
f77 (実際の知識は fortran IV です) から f90 に移行しようとして苦しんで います。f90 はまだ理解していません。で、ifort を使おうとしたのですが /opt/intel/fce/9.1.043/bin/ifortbin -I/usr/local/intel/include t.f90 で compile しようとすると use abc_module の所で fortcom: Error: t.f90, line 2: This module file was not generated by any release of this compiler. [ABC_MODULE] のエラーメッセージが出て前に進めません。原因をどこから追求すればよいでしょうか。 icc は commercial license ですが、ifort のライセンスは未だ購入しておら ず、non-commercial 版です。システムは Linux darkstar 2.6.19-gentoo-r5 SMP Wed Apr 4 11:32:37 JST 2007 x86_64 Intel(R) Xeon(TM) CPU 3.80GHz GenuineIntel GNU/Linux 試してみたのは、面白そうに見えたので download してきたプログラムを netcdf, opendx 用に書き直したもので、g95 ではきちんと compile でき、正 しく動きます。gfortran ではだめでした。g95 はあまり信用できないので、 ライセンスを購入して ifort に移りたいと思っています。 module を作成したときで変だと思ったのは、 g95 で作った module は text file で読めるのに、ifort で作ったものは binary file だったことです。な んでこんなに違うのかと驚きました。
>>602 >fortcom: Error: t.f90, line 2: This module file was not generated by any release of this compiler. [ABC_MODULE]
>のエラーメッセージが出て前に進めません。原因をどこから追求すればよいでしょうか。
moduleファイルの内容は処理系により異なるので、たとえ名前が同じ *.mod であっても
あるコンパイラで作成した *.modファイルを別のコンパイラで使用することは出来ません。
また同じコンパイラであってもバージョンが異なると互換性がなくなる場合もあります。
module を含むファイルをすべて ifort でコンパイルし直してみて下さい。
>>603 thanks. 一応、全て新しく作成した module を使おうとして、それを-I
option で include したつもりだったのですが、違うものを include してた
ため失敗したようです。当該 module を current directory に移すとうまく
いきました。
使っているデストリは gentoo で, module が使っている lapack, blas atlas
は gentoo が gfortran を使って作ったものです。netcdf はgentoo が作った
ものは使えず、ifort で作ったものは shared library にできず(-IPIC で再
コンパイルしろと言われる。-IPIC は入れているのに)、static にlink して
しまいました。現在インストールされている fortran compiler は gfortran,
g95, ifort の3つで(g77もあるが)
、g95, ifort はgentoo emerge ではなく、手で入れたも
ので、g95 は /usr/local に ifort は /opt/intel に入っています。これら
をどう管理したらいいのか。デフォルトコンパイラーは ifort にすべきなん
でしょうが, shared library が作れなかったら問題だし。
605 :
login:Penguin :2007/06/06(水) 01:09:46 ID:RQdbNlBu
コンパイラの10.0とMKLの9.1が来た。
10.0出ましたね。 自宅では(残念ながら)Athlon64なのですが、-xO を試してみようかな。 (SSE3にも対応しているはずなので)
iccでコンパイルすると、リンク時に相対パスで so が指定され # ldd /usr/bin/mysql libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x000000366bc00000) ../libmysql/.libs/libmysqlclient.so => not found libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000000366b800000) (以下略) の、libmysqlclient.so のように、うまくリンクされないバイナリが出来てしまうのですが、 リンカオプションでどうにかならないでしょうか? icc 9.1-049 10.0-023 など、バージョンに依らず起こります。
リンク時のオプションを見せろ
>>608 CentOS5のRPMをbuildしています。
ログのこの部分でよいでしょうか?
bin/sh ../libtool --preserve-dup-deps --tag=CXX --mode=link icpc -DDBUG_OFF -gcc-name=/usr/bin/gcc
-vec-report1 -pipe -pch -O2 -xO -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-fno-strict-aliasing -fwrapv -fno-rtti -fno-exceptions -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic
-o mysqld sql_lex.o (*.o 略) -L../bdb/build_unix -ldb ../innobase/usr/libusr.a (../*/*.a略) -lz -ldl -L/usr/lib64 -lssl
-lcrypto -lpthread -lcrypt -lnsl -lm -lpthread
>>609 すみません、さっきのは mysqld でした。
( mysqld にも同じ問題があるのですが )
mysql の部分は、同じようにlibtoolが呼ばれていて、次の行は、
icpc -DDBUG_OFF -gcc-name=/usr/bin/gcc -vec-report1 -pipe -pch -O2 -xO -m64 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fno-rtti -fno-exceptions
-fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic -o .libs/mysql mysql.o
readline.o sql_string.o completion_hash.o ../cmd-line-utils/readline/libreadline.a -lncurses
../libmysql/.libs/libmysqlclient.so -L/usr/lib64 -lcrypt -lnsl -lm -lssl -lcrypto -lz
です。
ライブラリのリンクオプションを絶対パスで指定できんか?
srcの下のMakefileを弄るとか、configureに適当にオプション食わせてやるとか
613 :
607 :2007/06/14(木) 15:31:45 ID:pRfwYBSV
なるほど 「 ../libmysql/.libs/libmysqlclient.so 」 この部分がそのまま ldd で見えているわけですね。 しかし、gcc でも同じようにリンクしているけど、あんな変なことにはならないんですよね。 # ldd /usr/bin/mysql libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x0000003d46c00000) libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15 (0x00002aaaaaac7000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003d40c00000) (以下略)
>>610 ../libmysql/.libs/libmysqlclient.so
を
-L../libmysql/.libs -lmysqlclient
とすることで、なんとか解決しました。
しかし、できあがった rpm の --provides をみると、
gccだと
libmysqlclient.so.15()(64bit)
libmysqlclient.so.15(libmysqlclient_15)(64bit)
iccだと
libmysqlclient.so.15.0.0()(64bit)
という微妙な違いが・・・。
依存関係が正しくはいらないっぽい。
ともあれ、レスありがとうございました。
ifort 10.0を使ってみた人いない? Core2Duo/Vistaの環境で/fastオプションだけ付けて走らせたのだが、 9.1より3割も遅くて元に戻してしまった。 こちらのオプション設定のチューニングが足りないのか、 コンパイラががまだこなれていないのか…。両方なのかも知れないが。
その環境ではありませんが、うちもわずかに遅くなりました。 RHEL4の入ったデュアルコアXeonおよびクアッドコアXeonで-xTオプで比較したんですが とりあえず10.1出るまで様子見しようかと
Intelの登録したSPECのスコアでも(全体の成績は伸びてるけど)数%程度遅くなってるベンチが複数あるから10.0の-fastは9.1の-fastより扱いづらいのかも 自分で色々試すしかないんじゃないかな #-xOや-parallelの効果が気になる
619 :
login:Penguin :2007/06/28(木) 00:37:27 ID:eArHKFGZ
ベータ版のうちにテストしてテストプログラムも送って文句をいうとリリース時には対処されている場合が多いです。 次回からはベータ版のうちからテストした方がいいよ。 Itanium2版とX86_64版(-xT option)ではテストプログラムも送って文句をいったので, 私の動かすソフトでは遅くなったものはない。 (ベータ版では強烈に遅くなったものがあったが,リリース版では同等かやや向上) -fastの設定内容が変わったようなので,-dryrunをして確認してはどうですか。 vectorizeのかかり具合とかも各プログラムで要チェックですね。 若干のチューニングのやり直しも必要かもしれません。
icc10.1キタ
623 :
login:Penguin :2007/09/25(火) 00:14:48 ID:ll8zC9i7
FC7 に intel compiler10.0 をインストールするには yum provides libstdc++.so.5 により、パッケージの名前を得て、 yum install compat-libstdc++-33 として、libstdc++.so.5の不足を補う。(i386,x86_64)
>>622 -xO で AMD用のコードも吐けるっぽいな。
>>616 10.1に、Core2用の最適化オプション入ってたよ。
./install.sh: line 332: 17774 Floating point exception(core dumped) $install_prog $@ というメッセージが出てインストールできません アドバイスお願いします
>>626 誰もレスしないので、外しているの覚悟で。
なんかの依存パッケージが足りないんじゃないの?
手動で rpm パッケージを rpm -ivh *.rpm してインストールしてみると、
もし何か不足してるなら、それを教えてくれるから、
それをyumで追加してみたらどうでしょうか。
手動でrpmをインストールすると、そのままでは使えないので、
再度 install.sh でインストールしてみて。
環境もなにも書かずにレスしろと言う方が(ry
>>628 俺、なんとかヒューマロイドインターフェイスなので、ちょっとエスパーできるんだ。
>>627 rpm -ivh は、dryrun でやると一番良いけど、まぁとにかく入れてみな。
10.1入れてみた。AMD だと -xO は必須みたいね。 お目当ての ffmpeg は make 途中で失敗。 beep-media-player は起動時にエラーが出たが /usr/local/lib に libimf.so と libintlc.so.5 のシンボリックリンク張って回避できた。 ってことは gcc に比べてメモリ消費増えるのか。微妙
>>631 残念ながらFedora8です。
gccでも -ftree-vectorize を付けると実行時にセグってしまうので
iccでコンパイル通らないのは当然かも。
いつの間にか10.1の日本語版でてるな 気づかんかった
634 :
login:Penguin :2008/02/25(月) 23:16:34 ID:8mP9w1Nd
これって、実際にg++よりかなり早くなりますか?
>>634 Try it with your code!
636 :
login:Penguin :2008/02/26(火) 15:16:53 ID:psSpZRLO
最適化が効くコードだとかなり速くなる
>>634 まあ試せ、話はそれからだ
>>636 たとえばどんなコードだと最適化が図れるのか?
638 :
login:Penguin :2008/02/27(水) 17:40:35 ID:Wx9d217P
>>637 SSE、SSE2、SSE3、SSE4が有効に使えるコード。
つまり例えば以下の条件を満たすコード。
・最内のループカウントが大きい。(多重ループで内側が50ループとかは駄目)
・C/C++言語の場合で多次元配列使ってる場合には、一番右の要素を
ループでひとつずつ増やすループ
○:A[z][y]=B[x][z]*C[z][y]でy++のループ
×:A[z][y]=B[x][z]*C[z][y]でx++のループ
×:A[z][y]=B[x][z]*C[z][y]でz++のループ
・上の計算の場合、A,B,C の型が一緒
まだまだいろいろアホほど早くなる。つーかマニュアル嫁
639 :
login:Penguin :2008/02/27(水) 17:42:49 ID:Wx9d217P
>>637 一例として最適化のひとつの、SSE、SSE2、SSE3、SSE4が有効に使えるコード。
例えば以下の条件を満たすコード。
・最内のループカウントが大きい。(多重ループで内側が50ループとかは駄目)
・C/C++言語の場合で多次元配列使ってる場合には、一番右の要素を
ループでひとつずつ増やすループ
○:A[z][y]=B[x][z]*C[z][y]でy++のループ
×:A[z][y]=B[x][z]*C[z][y]でz++のループ
・上の計算の場合、A,B,C の型が一緒
まだまだいろいろな最適化でアホほど早くなる。つーかマニュアル嫁
640 :
login:Penguin :2008/03/01(土) 00:01:44 ID:APy4O55w
>634 科技計算の類はかなり早くなる(ものが多い) ただし、SIMD利用とCPU最適化オプションを指定すること フトゥにコンパイルしただけじゃ早くならない 簡単なケースでベンチをとりつつ、オプションを選択するとよい
641 :
login:Penguin :2008/03/15(土) 15:16:28 ID:XXbcTrd/
おお、ハウスホルダ変換がQuadCoreでは350%の速度がOpenMPで出るではないか!
gccでいうところの "-Wextra" (旧 "-W") に相当するオプションを設定したいのですが、どのように設定したらよいのでしょうか。 -Wextraの中身が (gcc-4.3.0/gcc/c-opts.cから) -Wtype-limits -Wclobbered -Wempty-body -Wsign-compare -Wmissing-field-initializers -Wmissing-parameter-type -Wold-style-declaration -Woverride-init -Wignored-qualifiers ということは分かったのですが、節穴の私には対応するiccのオプションが分かりませんでした。
>>643 すんません。iccのヘルプをちゃんと読んでませんでした。intel compilerの-Wallは "enable all warnings" なんですね。
gccでは-Wallと-Wextraは別オプションになっているのでintel compilerもそうだと勝手に思ってました。
ちなみに、gcc-4.3.0だと
-Wunused
-Wformat
-Wimplicit
-Wchar-subscripts
-Wmissing-braces
-Wparentheses
-Wreturn-type
-Wsequence-point
-Wswitch
-Wstrict-aliasing
-Waddress
-Wstrict-overflow
-Warray-bounds
です。
スレ汚しすまん。
過疎スレのようですがお尋ねします・・・ インライン展開オプション-ipoを付けると、staticライブラリ*.a使えなくなるんですか? undefined reference to `hoge_'ってなるんですが
コンパイルコマンドの「最後」で -Wl,--no-whole-archive とすると、コンパイラが勝手にリンクするライブラリはshared objectとしてリンクしてくれる。
647 :
645 :2008/05/20(火) 17:33:50 ID:2e1r2xSO
>>646 すいません、勘違いしていました。
ライブラリを-ipo付けてコンパイルしたのが原因でした・・・roz
インライン展開ってソースがなきゃできないんですね・・・・・(って当たり前か
--no-whole-archiveは関係ないと思います。これって--whole-archiveを付けた後に、
gccのアーカイブ群まで取り込まないために付けるオプションですよね?
というわけで、ありがとうございました。色々勉強になりました
-ipoオプションをつけて*.aファイルを作るときに、arの代わりに xiarを使った?
649 :
645 :2008/05/21(水) 14:40:08 ID:L/VuNGfi
-ipoつけるときは、arの代わりにxiar、ldの代わりにxildを使えとマニュアルに 書いてあるのでそれでコンパイルはできると思う。 巨大なライブラリだとコンパイラの制限値を超えてだめなときがあるけどね。
651 :
645 :2008/05/22(木) 17:01:55 ID:6P7rdQRf
>>650 ありがとうございます。専用アーカイバやリンカがあったのですね。
Intelコンパイラを使うならAR=arをAR=xiarと切り替えたほうがよさげですね。
マニュアルちゃんと読むべきでした、すみません。マニュアルの記述をまとめると、
@-ipo -cで生成されるのは中間表現(IR)という擬似オブジェクトであって、普通のオブジェクトではない。
Axiarを使うと普通のライブラリとして機能する。
Bstaticライブラリはmultifile IPOを利用できず、従ってそのままリンカに渡ることになるが、
リンカは擬似オブジェクトを解釈できないためエラーになる。
となるのですが、xiarの説明自体は
「xiarを使用して作成したstaticライブラリは普通のライブラリとして機能します」
としか書かれておらず、具体的に何をしてるのかが分かりません。
ライブラリのファイルサイズが[-ipo有りでxiar]-[-ipo有りでar]≒[-ipo無しでxiar(=ar)]だったので、
ar・・・擬似オブジェクトをそのままライブラリにする
xiar・・・擬似オブジェクトに加え普通のオブジェクトも含める
と推測したのですが、合ってますか?
#というかそもそも、staticライブラリがmultifile IPOを利用できないというのなら、
#エラー出すんじゃなく、multifile IPO無しということで処理してくれてもいい気が・・・
652 :
645 :2008/05/22(木) 17:51:46 ID:6P7rdQRf
>>651 の
xiar・・・擬似オブジェクトに加え普通のオブジェクトも含める
は適切じゃなくて、正しくは
「xiarでは、中間表現(IR)→純粋なオブジェクト(.o)+中間言語(.il)と変換してからarに渡す」
ですね。
中間表現と中間言語の違いがイマイチよく理解できてないですが・・・
-ipoで*.oファイルを作ると*.oファイルの中にはアセンブラが入ってなくて 中間表現だけが入っているファイルができるんじゃなかったかな。 arちゅうのは*.oファイルを適当にくっつけてひとつのファイルにしている だけっぽいです。 arのxオプションを使えば、*.aファイルをばらせるのでやってみ。 -ipo+xiarで作成したときは*.oと*.ilというファイルが出てくるはず。
654 :
645 :2008/05/23(金) 09:45:06 ID:XIoimPIC
バラすと.oと.ilが出てきます。 .oが普通のアセンブラなオブジェクトで、.ilが中間言語でしょうね。 ただ、-ipo無しで作った.oとはサイズが微妙に違いました(まぁさすがに全く同じことしてるわけではないか staticライブラリがマルチファイルIPOできないのは残念ですが、よく考えたらIPOよりも プロファイリングなどの他の最適化のほうがはるかに効くんですよね。 あんまし拘ってもしょうがないぽ・・
-no-prec-divをつけると少し精度が落ちるってmanにありますが、 普通に使う分には特に気にしないでよかですか?
Intel Fortranのv10.1使ってる人いる? subroutine内でprint *,'hoge'とかやると死ぬようになった… あんま詳しく見てないけど、けっこう仕様変わったのかな
>>655 コンパイルオプション付けるだけだから両方やって比較すれば?
どうしても精度が必要ならアルゴリズム変えた方がいいと思う
>>656 さすがにそれは無いんじゃないかな
試しにソースうpしてみたら?
658 :
656 :2008/06/06(金) 22:19:38 ID:OwA7q/9S
では、恥さらし覚悟でうpります。何でこれがセグるのか分からない・・・ integer n parameter(n=100000000) real*4 a(n) print *,"before call" call sub(a,n) print *,"after call" end subroutine sub(a,n) integer n real*4 a(n) real*4 b(n) ! <-----(1) print *,"hoge" ! <-----(2) return end v10.1です。(1)か(2)を削ると動きます。v9.0では無問題でした。 何がなんだか・・・orz
>>658 配列がデカくてスタックがあふれてるだけじゃない?
660 :
656 :2008/06/08(日) 16:32:15 ID:RpwOoos6
>>659 ulimitのstackで引っかかっていましたorz
新しくきたマシンなんで設定するの忘れてた・・・
Intel Fortranなのですが、シェル上でCtrl+Cで強制終了すると毎回下のような文が 出てくるのですが、これを抑制する方法はないでしょうか? forrtl: error (69): process interrupted (SIGINT) Image PC Routine Line Source libc.so.6 0000003D5A7B9E80 Unknown Unknown Unknown a.out 00000000004336E1 Unknown Unknown Unknown a.out 000000000040B0A7 Unknown Unknown Unknown a.out 00000000004029F1 Unknown Unknown Unknown a.out 00000000004028E2 Unknown Unknown Unknown libc.so.6 0000003D5A71C3FB Unknown Unknown Unknown a.out 000000000040282A Unknown Unknown Unknown
>>661 実行前に環境変数 FOR_IGNORE_EXCEPTIONS を TRUE に設定しておく。
663 :
661 :2008/06/20(金) 19:01:05 ID:HW/lNZ/L
>>662 できました。どうもありがとうございました。
664 :
login:Penguin :2008/08/29(金) 19:02:43 ID:rSW2UIWp
メモリモデルってsmallとmediumとlargeがありますが 速度の違いってどれくらいあるんでしょうか?
gccでいう "-fno-strict-aliasing" って、icpcではどのように設定するのでしょうか。 strings icpcbinすると文字列が見つかるので解釈しているのかもしれませんが、マニュアルには見当たらなかったので使わない方がいいのかと思いました。 "-fno-alias -fno-fnalias" でしょうか。
666 :
login:Penguin :2008/11/08(土) 20:54:01 ID:Q19//wit
インストーラが日本語化されてますね。
-ipoつきでコンパイルしてたら、メモリとスワップを使いきりそうになってfatal errorでicpcが停止した。 icpcがipo最適化を行う際のメモリ使用量を制限する方法はありますでしょうか。
以前取ったライセンスじゃidbが動かんのじゃゴルァ! 登録し直したぞゴルァァァ!!
早速アップデートきてるし wrong output とかヤバげなんがあるんで入れ替え入れ替え
質問はまずIntelに
672 :
login:Penguin :2009/02/23(月) 23:42:12 ID:RW6Oi1N+
いくつかバージョンがあるけど、for IA-32 and Intel64って 今時のIntelCoreアーキテクチャのCPUを指してるんだよね? Athlon64に入れようとしたらエラーが出てしまった・・・(´・ω・`) といいつつage
OSタダなんだからi7買えよ コンパイラもタダで引っ張ってんだろうし
コンパイラ買うからi7でメモリ12GBくらい積んだマシン只でくれ
Intelに言えよ
金持ちのぉぃらがあげよう。 住所、名前、電話番号をカキコしたまえ。
そういえば、
>>168 の結末ってどうなったの?
Intel compiler 11.0の日本語のライセンス文書によると、
3. 権利の制限
C. ライセンスの範囲および期間
ii. 非商用ライセンス: 本ソフトウェアを非商用ライセンスで使用する場合、お客様
は本ソフトウェアを非営利目的 (報酬、給与、その他のいかなる代償も得ない場
合) に限り使用できます。本ソフトウェアは、その他の目的 (営利、非営利に関
わらず) に使用することはできません。本ソフトウェアの使用から生じた派生物
を報酬、代償、またはその他のいかなる対価と引き換えに、生産あるいは提供す
ることはできません。本ソフトウェアは、お客様が個人で使用し、常時、1 部の
コピーを同時に使用する場合に限り、複数のコンピューターにインストールする
ことができます。その他の場合、追加する各ユーザーに対して個別のライセンス
が必要です。インテルは、お客様に本ソフトウェアの非商用ライセンスのライセ
ンス・キー・コードを提供します。期間制限のある非商用ライセンスを取得した
場合、お客様のライセンス期間および本ソフトウェアの使用は、本ソフトウェア
のライセンス・キー・コードによって管理される、取得したライセンスの期間に
限定されます。法人の場合、インテルは、本契約に定める契約条件に従い、お客
様の社内の指定された社員 1 名に本ソフトウェアの独占使用権を許諾します。
とのことだから、大学等であっても給料もらっている場合はだめっぽい。
けど、最後の方にある「法人の場合」ってなに?
678 :
login:Penguin :2009/02/27(金) 06:35:16 ID:dpDRN+Ar
ここで訊いたところで答えは出ない。
Intelのページに Intel Software Development Suite Student Edition for Linux が目安で $129って書いてあるけど これってXLsoftで扱っているんかな? 学生だとアカデミックライセンスでも四万円のライセンスを買うのがしんどいんだけど。
学生用の年会費無料クレカ作ってアメリカに直で発注 日本で英語版VISTA買ったりするとアホな値段なのでUSのAmazonで発注、当然アカデミック版な サポートなんて英語でいいだろ?きばれや
学生は無理に有料のコンパイラ使うことない。GCCや無料コンパイラがいろいろあるんだからそれ使え。
使いたいんだったら使えばいいじゃん 安く経験値積めるんだし dreamsparkとかは知ってるだろうけどIntelのほうはあまり有名じゃないからな
金持ちの学生さんならどうぞ何でも使ってください。 でも679は普通の学生さんらしいのでちょとムリですね。 GCCでどうしてもできないことでもあるというなら別ですが、勉強用とみても十分でしょ。
最適化ツールは勉強になるんじゃない
$129が高いか? 興味の湧いたことをするのが学生の特権なんだがね
$129が高い学生もいるだろうし、安い学生もいるだろう。高いか安いかは人それぞれ。 1万円あったらそれだけで1ヶ月食えるんだよ。貧乏学生にはコンパイラよりメシのほうが大事。
お前に使えって言ってるんじゃないからさw さっさと飯食って寝れば?www
まともに反論できなくなると個人攻撃ですかw 脊髄反射する人は見てて気持ちいいです。単純で。
だからさ、ぴぃぴぃなんでしょ? 学生のうちの自己投資が何か分からない人は 他人にアドバイスする価値なんてないよ 個人攻撃と受取っていただいて結構 お前みたいな糞ったれはバンバン攻撃しますよw
何勘違いしてるか知らないけど、俺は学生じゃないよ。 学生にもいろいろあるだろって言ってるだけなんだが。それのどこが悪いわけ? それにどこが糞ったれなのか意味不明だし。 おまえのようなアホたれの攻撃なんか全然怖くないけど、 日本語もまともに読めずに誤解するのは止めとけよ、このヴォケが。
自称「学生のうちの自己投資がわかるオレ」が2ちゃんでID赤くして個人攻撃w
欲しいんなら買って試せばいいだけのこと まぁこんな場末で聞くのであればそれほど情熱も強くはないのだろう
693 :
login:Penguin :2009/03/02(月) 11:49:06 ID:pMjprmwC
見てるほうが赤面 晒し age
v11になってかなり変わったって聞いたけど、そうなの? コンパイルが通らない、計算が走らない、で悩むのは嫌だよねぇ・・・
オプションが結構違う
>>694 コンパイラのメッセージがぁゃιぃ日本語になったw
今のIntelの最新石ってネハーレンとかいうやつだよね? アーキテクチャかなり変わってるらしいから、コンパイラも最新のに引っ越さないと速くならんだろうなぁ・・・マンドクセ('A')
並列化の方がめんどくさいわ
699 :
login:Penguin :2009/11/11(水) 06:41:48 ID:0MqYI6We
あれ?CPUごとの最適化オプションて変わったの? SSEとかで指定するようになったの?
>>694 そうか?
「計算が合わない」のほうが何倍も嫌だ。
701 :
login:Penguin :2009/11/17(火) 21:11:52 ID:IoF89hgV
googleが検索サービス用にこれ内部で使ってイイの?
703 :
login:Penguin :2009/12/17(木) 14:57:47 ID:gQLopwY1
http://www.ftc.gov/opa/2009/12/intel.shtm Intel secretly redesigned key software, known as a compiler,
in a way that deliberately stunted the performance of competitors’CPU chips.
アメ公取のインテル提訴文言の一部。
Intelならいずれそのうち、くらいには思ってたけど実際にやってたとは。
で、ここでいうコンパイラはこのスレのお題の奴も入るんだろうな。
散々ガイシュツ FTCのそれは単なる言いがかりだから
Intelが認めたんじゃなかった?
AMD, VIAでも最適化が有効になるパッチを作ってる人がいたな
>>699 なんか変わったよね
もうまんどくさいから-O3でいいや
-O -xHost でいいんでないか
709 :
login:Penguin :2011/01/10(月) 18:09:40 ID:tbfzIzcb
インテル系のCPUの場合には -fast それ以外の場合には、-xO (オー)をつけるんだったかな?
710 :
login:Penguin :2011/01/17(月) 05:34:04 ID:6LiJrwxE
CO-ARRAY FORTRANでプログラムを書く方法の良い手引きはありますか?
横レスですが、Co-array FortranってFortran2008にマージされてるんですか? それとも本流のFortranとは別の言語ですか?
712 :
login:Penguin :2011/01/21(金) 01:54:29 ID:PDhVbO0M
713 :
login:Penguin :2011/01/23(日) 11:41:34 ID:92XB7OqC
Sandy−Bridge用の AVXのためのコンパイルオプションをどうあたえるのかが分からないんだが。
714 :
711 :2011/02/06(日) 18:52:33 ID:750CK4XO
>>712 ありがとうございます
The ISO Fortran Committee decided in May 2005 to include co-arrays in the next revision of the Fortran standard.
ってありますね
これで並列計算が楽になるのかなぁ
715 :
login:Penguin :2012/03/01(木) 01:15:28.84 ID:6Rs4cvKP
g++ の __attribute__((always_inline)) や __builtin_unreachable() と同じ機能は、icpcにはありますか? なかなか調べても分からず、困っています。
「Non-Commercial Unsupported」なバージョンって今で言うとどれにあたるのかなぁ。
米国との価格差が小さくなるのかと一瞬期待したのだが、 一斉値上げになってしまった…
国内の代理店は値上げ迅速だったけれど、海外なら一部にまだ旧価格の在庫がある模様 上位製品ほど価格差が大きいので必要な方はお早めに
Parallel Studio 2011から2013にアップグレードしたら、 姫野ベンチの結果が良くなった。 F90 4606 → 4775 F77 4917 → 5788
722 :
login:Penguin :2012/11/12(月) 06:19:55.20 ID:0Zx7pfoN
うちは下がったよ
ifort
Tiny C Compiler TCC使い。 GCCよりコンパイルが恐ろしく早い。 コンパイラの本体サイズが恐ろしく小さい。 Windows版もあり、「お試し」に丁度いい。 生成したコードも小さい。 WindowsでLcc使ったが設定とかあるし生成コードもでかい。重い。余計な作業が 結構でてくるで苦だ。
725 :
login:Penguin :2015/01/04(日) 16:42:42.18 ID:xiXJ5Ztv
ifort -O3 -ipo -static はじめのいぽ
ここは Fortran が普通か。ほほぅ。
727 :
login:Penguin :2015/01/11(日) 22:55:02.21 ID:3mcb55Qd
tcl/tk使う奴おらんの?
>>727 そのページでnon-commercialに対してコメント送れるんだね
非商用復活してくれってみんなで書き込もうよ
730 :
login:Penguin :
2015/01/25(日) 15:46:31.63 ID:cFLsF4d5 なんだか、コンサートの演奏が既に終わってるのに、 アンコール!、アンコール!、と叫ぶ乞食みたいな気がしてしまう。