intel compiler for Linux
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001login:Penguin
01/11/29 17:53ID:5k7yf0aiintel 社の Web ページ
URL:<http://developer.intel.com/software/products/eval/>
の、"Non-Commercial Unsupported Software(非商用、サポート無し)" から、
RedHat系Linux 6.2 または 7.1 に対応した IA-32 や IA-64向きの
最適化C++,Fortran9x用のコンパイラ(version 5.0.1) が無料で
ダウンロードできるようになっています。
(詳しいライセンス条件は、ダウンロード時に表示される文書を
参照してください。)
intel 自身が作ってますので、インテル系のCPUの資源を活用できる
実行ファイルが生成されるます。(AMD の Athlon も Pentium III と
みなしてコンパイルオプションを選べばMMX機能などを使うことが可能です。)
以下は、「無料永続版」を入手した後で、それを実際に使えるようにする
ための設定方法の記述です。
C++ と fortran9x を両方ともインストールする例を書いていますが、
どちらかだけしか必要ない場合は、片方を省略することができます。
例は RedHat6.2 系統向けになっていますが、7.x 向けの場合でも大体同様です。
(Web ページからダウンロードしてくるファイルが違うだけです。)
ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
00022
01/11/29 17:56ID:u2JQMD7w0003login:Penguin
01/11/29 17:56ID:5k7yf0ai例えばダウンロードして来たファイルが次のような名前であったとします。
(RedHat6.2 向けの例です)
# ls
cc010817rh62.tar
fc010821rh62.tar
STEP-1)
tarファイルを展開します。
( cc-work, fc-work は 実際には任意の作業用ディレクトリ名です。)
# mkdir cc-work
# (cd cc-work; tar xvf ../cc010817rh62.tar; )
# mkdir fc-work
# (cd fc-work; tar xvf ../fc010821rh62.tar; )
=========
STEP-2a)
ディレクトリ cc-work の下でスクリプト install を実行する。
# ( cd cc-work; ./install )
RPM shows no Intel packages as installed.
Which of the following would you like to install?
1. Intel(R) C++ Compiler for the Itanium(TM)-based applications, Version 5.0.1, Build 20010705
2. Intel(R) C++ Compiler for 32-bit applications, Version 5.0.1 Build 010730D0
3. Linux Application Debugger, Version 5.0.1, Build 20010720.
x. Exit.
指示に従って項目 2 のコンパイラを入れる。
たずねてくるディレクトリパスなどはデフォルトを選んでください。変えることもでき
ますが、その場合はあとの説明はそれに伴って多少変わります。
0004login:Penguin
01/11/29 17:57ID:5k7yf0ai=========
STEP-2b)
同様にして ディレクトリ fc-work の下でスクリプト install を実行する。
# ( cd fc-work; ./install )
指示に従って項目 2、3の コンパイラ と デバッガ を入れる。
たずねてくるディレクトリパスなどはデフォルトを選ぶ。
ここまでが前準備です。
=======
STEP-3)
システムファイル /etc/ld.so.conf に次の一行を追加する。
――――――
/opt/intel/compiler50/ia32/lib
――――――
そして、ダイナミックリンクライブラリのキャッシュを再構築するために
/sbin/ldconfig を実行しておきます。このときにwarning が出ても、無視
してください。
STEP-4)
ダウンロード時に 書き込んだ連絡用Email アドレス宛に送られて来た
ライセンス設定情報をファイル l_for.lic , l_cpp.lic にいれて作り,
それをディレクトリ /opt/intel/licenses/ にコピーします。
注:ライセンスファイルの感じはたとえば l_for.lic だったら、
------------------ はじまり
License id: XXXXXXXXXXXXXXXXXX-X
FEATURE l_for intelpto 5.01 permanent uncounted HOSTID=ANY ck=XXX \
SN=NCORNC SIGN=XXXXXXXXXXXX
------------------ おわり
といったぐあいです。 (ライセンスのキーの番号は実際とは変えてあります。)
0005login:Penguin
01/11/29 17:57ID:5k7yf0aiSTEP-5)
次のようにして,シンボリックリンクを張ります。
(cd /usr; ln -s /opt/intel/compiler50 intel)
STEP-6)
コンパイラやデバッガを使いたいユーザーは各自のホームディレクトリの初期設定用
シェルスクリプトに次のような設定を入れておきます。
次の例は bash をシェルとして使う場合の $HOME/.bash_profile ファイルの場合です。
---------------
PATH=$PATH:/opt/intel/compiler50/ia32/bin
export PATH
LM_LICENSE_FILE=/opt/intel/licenses/l_cpp.lic:/opt/intel/licenses/l_for.lic
export LM_LICENSE_FILE
---------------
======
以上で、設定は終りです。
設定がうまくいっているかを試すために、一旦ログアウトしてからログインし、
(あるいはログアウトせずに
. $HOME/.bash_profile
を実行して環境変数をセットさせてもよい。)
テスト用に適当に作ったソースファイル a.c , a.f をコンパイルしたり
などしてみましょう。
# icc a.c
# ifc a.f
コンパイラの使いかたなどは次のようにすれば見ることができます。
# icc -help
# ifc -help
----------------------------------- 説明終り ------------------------------
0006login:Penguin
01/11/29 17:59ID:5k7yf0ai0007login:Penguin
01/11/29 18:34ID:PuKXBXW90008
01/12/04 03:10ID:fMxgF1K0インテルやAMDのCPUの最適化コンパイラ(C++、Fortran)として
メーカー自身として相当に出来がよいコードが出ると思うのだけど。
もちろん金持ちなら、有料サポート版をダウンロードして100ドル
払って使えばよいんだけど。
0009
01/12/06 02:04ID:tn79Zt8Sもっと高いらしい。無料版はお得だ。
0010
01/12/14 02:45ID:Up+Fx3Ox誰も関心なんかないんだよ。
0011login:Penguin
01/12/14 02:48ID:XZsmMjBh0012
02/01/12 16:22ID:9PdOKLGW0013login:Penguin
02/01/12 17:14ID:WmNIzC2/動作早くなるの?
0014login:Penguin
02/01/13 00:40ID:xXzex+Lk0015login:Penguin
02/01/13 01:07ID:w26vCzhJ細かく指定できるね。
だれかベンチマークとか取った人いないかな
0016login:Penguin
02/01/13 02:00ID:GjoeUszrコンパイルオプションは
icc: -O3 -tpp6 -axK -xK -static
gcc: -static -O3 -march=pentiumpro
C compiler : icc (unknown version)
libc : unknown version
MEMORY INDEX : 3.132
INTEGER INDEX : 2.163
FLOATING-POINT INDEX: 4.942
compiler : gcc version 2.95.4 20011006 (Debian prerelease)
libc : unknown version
MEMORY INDEX : 2.123
INTEGER INDEX : 1.902
FLOATING-POINT INDEX: 4.386
0017login:Penguin
02/01/13 02:05ID:GjoeUszrhttp://www.tux.org/~mayer/linux/results2.1.html
0018login:Penguin
02/01/13 03:39ID:xXzex+Lklinux-2.4.17,glibc-2.2.4
gcc:
INTEGER INDEX : 12.402
FLOATING-POINT INDEX: 11.659
==
C compiler : gcc version 2.95.3 20010315 (release)
MEMORY INDEX : 3.166
INTEGER INDEX : 3.043
FLOATING-POINT INDEX: 6.466
pgcc:
INTEGER INDEX : 12.387
FLOATING-POINT INDEX: 11.159
==
C compiler : gcc-2.95.4 (unknown version)
MEMORY INDEX : 3.272
INTEGER INDEX : 2.962
FLOATING-POINT INDEX: 6.189
icc:
INTEGER INDEX : 14.146
FLOATING-POINT INDEX: 12.318
==
C compiler : icc (unknown version)
MEMORY INDEX : 4.260
INTEGER INDEX : 3.066
FLOATING-POINT INDEX: 6.832
==の上側はORIGINAL BYTEMARK RESULTSで下側はLINUX DATA BELOW
コンパイルオプションは
gcc,pgcc:
-s -static -O3 -fomit-frame-pointer -Wall -march=i686 -fforce-addr -fforce-mem -malign-loops=2 -malign-functions=2 -malign-jumps=2 -funroll-loops
icc:
-static -O3 -tpp6 -axKMi
0019login:Penguin
02/01/13 04:10ID:E8w4+80xiccでコンパイルしたOpenSSH(+OpenSSL)は落ちまくりで使いものにならな
かった。
0020login:Penguin
02/01/13 04:17ID:ZL7ol7tmOpenSSLで2.1倍速だそーだ。
ttp://moso.borogrammers.net/moso/diary/?200110c&to=200110253#200110253
0021login:Penguin
02/01/13 16:15ID:lTcEUkeD休み明けに試してみるよ。
f90がただだなんてうれしい。
0022login:Penguin
02/01/13 16:47ID:ZL7ol7tm動かない事が結構あるのはForteと同じ。
0023デフォルトの名無しさん
02/01/13 18:41ID:8S0ngHZJいっている意味が分からない。
0024login:Penguin
02/01/13 18:59ID:E8w4+80x002523
02/01/13 19:03ID:8S0ngHZJ0026login:Penguin
02/01/13 20:24ID:E8w4+80xそそ。あとお馬鹿なconfigureやMakefileをだます手間とか。
0027login:Penguin
02/01/13 20:33ID:E8w4+80x0028login:Penguin
02/01/13 20:56ID:C6zTZ+z/0029
02/01/13 21:53ID:B/8pwAaqDebianでも動いた。
0030login:Penguin
02/01/13 22:46ID:Yar5iLcv誰かiccでLAPACKコンパイルして漏れにクレsage
っていうか自分でやってみるヨ!!できたらレポするね!!
pen4使いならこういうのも
ttp://www.hpc.co.jp/IA-Dev/IADEV-ATLAS.htm
あるんだが…
0031login:Penguin
02/01/14 03:20ID:02BADL4c003230
02/01/14 03:36ID:MfJpktDa取り敢えず手元にあったblaslapack(出どころ不明品)をifcで -O3 -tpp6 ぐらいで make
してみてこれまた手元にあったプログラムでDSYEVで100x100実対称行列
対角化してみたら激オソ。つか止まらん。
ちなみに同じ事をtitpackっていうのでもためしてみたが、-O3より-Oの方が
速かった。たぶんソースとニラメッコかつコンパイルオプション手探り
の可能性あり。
ただし行列の掛け算見たいな単純なDOループのを-O3 -tpp6 でやってみると
2倍高速化。
取り敢えず途中経過まで。
003332
02/01/14 03:59ID:MfJpktDaスマソ。これじゃ何言ってるか解らんな。
linux-2.4.16 ,glibc-2.2.4, RH7JベースでPen!!!800のSMP.
>2倍高速化
というのは g77 -O5 -mpentiumpro -march=pentiumpro -funroll-loops
との比。
今からlapackのソース見る気にならないのでまた次回
blasからじわじわ攻めていきます。
0034login:Penguin
02/01/19 00:04ID:9x31aMrp出てるね。math kernel library
(mkl)として。pgfortranのlapack
より2倍はやい(p4 rambusで)。
0036
02/01/19 04:15ID:EPNncPjOものはいまのところないと思う。AMDとの差別化のために力入れている
ようであります。AMDはこういった面での総合的なサポートが無いのが
残念だ。GNUに金でも出して、AMDのCPU向けの最適化を入れてもらうとか、
64ビットCPU向けのコードも出せるようにすればいいのにね。
0037login:Penguin
02/01/19 08:35ID:CcBGA9H/すると internal error で落ちる。Pentium III にすれば
コンパイルはとおる。
ATLASはgccで十分っていうかソースがアセンブラみたいな感じやからな。
0038login:Penguin
02/01/19 08:39ID:CcBGA9H/Lapack コンパイルしましたが。
なんかな、コンパイラの責任かどうかしらんが、
止まらないルーチンがある。今調査中。
複素数対角化だったっけルーチン名は失念。
g77 (gcc-2.95.3) だと一応結果は出たけど。
おりゃ不安定だと思ってるが。
0039login:Penguin
02/01/19 09:06ID:CcBGA9H/ATLASをIntel Fotranから使うにはひと工夫必要。
というのもg77のオブジェクトと Intel Fortran のオブジェクト
は同時にリンクできないからだ。ってIntelの西都に
書いてあるんだけどね。
詳しくはttp://130.54.33.30/~maho/Computer/quantum_chemistry/Gaussian98_linux_ifc.html
対角化はそんなには速くならん気がするが。
004034
02/01/19 09:20ID:9x31aMrpLIBS= -L/opt/intel/mkl/lib/32 -lmkl_lapack -lmkl_p4 -L/usr/lib/ -lpthread
で解決したよ。mklのdocには書いてないけど、
/usr/lib/libpthread
をリンクしないと正常に動かない。
0041login:Penguin
02/01/19 11:13ID:/efnsvv4試してみる前ですまぬがこれってintel fortranの
オブジェとリンクはできますよね。
マジ感謝してます。ありがとう!!!!!
mkl とってこないとだめかぁ。
がんばりまっす。
(私FreeBSD の方が好きだからできればFreeBSDでも
出してくれないかなぁ...)
0042login:Penguin
02/01/19 11:20ID:/efnsvv4しかしながらatlasの方が速いと聞くとちょっと
やっぱりなんちゅうかそちらの方を使いたくなりました。
しかし安定度が低い。
0043login:Penguin
02/01/19 11:46ID:/efnsvv4今MKLでコンパイルやってます。
0044login:Penguin
02/01/19 12:21ID:0xxlGOpp早かったけど。今のところ、800x800の
複素エルミート行列の対角化の速さは
pgfortran+pgfortlanのliblapack,libblas<
g77+redhat7.1についてきた/usr/lib/のblas,lapack<
ifc+mkl
でした。g77とifcの差は微妙。atlasの効果は
あまりなかったのは、/usr/libに入ってた
lapack,blasが十分最適化されていたからと
思われ。
0045login:Penguin
02/01/19 13:02ID:/efnsvv4これはすばらしい。
こっちは万単位の対角化ですわ。だからシビアなんですよね。
直接ではないけど。
とりあえず、atlasは結構バグっぽいんで使いたくない。
最近真面目にベンチは取っていないが g77 コンパイラフラグを
いろいろがんばればよいみたいなのを知って。gcc-3.0.xは
最適化は最近はどうなったかご存じですか?そもそもLapackとかでも
対角化はあまり最適化が効かないみたいですね。笑うのがg77で
最適化を全部取ってしまうと一桁以上計算時間がかかる。
pen4+rambusですか。すごいっすね。こっちはPenIIIなんすよ。
なんかデスクトップにあるようなしょうもないやつのほうがpenIVで、
今ならこっちが速かったりして :-)
アライメントの問題どうしてます?(すれちがいですまそ)
0046login:Penguin
02/01/19 13:22ID:9j0IMkFvないんだけど、ifcだと
-O3 -tpp7
というようにcpuごとに最適化するのがありました。
pp7はpen4でpenIIIはpp6だったかな?
compaqの-tune ev67のようなものですね。
直接対角化でないというと、lanczosですか?
ところでアラインメントの問題とは?
0047login:Penguin
02/01/19 13:51ID:/efnsvv4Davidson の対角化です。
僕も一応その程度ですが最適化のオプションはいじっています。
なぜかアドレスエラーが頻発するのであんまり高度にはしていません。
アラインメントは
ttp://quanta.synchem.kyoto-u.ac.jp/~maho/FreeBSD/FreeBSD_compiler.html
ですわ。前から指摘されたらしいが僕も偶然気がついた。
Linuxにもあって、fortranでもcommand line の
スタックはそのままアラインされるんで、問題はあると思う。
fortranやintel fortranだとどうなるんだろう?
そうそう先程atlasがバグっぽいといったがウソです。
すいません。MKLを使っても全く同じエラーが出た。
今最適化をすべてオフにして挑戦中。
0048login:Penguin
02/01/19 13:52ID:/efnsvv40049login:Penguin
02/01/19 14:12ID:/efnsvv40050login:Penguin
02/01/19 14:53ID:umOrHyJqpen4買えってことかな。このIntelの商売上手(とか言ってみる
ifcでモンテカルロ(Ising)やってみたらこっちはg77にくらべて1.5倍以上は出てる。
005144
02/01/19 15:30ID:9hT/dXbyついてきたblas,lapackを使った結果は、
ifc+mklとほとんど一緒でした。プログラムに
よっては逆転するでしょう。
ここで自分の経験をまとめさせてください。
速い順に
ifc+mkl
≒g77+純正のlapack,blas
>pgfortran+pgfortranのlapack,blas
≒富士通のコンパイラ
ちなみにg77でもifcでも、自分でコンパイルした
lapack,blasは最適化をしたつもりでも
なかなかスピードが出ない。対角化などをしない
ときでも、内積や行列の積を含むときは必ず
/usr/lib/libblas.aかmklを使うべし。
g77ががんばってるからintelもただにしなければ
いけないんでしょうね。おかげでf90がただで
手に入るようになったわけでうれしいです。
0052login:Penguin
02/01/19 15:48ID:9hT/dXbyalignmentのリンク先、みました。2年位前に、
alpha 21264 + CFLAで行列計算をさせていたとき、
行列の大きさを大きめにとると、とたんに計算が
速くなったことがあり、不思議だなと
思ってたけど、このためかもしれませんね。
どうもありがとう。
しかしファイル名を1文字から8文字用意して
ベンチを取ってから走らせなきゃいけないのかあ。
005350
02/01/19 15:51ID:umOrHyJq私も
>おかげでf90がただで手に入るようになったわけで
と言いたかったのですが…。
取り敢えず今まで通りvf90使っておきますか。
選択肢が増えたわけだからそれぞれの癖さえ掴めばいいのですかね。
0054login:Penguin
02/01/19 17:03ID:/efnsvv4基本的に4bytesのアラインだからやねんな。
mallocで取られるcとはちがい、fortranの場合は
大きな配列をスタティックにとってというはなしになるから
結構致命的になると思う。sbrkなんか使うなよなぁ。
訳解らん。
>>53
RH7.1 のgccってそんなに高速なんだ。知らなかった。
HPCのページを見てると不当にg77の評価が低くて、
かなりむかついた。それ以来あそこのデータは信用したくない。
というか、チューニングなんてマニアがごりごりやったやつと
何も考えずに組んだやつだったらそりゃちがうだろう。
どうせチップとか作ってるわけじゃないのにえらそうに。
なんだか嫌なやつらだ。
ま、ベンチとってくれてありがとう、とは思うけど。
0055login:Penguin
02/01/19 17:06ID:/efnsvv4あ、僕があおられているだけか。
ところでRHのBLASはコンパイルはそのままで
手は加わってないんだよね?なぜATLASより遅いんだろう?
あんまり知らないですが。知ってたら教えてください。
やっぱPenIVなんやろうな。
0056login:Penguin
02/01/19 17:21ID:umOrHyJqVine-2.0に(おまけで)付いてた富士通のフォートランはそのころのg77より
ずっと速かった覚えがあるけど、>>51 ではg77が速いって言ってるから、
多分g77の性能が上がったんだと思う。
あとそのころでもgccと富士通のCコンパイラとは互角の性能出てた。
もちろん計算の種類にもよるだろけど。
0057login:Penguin
02/01/19 20:42ID:T0M+fgYBあげると急に速くなること
あるね。
p4のmklはSSE2に対応してる。
これとほぼ同じベンチを
red hat7.1についてくるblasが
たたき出す。自分でコンパイルした
blasはへたれ。>>55 さんは
自分でコンパイルしたのですか。
それとred hatは7.1っすか。
ppc2002でのカキコは疲れるな。
0058login:Penguin
02/01/19 22:16ID:CcBGA9H/分かるのでしょうか? 僕は FreeBSD or make を
そのままするんでよくわからないんです。
フラグは? レファレンスインプリメンテーションのコンパイル?
ううううーむ。ちょっと信じられない。
分かる範囲でよろしければ教えていただくとうれしいです。
0059login:Penguin
02/01/19 22:33ID:CcBGA9H/# rpm -ivh lapack-3.0-12.src.rpm
# cd /usr/src/redhat/SPECS/
# rpm -ba lapack.spec
でビルドするんやね。
コンパイルフラグは
-O2 -march=i386 -mcpu=i686 これだけか。
多くのパッチが当たっているがそんなに重要そうではない
感じがする。mkl と比較してそんなにスピードが出るのか。
不思議じゃ。研究が一段落したらifcでもやってみるわ。
lapackのパッチは参考にする。
0060login:Penguin
02/01/19 22:41ID:CcBGA9H//usr/bin/g77 -v
g77 version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) (from FSF-g77 version 0.5.26 20000731 (Red Hat Linux 7.1 2.96-98))
Driving: /usr/bin/g77 -v -c -xf77-version /dev/null -xnone
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
GNU F77 version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) (i386-redhat-linux) compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GNU Fortran Front End version 0.5.26 20000731 (Red Hat Linux 7.1 2.96-98)
__G77_LIBF77_VERSION__: 0.5.26 20000731 (prerelease)
@(#)LIBF77 VERSION 19991115
__G77_LIBI77_VERSION__: 0.5.26 20000731 (prerelease)
@(#) LIBI77 VERSION pjw,dmg-mods 19991115
__G77_LIBU77_VERSION__: 0.5.26 20000731 (prerelease)
@(#) LIBU77 VERSION 19980709
こんな感じ。
0061login:Penguin
02/01/19 22:51ID:1EgeSYjkblasに秘密がある気がするんだが。
0062login:Penguin
02/01/19 23:02ID:CcBGA9H/バイナリでしか提供されていないわけないよね。
ソースを調べると、
# grep -i BLAS lapack-20010525.patch
diff -uNr LAPACK.orig/BLAS/TESTING/cblat2.f LAPACK/BLAS/TESTING/cblat2.f
--- LAPACK.orig/BLAS/TESTING/cblat2.f Thu Nov 4 14:23:26 1999
+++ LAPACK/BLAS/TESTING/cblat2.f Fri May 25 15:57:46 2001
こんなかんじだよ?ATLAS の Whaley はなぜこんなにがんばれる?
うおーなぜだー!死ぬ程しりたい。
ちょっと風呂入って来る。
0063login:Penguin
02/01/19 23:11ID:umOrHyJq>>61 はただ lapack が blas を呼んでいる程度の意味だと思うが。
0064login:Penguin
02/01/19 23:14ID:X8kahLTF0065login:Penguin
02/01/19 23:19ID:umOrHyJqちなみに >>30 >>32 は漏れ。ちょっと責任感じてみたり…。
最初の目的は有名どころのコードをmakeしてみてicc ifc の癖掴もうと思ってたんだが…
0066login:Penguin
02/01/19 23:26ID:CcBGA9H/すまぬ。Intel Compiler スレだ。
しかしながら、icc, ifc は最適化に優れていると聞くが
どの程度なのかはコードの実行スピードを見ない限り分からないではないか。
とりあえず、BLAS, LAPACK は、数値計算ライブラリとして重要な
位置を占めておる。それらの最適化はそれこそ我々の飯の種なのだ。
ということで、ちとマニアックな話+ifc に関係ない話をするかも
しれないが、やはりifcの性能は気になっておるんだ。
まぁ結論はなかなか出ないと思うがきいてやっておくれ。
0067login:Penguin
02/01/19 23:33ID:CcBGA9H/+ cp -f /usr/src/redhat/SOURCES/Makefile.blas BLAS/SRC/Makefile
+ cp -f /usr/src/redhat/SOURCES/Makefile.lapack SRC/Makefile
...
f77 -O2 -march=i386 -mcpu=i686 -c -o dgbmv.o dgbmv.f
f77 -O2 -march=i386 -mcpu=i686 -c -o dgemm.o dgemm.f
f77 -O2 -march=i386 -mcpu=i686 -c -o dgemv.o dgemv.f
...書き込み中: /usr/src/redhat/SRPMS/lapack-3.0-12.src.rpm
書き込み中: /usr/src/redhat/RPMS/i386/lapack-3.0-12.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/blas-3.0-12.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/blas-man-3.0-12.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/lapack-man-3.0-12.i386.rpm
てな感じです。
たぶんblasはそのままだと思う。
006834=40=44=57=61
02/01/19 23:51ID:pz4lxlErでは、redhatについてくる/usr/lib/libblas,liblapackを使ったのと、
自分でblas,lapackをコンパイルしたので、前者のほうがかなり
パフォーマンスがいい。それでもって、ifc+mklだと
/usr/lib/libblas,/usr/lib/liblapackを使ったのとおなじくらい。
ifc+mklはblas、lapackを最適化してるらしいので
(ttp://www.intel.com/software/products/mkl/mkl51w/mklspecs.htm)
redhatの/usr/lib/のblas,lapackもいい線いってると思ったんです。
前にも書いたけど、pen4 +rambus 512MB+redhat 7.1。
006968
02/01/20 00:01ID:tTEZ7bJ8そうですか。私のblas、lapackのmakeの
仕方が悪い(-march=i386 -mcpu=i686というオプションを
つけてないと思います)のかもしれませんね。
lapackを自分でmakeしたときnetlibの
汎用のを使いましたが、もっとintel系のlinuxに
適したものなのかな?
とりあえず、g77,pgfortran,ifcでやってみて一番
速いのを流すという方針がいいんですかね。
007065
02/01/20 00:16ID:248hne5/そですね。各コンパイラでコンパイルオプション適当に振って、
一番できのいいのを探して、それを使うのが結果として時間の
節約かも知れませんね。
ところで少し気になることは、ifcで、blasやlapackのように相当作り込まれ
たコードをコンパイルしてもそれほど効果無いようなのですが、自前の
ヘボコードなどをコンパイルすると2倍程高速化しているような気がします。
僕の場合はまず自分の腕を上げることのほうが先のようです…トホホ
0071login:Penguin
02/01/20 00:25ID:5whqLm3T>>70
研究者の方ですか? そうやったら別にいいのでは。可読性のほうが
重要ですよ。二倍程度の高速化やったらコンパイラに任せた
ほうがいいかも知れませんよ。頭の体操にはいいかもしれませんが。
>>69
いろいろ流し直すのって面倒じゃないですか。だから噂程度で
ifc 万歳とか思ってたんですが、g77もがんばるわけですねぇ。
ううーむ。
007269
02/01/20 08:43ID:K/B4TT8Aシミュレーションなんで、
結果がでてくる時間がオプション、
コンパイラで大分違うんです。
前にalpha 21264 で、手製の
lapack-blasをcxmlに変えたら
劇的に加速したこともあり、
以来、色々と試すことにしてます。
0073login:Penguin
02/01/20 11:39ID:5whqLm3Tアラインメントは?
2ヵ月と4ヵ月では全然違いますよね。
007469
02/01/20 13:32ID:0V/4SmC44月と2月で違うのって、
nelibのlapackですか。
もっと古いかも。そんなに
違うと思ってなかったんで、
無理に最新にしてなかった。
機能までアラインメントも気にして
なかったし。まだまだ、
やること、ありそうです。
0075login:Penguin
02/01/20 15:33ID:5whqLm3Tすんません。数ヵ月単位のジョブと言うと2ヵ月が4
ヵ月というのが全然違うということです。
アラインメントは重要です。PentiumIVならもっと
違うかも知れません。Intel の compiler ならそういうのを
しれっとやりそうですが。
007674
02/01/20 15:45ID:Zx6TOajkちゃんと2ヶ月、4ヶ月とかいてありましたね。
PDAから見てたもので、読み方が荒かったです。
もうしわけありません。
昨日、この板でアラインメンとを知って、
びっくりしてるところです。そういえば
思い当たるふしもあったので。それと、
今までのベンチマークは
time ./a_g77.out
time ./a_pgf77.out
time ./a_ifc_lapack.out
time ./a_cfla_O5.out
というようにコンパイラ、コンパイルオプション
ごとに、実行ファイル名を変えていたのですが、
これはまずいですね。月曜日から、いろいろと
することがありそうです。
007776
02/01/20 16:12ID:Zx6TOajkg77,ifcはファイル名を変えても実行速度が
あまり変わりませんでしたが、pgfortran
は16%ほど、速いファイル名とそうでない
ファイル名と分類できてしまいました。
g77はf90に対応してないので、f90は
仕方なくpgf90でやってましたが、
これからはifc,pgf90の両方で試し、
かつ、ファイル名をいろいろと変えて
走らせることにします。
幸い、自分の今の計算は長い計算を
一回というのでなく、反復計算が
多いので、このファイル名を変えるというのが
実現可能です。
0078login:Penguin
02/01/20 16:23ID:5whqLm3Tなんだか混乱させるようで悪いですけど。問題は
ファイル名だけではないのです。スタックのアラインメントの
問題だから、シェルの種類やもしかしたらコンディションで
変化するかも知れないのです。詳しくは僕も分かりませんが、
シェルが子プロセスを走らせるときのアラインメントが違えば
ファイル名だけで対処することはできません。
LinuxとFreeBSDだと微妙にアラインメントのブレは違うのですが、
これまた大きな問題です。Cの場合は適当にスタックを
変化させるように最初にいれておけば問題は無いですが、
Fortranの場合はどうしたらいいもんか?
いろいろがんばってみましたが、FreeBSDはカーネルパッチ
があって、なんとかコミットされたらと思いましたが
コミットされる前にページ毎消えちゃいました。
はぁー。
0079login:Penguin
02/01/20 16:31ID:5whqLm3Tとりあえずこのスレの僕の書き込みでURL示してるのがあるので
ちょっと見てみてください。
0080login:Penguin
02/01/20 17:31ID:C3Sbw68k実行するごとに微妙(0.2 秒)
くらい、実行時間が変わるのは
環境のためでしたか。
一つ分からないのですが、
ファイル名を1文字、2文字、、、、と
8通り作ると、pgfortでは実行
時間が15秒と18秒のものに
きれいに分かれるんです。
もちろん、コンマ1、2秒の
誤差はありますが。
g77, ifcでは10秒なので、
pgfortの最適化があまいのは
明らかなのですが。ちなみに
実行時間の測定は2回ずつ
行ないました。
0081login:Penguin
02/01/20 21:00ID:5whqLm3T-mpreferred-stack-boundary
ってオプションがあるんですが、gcc-2.95.3 では効かなかったんですよ。
最近のRHは効いているのかも知れません。ちょっと真面目にチェックする
必要ありですね。
0082login:Penguin
02/01/22 01:09ID:bDfE+epr明日ifcで試してみよう。
(((( ;゚Д゚)))ガクガクブルブル
0083login:Penguin
02/01/22 20:53ID:wJXZKWBHたぶんこれはIFCでは直ってるはず。
というかアセンブラのソース見るわ。
なんだかあおってすまん。
0084
02/01/29 23:03ID:PECJA2Mi0085login:Penguin
02/02/03 18:11ID:lkEkFcBp知らなかった。
0086login:Penguin
02/02/04 21:30ID:B2i7yVMDすぐ Internal error が起こる。cast がうまくいかんことないか?
integer*8 で I=iargc() が変な値が返ってくる。
call exitで出られないことはないか(c の wrapperを書きました)。
あーGNUに統合しやがれ!
0087
02/02/08 17:20ID:sam3w5OZCPUは何を使っているの?
0088login:Penguin
02/02/08 19:01ID:MfBFWerpiargcはInteger*4を仮定するのです。
0089
02/02/10 13:05ID:f9cX/woZ結果がめちゃくちゃ。まああたりまえだけどね。
0090
02/02/13 23:45ID:8/27EbsIじゃないのかが不安だ。将来は無料版はなくなるのではないか?
0091login:Penguin
02/02/14 08:21ID:qBCCIPAvええんとちゃうか。出来ればGNUに統合されて欲しい。
0092
02/02/16 01:17ID:P37gR3ZU0093名無しさん@Emacs
02/02/17 07:24ID:PId1GyBhそれで失う利益よりもPentiumの売上が増える効果のほうが大きければ、
ビジネスとして正しい選択技でしょ。
0094名無しさん@XEmacs
02/02/18 01:58ID:iYWvirB6Intelに正座して聞かせたい
0095login:Penguin
02/02/18 12:42ID:X/HQdXYCそのうち g++,g77 が icc, ifc より高速になるYO!
0096login:Penguin
02/02/19 10:30ID:ygRZQp1y確認した。gaussian でかけているのはCのサポート関数の
おかげ。
Program FileO
Real*8 X(16*1024*1024)
do i=1, 16*1024*1024
X(i)=1.0D0
end do
open(1,File='fileout.data',status='unknown',
1 form='unformatted')
write(6,*)'Open OK--->fileout.data'
do i=1,1024
if(mod(i,10).eq.0) write(6,*)i
write(1)X
end do
end
Input/Output Error 161: Write operation failed
In Procedure: main program
At Line: 11
Statement: Unformatted WRITE
Unit: 1
Connected To: fileout.data
Form: Unformatted
Access: Sequential
Records Read : 0
Records Written: 15
End of diagnostics
ちなみにgccだとgcc-3.1(experimental,2002-2-2)
は少なくともそうはならない(FreeBSDで確認)。
0097login:Penguin
02/02/19 13:18ID:wHR25Yfq正直、それは無理じゃね?
0098login:Penguin
02/03/08 09:38ID:0oVxicVH0099login:Penguin
02/03/16 20:17ID:jeTKf9Otいつになるかわからんけど。
0100login:Penguin
02/03/17 16:27ID:Y0L5kwur4月はじめには正式版出荷。
0101login:Penguin
02/04/01 23:00ID:MIY3lWi0というわけで4/1にはりこんでみたがまだだった(当然か)。
0102login:Penguin
02/04/01 23:56ID:4KjWNtlY最適化とかにはあんまこだわってないのか?
0103名無しさん@お腹いっぱい。
02/04/02 00:41ID:BCv0vzPu0104login:Penguin
02/04/02 01:21ID:uU1FqcA5ふつーに「カナディアンクロスコンパイル」できるのって、gccくらい
でわ?
# XってプラットホームでYで動くZ用クロスコンパイラ作ることね
# <カナディアンクロス
# Linuxで、MinGW/gccコンパイルして、Winのダイアログをコンパイル
# できたときは、ちょっと感動した。(カナディアンじゃないけど)
どこぞで、「おかげでプロセッサに特化した最適化は遅れがち」って
書いてあったぞ。まぁ、だからegcsとかも出てきたり。
でも、「とりあえず、gccは動くだろ」って安心感は、デカイよな。
HP-UXをたまに使うから、つくづく思う。
そーいや、「WindowsでLinuxカーネルコンパイル」とかも理屈上は
できるハズだな。だれか挑戦しない?
0105login:Penguin
02/04/02 14:46ID:j7gY85GQプロレス技みたいだな。なぜカナダ?
0106login:Penguin
02/04/02 22:10ID:qqpoU7Yoなる方向になる。とするとGCCが最低レベルのコンパイラになるよな。
# GCCにはコンパイル速度のほうをもっと頑張ってほしい。インライン関数と
# かテンプレートとかたくさん使うと使うとやってられない。
0107名無しさん@お腹いっぱい。
02/04/02 23:23ID:BCv0vzPu全てのコンパイラを全順序に押し込むわけ?
0108login:Penguin
02/04/03 00:51ID:aLlZ/CTX「『カナディアンクロス』の名前は、3つの異なる種類のシステムが
つかわれているような、最も複雑なケースに由来しています。その
ような問題が顕在かしてきた当時、カナダには3つの国民政党があった
ので、このように呼ばれることになりました。」
だそーだ。cygnus用語かな?
0109login:Penguin
02/04/03 05:21ID:2DUVTyBBifcで-O2 -tpp7とかやってみ。g77の数倍は時間かかるぞ。
0110login:Penguin
02/04/03 23:15ID:FRqVmuPz失敗しとるヤシがいる。
# http://pc.2ch.net/test/read.cgi/unix/1012057979/l50
Liunx+icc で mozilla をコンパイルした人いる?
0111login:Penguin
02/04/04 00:16ID:b5ogLD4jなぜかプリプロセッサがビミョーにちがうのか、エラーになってしまう
(昔のことだから、メッセージ残ってないしスマソ)
あとオプション変える必要あったりな。
-fPICは-kpicに、-Wl,rpathは知らんのでリンクだけはgccで...
でも前述のエラーとかでできなかった(へたれ)
0112login:Penguin
02/04/04 01:45ID:b8zl9fsb0113login:Penguin
02/04/19 01:13ID:c5m+sLvDマチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 早くしてよね > 6.0
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
0114login:Penguin
02/04/25 13:03ID:s0tjalkGでてるぜ!
check it out!!!
0115
02/04/25 16:54ID:hRAttTY0(サポートなしの無料版)は、Fortran も
C++ も、バージョン6.0はダウンロードできないよ。ダウンロード
するリンク自体がいくらさがして発見できない。
(Web でユーザー登録とかをしてみてもだめ)
0116login:Penguin
02/04/25 17:20ID:s0tjalkGweb で登録した後、メールは来た? そこにURLかいてあるよ。
http://developer.intel.com/software/products/compilers/downloads/l_fc_p_6.0.140.htm
0117login:Penguin
02/04/26 11:09ID:ybIjNGS+http://developer.intel.com/software/products/compilers/downloads/l_cc_p_6.0.139.htm
だよ。
0118login:Penguin
02/04/26 11:52ID:pSUh8qyn01196.0のインストール法
02/04/26 12:38ID:ybIjNGS+るライセンスファイルを入手し、バイナリもダウンロードし,入手してあると
する。(カーネルのバージョンなどによっては、だめな場合がありうるので対
応を確認しよう。)以下はインテルのC++とF90を両方入れる場合の説明に
なっている。
その1) 作業場所(以下の説明で$WORKとしよう)を用意して、そこに
l_cc_p_6.0.139.tar l_fc_p_6.0.140.tar を入れる。
展開するための場所を$WORKのしたに作る。
# mkdir l_cc_p_6.0 ; mkdir l_fc_p_6.0
tar アーカイブ を,それぞれの下で展開する。
# (cd l_cc_p_6.0; tar xvf ../l_cc_p_6.0.139.tar )
# (cd l_fc_p_6.0; tar xvf ../l_fc_p_6.0.140.tar )
それぞれの下でインストールスクリプトを実行する。
# (cd l_cc_p_6.0; ./install )
# (cd l_fc_p_6.0; ./install )
それぞれのインストールスクリプトでの応対を適切にする。
IAー32かどうかの撰択、コンパイラとデバッガのどちらを入れるか。
(どちらを先に入れても問題ない。どうせあとでもどってくる。)
いろいろと答えていくが、/opt/intel 以下が標準インストール場所
らしいので、特にそれでも問題なければ、それをそのまま撰ぶ。
rpm のインストールオプションも同様。
コンパイラとデバッガを各々入れたらOK。
(途中でKTERMの画面の標示の白黒反転が狂うのが欝。)
その2) ディレクトリー /opt/intel/licenses/ に、メールに添附されてきた
ライセンスファイルをコピーする。(xxxxxxxx,yyyyyyyy は数字)
# cp l_cpp_xxxxxxxx.lic /opt/intel/licenses
# cp l_for_yyyyyyyy.lic /opt/intel/licenses
その3) $HOME/.bashrc にコマンドサーチパスを追加するためにつぎの行を加える。
---------------
PATH=$PATH:/opt/intel/compiler60/ia32/bin ; export PATH
---------------
上の設定をすぐにいかしたいときは
# source ~/.bashrc
としておく。
INTEL FORTRAN を使う場合には、シェアードライブラリーを実行時にリンクするために、
----------------
LD_RUN_PATH=/opt/intel/compiler60/ia32/lib ; export LD_RUN_PATH
----------------
も付け加えておく。上の設定をすぐにいかしたいときは
# source ~/.bashrc
としておく。あるいは、/etc/ld.so.conf に一行
/opt/intel/compiler60/ia32/lib
を追加し、 設定をすぐに生かしたいなら
# /sbin/ldconfig
を実行しておく。
その4) コンパイラがうごくかどうかは、
# icc a.c; ./a.out
# ifc a.f; ./a.out
などにより確かめること。
# icc -help
# ifc -help
などにより、簡単な使い方が分かる。
以上終り)
0120login:Penguin
02/04/26 14:45ID:9G9h10f60121login:Penguin
02/04/27 13:16ID:l7/+TGKwどうも情報、ありがとうございます。てなわけで
取りに行こうとしたんですが、
https://shale.intel.com/registrationcenter/register.asp
が落ちているのか、つながりませんのでライセンスファイルを
もらえなくて欲求不満です。
それと、みなさん、pgplotってライブラリ、使ってます?
なんかifcだとうまくコンパイルできないんですが。
0122login:Penguin
02/05/09 00:58ID:mt4hx9Cg超亀レスだが、alienパッケージを入れたあとに普通にinstallスクリプトで
インストールってことが5.0では出来たんだけど、6,0では出来なくなっている?
0123login:Penguin
02/05/09 18:28ID:usKCh3+Y速くなっているの?
0124login:Penguin
02/05/10 00:38ID:S+u2Lx1oないみたいね、ここ読んだ限りでは。NDA 問題ないから速いかと思ったのに。
そのうち気が向いたらにしよっと。
0125login:Penguin
02/05/10 06:52ID:AeDox/td君がどんな計算しているのかちょっとわからないけど、
僕の環境ではPentiumIII@1GでAlpha 21264@500MHzとだいたい
同じパフォーマンスだったよ。Pentium4@2Gならもっと高速です。
僕らはpentium4は持ってませんが。また使ってみてください。
数値計算はチューニングが必須です。
0126login:Penguin
02/05/10 07:59ID:p++nUXag5.0なら問題ないんですけど、6.0の場合はpotatoのRPMのバージョンが
古すぎるのでalienすらできないですね。
d-uに困ってた人居ましたけど、woodyへdist-upgrade必須ではないかと。
>>125
うちの計算もそんな感じです。ほとんどFFTでできてるようなプログラムです。
あと6.0の目玉機能は自動並列化だと思ってたんですが、試す環境にないのが
非常に残念。
0127login:Penguin
02/05/10 09:30ID:up11SU+xパフォーマンスが得られる場合があるだろう。ダウンロード
してみたらどう?
0128124
02/05/10 09:32ID:S+u2Lx1o今までgccでintelも使ってたけど、alphaには全く太刀打ちできなかった。
けどその話聞くと結構速いみたいね。またintel純正のコンパイラーで
がんばってみるか。
0129login:Penguin
02/05/13 11:23ID:9l4vLaBHこれはMKLのことですか。BlasとLapackを配布していますが、
PentiumIIIではMKLが少し高速です。しかし、Pentium4では
atlasが高速でした。Lapackはよく知りません。
>>128
メモリのバンド幅はあげたほうがいいでしょう。
0130plamoユーザ
02/05/13 11:45ID:c5nvN02Zslackwareとかplamoのような非rpmなディストリビューションで動かしている
方いらっしゃいますか?
0131login:Penguin
02/05/13 12:33ID:YDaaODKgSlackやPlamoにrpmコマンドを入れればよかろうが。
ゴルァ!
0132plamoユーザ
02/05/13 13:18ID:c5nvN02Zそりゃそーなんだけどね。rpm-2.5.1をいれたら「これじゃ旧い」って
怒られるし、rpm-4.0を入れようとしたらライブラリが足らんって言われて
コンパイル通らんし。で、他に方法無いんかなと思って。
地道にやります。失礼しました。
0133login:Penguin
02/05/13 13:28ID:9l4vLaBH使って展開していますね。
0134plamoユーザ
02/05/13 18:05ID:c5nvN02Zお蔭様で、あっさり動きました。快適です。
有難うございました。
0135
02/05/14 01:52ID:IZxJRGukRDRAMのものを買うべし、買うべし。
0136正直alphaの大メモリ機は高スギ
02/05/14 04:21ID:XDFbjSgqxeonマシンだとメモリ8Gとか16G積んでる奴ありますよね。
32bitマシンだと2Gだか4Gだかにメモリの壁があるとどこかで聞いた
覚えがあるのですが、このメモリは単一の計算でめいっぱい使いきれる
のでしょうか?
普通に巨大計算できるのか、並列化しないとできないのかご存知の方
いらっしゃいません?
ちなみにifc6.0用のdebianパッケージがここに置いてありました。
http://www.gfd-dennou.org/arch/cc-env/ifc/
0137login:Penguin
02/05/14 05:13ID:XO5C21R+Pentium Pro以降のCPUにはPAEというアドレス変換機構がついて
いるので、64GBまでは扱えます。ただし、チップセットの制限に
引きずられますが。あと、変換のオーバヘッドがあるので、
パフォーマンスも悪化します。
Linuxでもこの機能はサポートされてます。
たぶん単一の計算でめいっぱい確保できるでしょう。
0138login:Penguin
02/05/14 05:47ID:XDFbjSgqできるのですね。参考になりました。
0139login:Penguin
02/05/14 06:10ID:XO5C21R+0140login:Penguin
02/05/15 05:38ID:gSF91Ka8大規模計算をやっている人ならばFortranな人が多いと思います。
sizeof(integer)=8 でないと困るように思いますが、ifcはPentium4
SSE2で64bit integer扱えるはずですが、-tpp7でも
でもそういうコードは吐かなかったです。僕が間違えた可能性は
高いですが。
AMDのx64や、Intel も IA-64 以外にもPentiumの64bit
拡張を考えているようですね。
ではでは。
0141login:Penguin
02/05/16 05:17ID:GYM8ysqy作動しましたが、どうやら6.0からは、Athlon上のLinuxでは
コンパイラが動きません。セグメントエラーなどが起きる。
0142login:Penguin
02/05/16 06:41ID:5yZwyBjV0143login:Penguin
02/05/19 22:26ID:TA85Te6Iおかしいなと思っていたら、本日マシンはお亡くなりになって
しまいました。M.B.か、CPUがいかれていて、BIOS画面すら起動
しなくなってしまった。
0144login:Penguin
02/05/23 01:52ID:MUEwqJ2Xにあるようです。expやsin,cosはgccの10倍以上の速度でした。
しかし、ベクトル化はコンパイラの条件が厳しくてほとんどされないし、
されても加速は2倍行かないですね。やっぱり、ベクトル型スパコンとは
違うんだと思いました。
0145
02/05/24 02:38ID:8A5lq9k5コードがでますかね。
0146login:Penguin
02/05/25 19:50ID:7ZkaIBTbにわかには信じられん。exp, sin, cos は数値演算プロセッサに渡している
だけだと考えられる。gcc側はへんなライブラリをかませているのか?
0147
02/05/26 02:34ID:7Wq7WMObいたりするのかもね。パイプライン化に最適なコードを出しているのが
効くのかも。インテルのMATHライブラリーはすごく最適化していると
思う。
0148login:Penguin
02/05/26 06:59ID:yJVR8li1なるほど!
0149login:Penguin
02/05/26 10:25ID:yJVR8li1やっぱりよーわからん。多分インライン展開はgccでもやっとると思うが。
あー頭イテ。
0150login:Penguin
02/05/26 10:28ID:4fUXbWUZコプロの命令は死ぬ程おそいんだYO
0151名無しさん@お腹いっぱい。
02/05/26 11:49ID:ALTTjrt30152login:Penguin
02/05/26 14:04ID:kDtJ2VZ7> (途中でKTERMの画面の標示の白黒反転が狂うのが欝。)
Vineのftpに解決法が載っていたような。moreがどうとか…
rxvtとかではならんらしいです。
0153名無しさん@お腹いっぱい。
02/05/26 19:53ID:ALTTjrt3file:///usr/share/doc/xterm/xterm.faq.html#xterm_hiliteより、
Reverse video is not reset
When running less or other programs that do highlighting, you see the
highlighting not turned off properly.
This may be due to incompatible terminal descriptions for xterm. With XFree86
3.2, I modified the terminal description for XFree86 xterm to use the VT220
(aka ISO 6429) controls that allow an application to turn off highlighting (or
bold, underline) without modifying the other attributes. The X Consortium xterm
does not recognize these controls.
If, for example, you are running an older xterm and rlogin to a system where
the newer xterm has been installed, you will have this problem, because both
programs default to $TERM set to xterm. The solution for mixed systems is to
install the newer terminal description as as a different name (e.g.,
xterm-color) and set the termName resource accordingly in the app-defaults file
for the system which has the newer xterm.
続きに、「What $TERM should I use?」つーのがあって、
xtermの場合、xterm-xfree86ってのを使えってさ。
0154login:Penguin
02/05/27 17:17ID:W/KwZtKCやってみたところで結果が理解できない自分を発見しますた
0155login:Penguin
02/05/27 22:12ID:UHJ+0bj9#include <stdio.h>
#include <math.h>
main()
{
printf("%d\n",sin(3.14));
}
gcc-2.95.3だったら(FreeBSDだけど)、
main:
pushl %ebp
movl %esp,%ebp
subl $8,%esp
addl $-4,%esp
addl $-8,%esp
pushl .LC2+4
pushl .LC2
call sin
subl $8,%esp
fstpl (%esp)
pushl $.LC1
call printf
leave
ret
こんなコードを出しよる。
icc だと、
main:
.B1.1: # Preds .B1.0
pushl %ebp #5.1
movl %esp, %ebp #5.1
subl $3, %esp #5.1
andl $-8, %esp #5.1
addl $4, %esp #5.1
subl $16, %esp #5.1
fldl _2il0floatpacket.1 #6.17
fsin #6.17
movl $__STRING.0, (%esp) #6.17
fstpl 4(%esp) #6.17
call printf #6.17
# LOE ebx esi edi
.B1.2: # Preds .B1.1
xorl %eax, %eax #7.1
addl $16, %esp #7.1
movl %ebp, %esp #7.1
popl %ebp #7.1
ret #7.1
.align 4,0x90
そのままコプロをよびだすようなコードやね。
gcc はライブラリをはさむな。実際ライブラリのソースを
見るともうちょっと処理をしている。10倍はわからんが、
差はでるやろうな。
0156login:Penguin
02/05/27 22:13ID:UHJ+0bj9って笑うコードだな。すまん。間違えた。
0157login:Penguin
02/05/28 00:02ID:I7J1z0a7>>155
うちの環境は、Linux + glibc2.1 + gcc2.95.2。
/usr/include/math.hを追っていくと、/usr/include/bits/mathinline.hってのがある。
んで、どーも/usr/include/feature.hが-Oオプションを監視していて、
つけてると、リンク時にインライン展開してくれるみたいなんだなー。
で、-ffast-mathすると、nmの出力からsinが消える。
~/test$ gcc -O m.c -lm
~/test$ nm -a a.out |grep sin
08048420 T __sin
08048420 W sin
~/test$ gcc -O2 -ffast-math m.c -lm
~/test$ nm -a a.out |grep sin
憶測だけど、--fast-mathを指定しないと、全ての関数をとりあえず
wrapしてしまって、インラインアセンブラコードまでは展開されないって
可能性はないかな?
例の数倍の差が出たって人、-ffast-math使って追試きぼーん。
0158名無しさん@お腹いっぱい。
02/05/28 01:10ID:fjbf3+Jg0159144
02/05/28 02:05ID:MAw0QlwZ#time a.out
2.600u 0.030s 0:02.63 100.0% 0+0k 0+0io 145pf+0w
#gcc -O3 -ffast-math test.c
#time a.out
9.650u 0.020s 0:09.68 99.8% 0+0k 0+0io 86pf+0w
#gcc -O3 test.c -lm
#time a.out
11.210u 0.020s 0:11.25 99.8% 0+0k 0+0io 97pf+0w
#gcc --version
2.95.2
10倍は気のせいだったのか、再現できませんでした。すいません。
-ffast-mathなしで4.3倍、-ffast-mathからは3.7倍です。
test.cではsinを10^8回計算してます。
>>158
debuggerはldbです。
0160login:Penguin
02/05/28 02:19ID:bUBmd7+C結果さんきう。
まだ3,7倍かぁ。
> test.cではsinを10^8回計算してます。
じゃ、-funroll-loopsと-frerun-cse-after-loopもきぼーんぬ
ところで、-m686とか使っても変化なし?って
> #gcc --version
>2.95.2
かぁ。これってpentiumへの最適化もされないよね、たしか?
0161login:Penguin
02/05/28 02:23ID:bUBmd7+Cできれば、テストしたソースもきぼーんぬ。
0162login:Penguin
02/05/28 08:44ID:t5QZ3SAT-ffast-math すると確かにLinuxでは
main:
fldl .LC33
pushl %ebp
movl %esp,%ebp
subl $8,%esp
addl $-4,%esp
#APP
fsin
#NO_APP
subl $8,%esp
fstpl (%esp)
pushl $.LC34
call printf
movl %ebp,%esp
popl %ebp
ret
となって実際にfsinを直接呼ぶね。
FreeBSDで同様の事(-ffast-math)をしても、call sin は取れなかった。
うげーーー。
#APP ってなんだろ。
#NO_APP
0163
02/05/28 08:59ID:w0d6+dv2どうやってインストールすればよいのか、詳細希望します。
できれば最新の4.5Rで。
0164名無しさん@お腹いっぱい。
02/05/28 10:16ID:fjbf3+Jg> #APP ってなんだろ。
> #NO_APP
Assembler PreProcessor.
asm文使うと挿入されます。
#NO_APP
asm文のコード
#APP
逆だから、optimize optionやdebug optionや付けるlibraryで、
fsinの実体が変わったりするのかね。
0165login:Penguin
02/05/28 14:55ID:aPvGsWSrちっとむつかしい。あんまりおすすめしない。
icc はlinux_base-7を入れなければならないが、
FreeBSD ネイティブバイナリを生成する。すばらしい!!
C++はコンパイルできないみたい?
ifc はまだsend-prしたばかり。FreeBSDネイティブバイナリ
作成はむつかしいと思う。
4.5-Rだと入らない。icc は 5.0 なので、もう手に入らない。
ports を cvsup すれば入る。
わからなかったら 4.6-Release まで待つべし。
そこまで解説する情熱がもてない。すまん。
>>162
ありがとうございました。
さっきfreebsd-users で
話してたのですが、FreeBSD(4.6-RC, gcc-2.95.3 buildin)
でも
-O -ffast-math -mfancy-math-387
ってやれば、fsin を出していることがわかりました。
0166login:Penguin
02/05/28 22:52ID:lr8zx0zzhttp://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68752
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68753
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68755
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68758
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68759
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68766
http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/68770
0167144
02/05/29 08:15ID:aVv8ARHZ#include <math.h>
#define N 1000*1000
main()
{
int i, j;
double *a = (double*)malloc (sizeof(double) * N);
double *c = (double*)malloc (sizeof(double) * N);
for (i = 0; i < N; i++)
a[i] = 1.0 * i;
for (j = 0; j < 100; j++)
for (i = 0; i < N; i++)
c[i] = sin(a[i]);
}
-mpentiumpro -funroll-loops -frerun-cse-after-loop効果なしです。
~
0168login:Penguin
02/05/29 11:33ID:D7OquwsK多分、インテルコンパイラは、外側のループ無くなってるな...
0169login:Penguin
02/05/29 11:36ID:D7OquwsK0170login:Penguin
02/05/29 14:30ID:gGpH3Xszに対して約9倍となりました。ただし、expだとoverflowするので、a[i]=1.0/(i+1)としています。
gccのexpはあまり最適化されていないようです。
>>168
>>169
繰り返し数に対しても配列の大きさに対しても、計算時間は線形に増加します。
また、ループの中外を入れ替えても結果は変わりません。
0171login:Penguin
02/05/30 11:27ID:Q1DeRRtzほんとかなと思ってためしてみました。
malloc をよばないようにして。
#include <math.h>
#define N 1000*1000
main()
{
double a[N];
double c[N];
int i, j;
for (i = 0; i < N; i++)
a[i] = 1.0 * i;
for (j = 0; j < 100; j++)
for (i = 0; i < N; i++)
c[i] = sin(a[i]);
}
当方Celeron800ですが、
icc -O3 -tpp6 -xiMK -S test1.c
でこんぱいるすると、fsinが一つも入っていないぞ!
つーか、コードを見ると最後の二重ループはまわってさえいない。
gcc -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
でのコードは素直だ。ちゃんと fsin を使っているし、普通に
アセンブラに出力されている。
つーわけで、参考にならん。
まぁそりゃそうだ。というのもこのコードを最適化すると出力が
全くないから
#include<stdio.h>
main(){}
と等価だもんな...
0172login:Penguin
02/05/30 11:32ID:Q1DeRRtz#include <stdio.h>
#include <math.h>
#define N 1000*1000
main()
{
double a[N];
double ans;
int i, j;
for (i = 0; i < N; i++)
a[i] = 1.0 * i;
for (j = 0; j < 100; j++)
for (i = 0; i < N; i++)
ans = +sin(a[i]);
printf ("%lf\n",ans);
}
% icc -O3 -tpp6 -xiMK test1.c
% time ./a.out
-0.977352
14.926u 0.007s 0:15.41 96.8% 5+10175k 0+0io 0pf+0w
% gcc -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
% time ./a.out
-0.977352
15.089u 0.007s 0:15.15 99.5% 5+10193k 0+0io 0pf+0w
%
というわけで、誤差範囲。
もっと本質的なコードが必要だな...
0173login:Penguin
02/05/30 11:42ID:Q1DeRRtz% gcc -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
% time ./a.out
-0.977352
15.095u 0.007s 0:15.15 99.6% 5+10187k 0+0io 0pf+0w
% gcc -funroll-loops -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
% time ./a.out
-0.977352
2.355u 0.023s 0:02.39 99.1% 5+10184k 0+0io 0pf+0w
ま、こだわってもしゃあないな...
アセンブラのソースを見ると、二つ目のループは
unroll されてない。つーことは律速は 1コ目のループか。
でも、icc に勝ったぜ!
(またミスった。ans を初期化していないや。すまん)
0174login:Penguin
02/05/30 11:47ID:Q1DeRRtzあまり意味無いことを書きました。ごめんなさい。
朝飯ぬいたので血糖値が低いみたいです。
#include <stdio.h>
#include <math.h>
#define N 1000*1000
main()
{
double a[N];
double ans;
int i, j;
ans=0.0;
for (i = 0; i < N; i++)
a[i] = 1.0 * i;
for (j = 0; j < 100; j++)
for (i = 0; i < N; i++)
ans = ans + sin(a[i]);
printf ("%lf\n",ans);
}
で試した。
% icc -O3 -tpp6 -xiMK test1.c
% time ./a.out
23.288398
15.070u 0.015s 0:15.95 94.5% 5+10209k 0+0io 0pf+0w
% gcc -funroll-loops -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
% time ./a.out
23.288398
14.811u 0.000s 0:14.98 98.8% 5+10197k 0+0io 0pf+0w
% gcc -mpentiumpro -O3 -ffast-math -mfancy-math-387 test1.c
% time ./a.out
23.288398
15.067u 0.000s 0:15.16 99.3% 5+10180k 0+0io 0pf+0w
0175login:Penguin
02/05/30 11:53ID:Q1DeRRtzまあそんなに変わらないでしょう。
icc は 二重ループをunrollしなかった。gcc は -funroll-loops
を付けると二重ループも一部unrollする。
やはりもう少し本質的な例が必要だと思う。
0176login:Penguin
02/05/30 12:04ID:Q1DeRRtzなぜ線形に変化しているかと言うと、icc では 君のプログラムの場合
一つ目のループしかまわらないようなコードを出力し、
そして二つ目の(二重ループ)は消えるのだ。ということで
一つ目のループはまじめに実行するから線形に変化するのである。
僕が試した場合はexpでも同じ結果だった。つまりexpは計算されていない。
僕がprintfをはさんだのはそういう理由による。
また、僕のans = +sin(a[i]); はダメだ。かしこいオプティマイザ
だと最後の値だけ計算して終りだろう。
0177login:Penguin
02/05/30 14:18ID:EoS08NAY> やはりもう少し本質的な例が必要だと思う。
総合的な評価と、個々の部分の振る舞いの究明をわけて考える必要があるが、
後者の方が計算時間餓鬼には有益だと思うから、今の流れでいいんと違う?
0178login:Penguin
02/05/31 09:33ID:a8/cq5U3>一つ目のループしかまわらないようなコードを出力し、
>そして二つ目の(二重ループ)は消えるのだ。
私も、気になっていたから、ループ数と時間の関係を調べたけど、
内ループ数にも外ループ数にも計算時間は比例したけど?あと、
2つ目のループが回らないのなら、sinとexpで時間が変わるか?
言ってる事の意味が良くわかりません。
iccのmathが速いのは、SIMDバージョンのsin,exp等のためです。
従って、-axW -xWでかつP4上でないとgccと大きな差はでません。
0179login:Penguin
02/05/31 17:04ID:25Um11/Kうーーーむ。なんと言ったらいいのかなぁ。
アセンブラの出力は読んだかな?
気になったから君のコードをコピペして、コンパイルして、
アセンブラの出力を読んでみたんだよ。
そうしたら iccの場合、fsin って行が消えてたよ。
つまり計算していないんだな。gccはまともに計算してたヨ。
あとね、君のコードだとね、賢いコンパイラの場合、最悪空の
コードをはくわけ。これではコンパイラの性能を見ているとは言えないよね。
だから君のベンチでは結論出ないわけ。だから僕はやり直したんだよ。
僕は-tpp6な環境なので実行はできんです。それといまちょっと
システム入れ替え中なんで試せないんだ。ごめんね。
よかったら -tpp7の場合 のソースの
出力良かったら見せてね(icc -xW -tpp7 -S test.cで test.s が出来る)。
SIMDの出力も見たいし。
10倍かぁ...それは魅力あるよ。
昔ね、integer*8 のコードを書いてtpp7オプションでコンパイル
してもどうしてもSSE2のコードが出なかったんだ。君の結果が
手がかりになるかもしれない。良かったら教えてちょうだい。
0180login:Penguin
02/05/31 17:19ID:Ki/fe8PFgccでもiccでもループが省略されていないことを確認しての比較だから
十分本質的だと思うけど?
>そして二つ目の(二重ループ)は消えるのだ。
配列がスタックのローカル変数ならループ省略の最適化も可能です。
あなたが、わざわざループが消えるように書き換えたということになります。
0181login:Penguin
02/05/31 17:46ID:25Um11/Kそんな気がしてきた。
0182login:Penguin
02/05/31 17:51ID:25Um11/Kアセンブラの出力を比較するってのはダメ?
0183login:Penguin
02/06/01 01:37ID:d+BKIyIYほとんど変わらず、-xWのiccで3〜5倍というところです。
結論は、やはりSIMD版のexp,sin等は数倍速いということ
でしょう。なお、tpp7とtpp6はほとんど違いがありませんでした。
アセンブラは私には解読不能ですので、見たことがありません。
0184login:Penguin
02/06/01 02:42ID:LtyCCzWp>アセンブラの出力を比較するってのはダメ?
ELF直読み?できるのか...すげぇ。
0185login:Penguin
02/06/01 06:53ID:4apHK27Iテストしてくれてありがとう!!
やっぱりSIMDが有効ってことか。
ま、アセンブラって
icc -xW -tpp7 -S test.c
で、test.s ができるしさ。
一度見てみて。ほんま、違いが一目瞭然というか。
そんな難しくないで。
>>184
ちゃうって...
icc -xW -tpp7 -S test.c
で
test.sってアセンブラの出力が出来るねん。
どんなインストラクションが出されてるかわかるねん。
gccでも一緒。-S で出る。
今な、FreeBSD 5-current に移行しようとしてて、失敗
しとる。幾つかのコンパイルが通らんかった。もうあきらめる。
gcc-3.1ってSSEとかに対応しているらしいし、5-current の
デフォルトのコンパイラがgcc-3.1やねんな...これも価値アリやろ。
でも時間かかりそうやし、ま、別口で試すわ。
0186名無しさん@お腹いっぱい。
02/06/01 10:03ID:YzmT9tKS> test.sってアセンブラの出力が出来るねん。
それは「アセンブラ」の「入力」である「アセンブリ言語」のファイル、
って揚げ足取りをしていると思われ
0187login:Penguin
02/06/01 13:51ID:Qx7cQIyDobjdumpをつかえばアセンブラの出力も難なく比較できる。
0188login:Penguin
02/06/01 17:48ID:4apHK27I確かにそうだな。しもた。ま、でも解るでしょ? いや
わかって下さいー。今夜にはチェックしますわ。
>>187
おお、ありがとうございます!! 知らなかった。
0189login:Penguin
02/06/01 23:33ID:4apHK27I劇的に速くなった。
23.288398
12.872u 0.023s 0:12.93 99.6% 5+10151k 0+0io 0pf+0w
23.288398
12.593u 0.007s 0:12.63 99.6% 5+10172k 0+0io 0pf+0w
23.288398
3.383u 0.023s 0:03.41 99.7% 20+10135k 0+0io 0pf+0w
上からgcc, icc, icc(with -xW)
すごすぎです。
icc(-xW) のsinの計算、FPU 使ってないんだな。
call vmldSin2
か。何のためにFPUついてるんだろ。
0190login:Penguin
02/06/03 00:58ID:LXg220aY相当はしょった計算をしてるのかもしれない。
fsinの消費クロックって高そうだし。
まぁでもSSE2ならば64bitの浮動小数点演算
二つ同時なので二倍速くなると考えるのがマシなんだけどな。
さらに高速ってことから考えるとfsinはビタ一動いてないか。
それならfsinを使わないライブラリをインラインで埋め込む
方がパフォーマンス的にはpentiumIIIでも得になるはず。
わざとライブラリに飛ばしているってやっぱ覗かれたくないのかな?
ちっ、こんなこと深く考えるよりアルゴリズムを練ったほうが楽しいな。
0191login:Penguin
02/06/05 21:08ID:DrdXg7fC0192login:Penguin
02/06/06 01:07ID:W2BBcMds0193
02/06/10 09:52ID:CLFuMcCW正しいコードをはくだろうか? キャッシュがPentium4の半分しか
ないのに、それを反映しないコードを出していたら、性能が出せない
ことになりかねないが、そこは大丈夫かな。
0194名無しさん@Emacs
02/06/10 21:00ID:kJeoZmX6問題: 姫野ベンチ
http://w3cic.riken.go.jp/HPC/HimenoBMT/
Fortran77、サイズS
結果:
FC Options MFLOPS
--
ifc -O0 58.5
ifc -O2 127.7
ifc -O3 127.3
ifc -O3 -tpp6 121.9
ifc -O3 -tpp6 -xi 123.5
ifc -O3 -tpp6 -xiM 124.4
ifc -O3 -tpp6 -xiMK 158.7
g77 -O0 42.2
g77 -O2 85.3
g77 -O3 85.2
g77 -O3 -funroll-loops 82.7
g77 -O3 -funroll-loops -ffast-math 83.0
g77 -O3 -march=i686 85.3
g77 -O3 -march=i686 -funroll-loops 86.4
g77 -O3 -march=i686 -funroll-loops -ffast-math 86.3
0195名無しさん@Emacs
02/06/10 21:05ID:kJeoZmX6結果:
CC Options MFLOPS
--
icc -O0 63.2
icc -O2 154.1
icc -O3 154.2
icc -O3 -tpp6 154.0
icc -O3 -tpp6 -xi 153.9
icc -O3 -tpp6 -xiM 151.6
icc -O3 -tpp6 -xiMK 152.2
gcc -O0 43.8
gcc -O2 141.4
gcc -O3 142.5
gcc -O3 -funroll-loops 147.2
gcc -O3 -funroll-loops -ffast-math 147.1
gcc -O3 -march=i686 139.0
gcc -O3 -march=i686 -funroll-loops 143.4
gcc -O3 -march=i686 -funroll-loops -ffast-math 143.5
Cだとgccとあまり変らん……
0196login:Penguin
02/06/11 00:21ID:/rWc+4780197login:Penguin
02/06/11 01:21ID:hFHia3qTgcc -DSMALL -O3 -funroll-loops 391
icc -DSMALL -O3 -tpp6 -xiMK 604
icc -DSMALL -O3 -tpp7 -xiMKW 493
という結果になりました。P4命令ありにすると遅くなります。
単精度浮動小数点の計算では、P4命令は有効でないようです。
ただし、P4はP3命令の実行が速いと思われます。
floatからdoubleにすると、P4最適化の方が5%ほど速くなりました。
doubleの計算はP4命令ありにしないとベクトル化されないことが
効いてきます。
結局、
数学関数多用 - P4最適化
単精度 - P3最適化
倍精度 - P4最適化
というガイドラインができるかもしれませんが、20%も結果が変わるんでは、
P3最適化とP4最適化、常に両方試して見る価値がありそうです。
0199login:Penguin
02/06/11 04:11ID:2NczXlos0200login:Penguin
02/06/11 07:59ID:/rWc+478両方試さねばならないというのはきついですよね。
なんか上手い方法ないでしょうか...
SSE2が遅いというのは意外です。doubleで二個同時演算まで
ですよね。
>>199
gcc-3.1ってMMX,SSE,3DNow!最適化もあるんですよね。
http://gcc.gnu.org/gcc-3.1/changes.html
の、
New Targets and Target Specific Improvements
を見るといろいろ書いてあります。
SSE2は次のメジャーリリースからだそうです。
0201名無しさん@Emacs
02/06/11 13:34ID:wCcZynJr来ません。結構時間かかるものなのでしょうか?
まさか手作業でやってるとは思えないのですが。
0202login:Penguin
02/06/12 01:12ID:VazL4LZHメールアドレス間違えてないですか?瞬時に来ましたよ。
0203くっそー
02/06/12 22:12ID:zpuPhe3Wメールがこない・・・
どうなっとんジャーーーーいんてるさんよーーーー
0204くっそー
02/06/12 22:50ID:zpuPhe3Wノンサポートのフリーバージョンはメールがこないみたいですね
要は買えということでしょうか。
0205login:Penguin
02/06/13 02:29ID:0GiZBNFg0206くっそー
02/06/13 02:43ID:/xEHZNiO0207login:Penguin
02/06/13 06:22ID:2LgBVGRx僕もこんなメッセージが。フリーバージョンを入手したつもり
だったのですが。
(icc 6)
NOTICE: Your license to CComp expires tonight at midnight.
License file(s) used were (in this order):
1. /usr/local/intel/licenses/l_cpp_25250653.lic
Please visit http://premier.intel.com to obtain license renewal information.
iccbin: Command line error: no files specified; for help type "iccbin -help"
0208login:Penguin
02/06/13 06:29ID:8B+0OnYNDear XXXXXX,
Thank you for evaluating Intel(R) C++ Compiler for Linux*. For future reference, your serial number for this product evaluation is XXXX-XXXXXXXX.
1. If you haven't done so already, download and save the product from <URL>.
2. Untar the product in the directory of your choice. After doing so, you will see
the installation script "install" in that directory.
3. Ensure you have root permission and execute the installation script "./install".
The installation script will prompt you for the top-level directory for installation.
The default installation path is "/opt/intel".
4. Install the attached license file by copying it to the following location:
<installation path>/licenses
i.e. "/opt/intel/licenses"
5. If you haven't registered for Intel(R) Premier Support, you can do this at any time by
visiting <http://www.intel.com/software/products/registrationcenter/index.htm>.
Note that you will be prompted for the serial number (shown above) and the date of
purchase (enter today's date).
If you have any questions, please send them to [email protected].
で、l_cpp_XXXXXXXX.licってファイルが添付されてる。
0209名無しさん@Emacs
02/06/13 14:27ID:YSZ6uR7a依然としてメールきません。直でメールしてみようか
な、英語書くの苦手ですが。
0210login:Penguin
02/06/13 17:33ID:m5d8ZDQ20211login:Penguin
02/06/13 17:39ID:l/3jF7oD使えない中年はリストラ候補室へ送還されるわけです。
若い社員にパソコンが使えなくて馬鹿にされた中年が、
一日中書類を書いてシュレッダーへGo!という仕事をやっていたり、
一本指タッチでユーザから来たメールにOEで返事を書くという仕事
をやっていたりするわけです。
そんな中年の都合でメールの返信にはラグがあるのです。
0212login:Penguin
02/06/13 20:55ID:/xEHZNiO違ってたからサーバーの設定ミスか込んでたかどっちかでしょうな
0213login:Penguin
02/06/14 07:58ID:VA/sHuIRexpire されたということだったので、再申込してみましたが、
僕の環境でもメールが来ませんでした。
0214名無しさん@Emacs
02/06/14 14:49ID:38CVxCjWLAPACKやBLASまで無料ということで楽しみにしてるんですが。
0215login:Penguin
02/06/14 15:49ID:4CsOaoRmん? その辺の話ってどこに出てるの?
0216名無しさん@Emacs
02/06/14 19:22ID:38CVxCjWLAPACKのことでしたら、インテル数値計算ライブラリに
含まれてるそうです。
http://www.intel.co.jp/jp/developer/software/products/mkl/mklfeatures_new.htm
これも、お返事来ないのですが、、
0217login:Penguin
02/06/15 01:04ID:jVtzzXwwsetenv FORT7 output.dat
てなかんじでファイルの自動オープンができない。なぜか、そんなファイルはないと怒られる。
こんな経験がある人います?
0218
02/06/15 13:24ID:CnbGLDKnシェルは何をお使いで?
BSHELLあるいはBASHなら
#FORT7=output.dat; export FORT7
だろうけど。ところで、FORT7っていう名前が、
機番7のファイル名のマクロ名になるの?
0219login:Penguin
02/06/15 16:00ID:jVtzzXwwtcshです。
docによると、Linux版の場合FORTnでn番をオープンすると書いてあるんだけど。
ためしにFreeBSDのLinuxエミュレーションで動かしたifcはきちんと開けるんで、端末の設定が悪いのかな?
0220
02/06/16 00:39ID:Kudjb0GB調べるべし。またまだファイルがなくて作るはずであるときには、
ファイルを作るべきディレクトリーのパーミッションが適切か
どうかも関係するだろう。
0221login:Penguin
02/06/16 13:56ID:KsvPx+Rrldconfig: File /opt/intel/compiler60/ia32/lib/libcprts.so is too small, not checked.
ldconfig: File /opt/intel/compiler60/ia32/lib/libcxa.so is too small, not checked.
ldconfig: File /opt/intel/compiler60/ia32/lib/libunwind.so is too small, not checked.
って出るんですけど問題は無いんですか?
0222
02/06/16 18:28ID:Kudjb0GB#
インストールがすんだら、メールに
入っていたライセンスファイルを切り取ってコピーして、
/etc/ld.so.conf にライブラリのパスを書き加えて ldconf し、
/etc/profile に コンパイラのバイナリコマンドへのパスを加え、
/etc/man.config にオンラインマニュアルのパスを追加すれば
できあがり。
0223login:Penguin
02/06/17 17:16ID:FMDFl0W+0224login:Penguin
02/06/17 19:18ID:d4w8sZKkたぶん、リストラさやたおやじが増員されたと思われ。
0225login:Penguin
02/06/17 22:49ID:SbfYKQK5つまらなすぎ。
0226名無しさん@Emacs
02/06/17 22:52ID:lh1rtOj00227login:Penguin
02/06/21 18:35ID:ES86Qcyi叫ぶのだが、どうやってそのありかを教えてやればよいのだろうか?
0228名無しさん@カラアゲうまうま
02/06/21 23:21ID:Rojv+xOMエラーメッセージをかってに俺訳しないでください。
0229-tpp7
02/06/24 09:17ID:s4Hr+GO8CPU0: AMD Athlon(TM) XP 1800+ stepping 02
な環境において、 cc010817rh62.tar から入れた icc(フリー版) で
-tpp7 オプション付けたいのですが、
icc: Command line warning: overriding '-tpp6' with '-tpp7'
となります。ほかにも
RedHat 7.1(Linux 2.4.10) on PentiumIII-S のシステムがありますが同様です。
ユーザガイドには Redhat 7.1 と SSE2 を必要とするとありますが、
実行時ならともかくも、コンパイル時にも PentiumIV でないと -tpp7
で最適化されたコードは吐けないのでしょうか?
0230login:Penguin
02/06/24 12:15ID:rHq3ABnUうちではCeleron(SSE1)でPentiumIVのコード出してるよ。
で、走らせると、不正命令例外がでる。ははは。
0231login:Penguin
02/06/24 13:53ID:Qr5L0Xt5ほかにどんなオプションを指定してますか?
0232-tpp7
02/06/24 14:42ID:s4Hr+GO8-tpp7 だけでもやってみましたし、-axW , -xW などもつけたり外したり
しましたが、warning は消えません。
>>229
とするとコンパイル時はCPU関係ないようですね。
ではなぜ…頭痛ぃ
(時は流れて)
…あ、 以下のファイルを見付けました。
$HOGE/intel/compiler50/ia32/bin/icc.cfg
- -tp p6
+ -tp p7
したら warning 消えました。(でもこうすると-tpp6でwarning...)
まるまる一行消したら、-tpp6 でも -tpp7 でもwarning消えました。
デフォルトで p6 となっているようですが、このままでも皆さんのところでは
-tpp7 指定できますか?
とりあえず、生成バイナリが実際どうなっているのかはともかくも、
warning は消えました。お騒がせ致しました。。。
0233login:Penguin
02/06/24 16:31ID:Rco9rF7gうちpen4だけどそのwarning出てる…
これが普通かと思ってたYO!
0234login:Penguin
02/07/03 14:02ID:+wOVaW5H0235
02/07/04 01:58ID:e0SE36ajOSのディストリビューション名とそのバージョン、
カーネルのリビジョン、LIBCのバージョンなどの
情報があったほうが、他の人の役にたちますね。
0236名無しさん
02/07/06 10:25ID:5iU21Jduundefined reference to `abort_'
とでる。なんで
0237236
02/07/06 11:25ID:5iU21Jdu0238login:Penguin
02/07/11 23:49ID:B7+v1hA6バグが取れてるらしいです。
0239login:Penguin
02/07/11 23:53ID:QIx7nZro俺も気になる。とりあえず体感速度を測る基準になると思うから誰か試してくれ。
0240login:Penguin
02/07/12 00:38ID:rpitGA5v0241
02/07/13 10:43ID:JsMJx7IZスゲ―。
0242login:Penguin
02/07/13 23:58ID:idfSKVqTを使ってます。
common配列を使ったプログラムで1GB以上のメモリを使うには-Qdyncom
というオプションを使うということで正しいのですか?一応動いてるみたい
なんですが、マニュアルに書いてある内容が良く分からないので不安なのれす。
もしかしてもっと良い方法が有ったり無かったりします?
>>241
姫野ベンチですかえ?このマシンにも慣れてきたので計測してみようかな。
0243login:Penguin
02/07/14 02:46ID:oeWeSaPQCeleron1.7はwillaでない?
0244
02/07/16 03:02ID:DsBWghMAコンフィグレーションをためしてみましょう。
0245login:Penguin
02/07/18 04:30ID:kYB644vXちゅーか、そのウォーニングって
デフォルトオプションを無視してコマンドラインのオプション優先させるぞゴルァ、
って言ってるだけでしょ?
warning出ててもちゃんとpen4用のコードになってるんじゃ?
0246
02/07/19 00:51ID:iPw+1qk2だが、なぜか、pthread ライブラリーもリンクせにゃあコンパイルした
結果の実行ファイルが動作しないし、どうやらMKLのライブラリ自身が
スレッドでSMPの上で多重動作ができるようになっているためか、
MKLライブラリを呼び出すフォートランなどのソース自身を並列化、
もしくはマルチスレッド化すると、動作が変になる。
SGIのように、scl.a、とそれのMP版のscl_mp.a を別のファイルとして
ライブラリに設けて欲しいのに。
0247名無しさん@Meadow
02/07/19 23:59ID:NUwiLAW6http://developer.intel.com/software/products/global/eval.htm
ここ見るとコンパイラはNon-Commercial Unsupported Versionあるのに
MKLはFree 30-day Evaluationしかないのですが、、
0248login:Penguin
02/07/21 20:03ID:FP1etqYW0249
02/07/24 01:14ID:wMW1B8XRhttp://developer.intel.com/software/products/mkl/mkl52/licensel_eval.htm
をみよ。但し、該当しない人は製品をお金出してちゃんと買うように。
MKLの1000(千)ページちょいのPDFマニュアルは印刷する気にはなれなかった。
0250
02/07/25 00:14ID:pZH6nQCZMKL5.2の内部評価とリサーチ用の無料ダウンロード
0251としお
02/08/07 10:37ID:pSGhuFamMKL などのライブラリにもアカデミック価格があるって知ってた?
http://www.xlsoft.com/jp/products/vtune/perftool.htm
0252login:Penguin
02/08/07 12:50ID:MNPpzILJそんなことよりicc,ifc6.0の日本語マニュアル早く出してけろ
0253login:Penguin
02/08/08 02:17ID:PIXsN0v5Hyper-Threadingを有効にしている?
俺は、無効にしてる・・・
0254login:Penguin
02/08/08 02:54ID:NKeWX2em並列化しても得るものが無かったし、並行処理しても効率悪かったので
もの凄い勢いで無効にしますた。
もしかして数値計算向きの技術ではないってことかなぁ?
0255名無しさん@お腹いっぱい。
02/08/08 08:22ID:e0n7CUm2thread間の相互作用が結構頻繁にある場合に効果のある技術でしょ。
0256login:Penguin
02/08/08 09:00ID:h5Ite4hL無料版の方がいいに決まっているジャン。
0257login:Penguin
02/08/11 00:59ID:s/OAym0W0258login:Penguin
02/08/11 01:06ID:fLq7R5RzGaussianだと Hyper-Threading有効にしたほうが成績良い
ですな。何か良いflagの立て方があるのだろう。
0259login:Penguin
02/08/15 01:25ID:/0GLx8QN0260login:Penguin
02/08/22 00:49ID:hok07Wzbモジュール名を大文字にしてサフィックスに .mod というのが
つくファイルがオブジェクト以外に生成されるようになって
しまった。 (.d ではなくて) work とか work.pcl とかも
どこかにいってしまった。どうしたんだろう?
0261login:Penguin
02/08/22 08:06ID:/FBXdmt+7.0 でたんですか?
ギャワー。
0262login:Penguin
02/08/24 17:25ID:PfaGDlQx0263login:Penguin
02/08/30 03:54ID:aneTlj2cどこにあるんだ〜!!
0264login:Penguin
02/08/31 22:23ID:Jrnphh7dあくまでも開発者向きのプレミアソフトの評価検証、デベロッパ支援だよ。
0265login:Penguin
02/09/01 08:33ID:gmMMYJwB0266login:Penguin
02/09/03 07:17ID:WnJhOOM2無料登録ではでてこなかったです。
もしかして商品買われていますか?
0267login:Penguin
02/09/03 21:14ID:Tq9T9U830268login:Penguin
02/09/03 21:15ID:Tq9T9U830269login:Penguin
02/09/07 01:41ID:c6bP3AxYないんですかねー?
intel fortranがめちゃ使えるのでlinuxでもスパコンとおなじようなこと
できたらいいなー。
0270login:Penguin
02/09/07 03:10ID:a8rKmADvpbs
0271login:Penguin
02/09/07 04:18ID:/NB2PEZ90272login:Penguin
02/09/07 06:37ID:0xFRXbF30273login:Penguin
02/09/07 13:04ID:Y2eyZ6jbhttp://www.scri.fsu.edu/~pasko/dqs.htmlに3.3.2ってのはあるが
READMEに2000年12月で開発終了とかなんとか…
0274login:Penguin
02/09/07 13:22ID:0xFRXbF3にはアクセスできないんですよね。connection refused とか出て。
かろうじて archive は残ってますが。
0275login:Penguin
02/09/08 00:07ID:tz8uOh0c0276login:Penguin
02/09/08 02:14ID:SvqdSrFVftp://ftp2.scri.fsu.edu/old_ftp_users/pub/dqs/
ちなみにこっちですが
0277login:Penguin
02/09/08 06:43ID:6UAJnaFtyahoo! からかなぁ。
276さんありがとうございます。
0278login:Penguin
02/09/08 07:16ID:qdgWDnqiman DQN
0279login:Penguin
02/09/08 11:54ID:ofarZynG0280login:Penguin
02/09/08 14:33ID:V+CyUlbEに直接FTPコマンドでログインすればいけますね。
ブラズザからだとムリみたいです。
一応DLしましたが、インストールできるかな・・。
シェルの書き方などはどこを参照すればいいんでしょうか?
0281login:Penguin
02/09/08 14:38ID:6UAJnaFtConnected to ftp.csit.fsu.edu.
220 ProFTPD 1.2.4 Server (Debian) [ftp.csit.fsu.edu]
Name (ftp2.scri.fsu.edu:maho): anonymous
331 Anonymous login ok, send your complete email address as your password.
Password:
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (144,174,128,48,5,132).
ftp: connect: Connection refused
くそっなんでうまくいかねーんだ?
password もちゃんといれてるのに?
0282login:Penguin
02/09/08 14:43ID:7+JaCJ9pPASV モードのコネクションが拒否されてる。
PASV では接続出来ないサーバなのだろう。
0283login:Penguin
02/09/08 15:34ID:xG1yGil2shとかcshのソースよめ
0284login:Penguin
02/09/08 16:35ID:6UAJnaFtありがとう。たしかに passive mode やめたら get できました。
0285login:Penguin
02/09/11 16:45ID:Ye+Ngz+T比較されたってなんにも解らんぞ。期待して損した。
0286login:Penguin
02/09/11 21:41ID:7ec/JA8x0287名無しさん@Emacs
02/09/11 22:14ID:LD6k8Cy/円周率計算でベンチマークテストでもやればよかったのにな
0288login:Penguin
02/09/11 22:48ID:Ye+Ngz+T書く奴いねーよ。そんな最適化なんぞ見たくもねぇ。
SSE2 使うところも、ライブラリで見せてくれんし。パイプラインを
どう使いこなしているか、そんなんがみたかったんやけどな。
実は、見えにくいインストラクションの並びが実にペナルティが低いとかさ。
0289login:Penguin
02/09/11 23:19ID:gERs7rWDmozillaとかOpenOffice.orgとかコンパイルしてみてベンチマーク
取って欲しかったよ
0290login:Penguin
02/09/14 21:55ID:nz4/+CVHCPUのものとしてはできそこないだ。
LP64モデルを採用しているが、配列の添え字式の計算がIntで32ビット
らしく、2GBを越える配列が取れないなど、さまざまな問題点がある。
0291login:Penguin
02/09/14 22:04ID:nz4/+CVH-64というオプションをつけて64ビットアドレス用として
コンパイルすると、LP64モデル(つまりIntは32ビット)
ではあるが、配列の添え字計算ではLongとして計算される
ようで、あとはOSの関係なのか40ビットのアドレス空間を
使える。つまり1TBまでの配列がコンパイラに食わせる
ソースのレベルでは取れるのだ。
#
AnsiのCの解説書などを読んでみたが、どうも、たとえばCの配列
の添え字式はIntであるという風に読めるので、そのとおりに
すると、ILP64ではないLP64のメモリモデルだと、
ポインターは64ビットなのに配列の添え字は正負あって32ビット
までになってしまう。ぜひとも、64ビットの添え字式を使える
ようにして欲しいと交渉したい。
#
IA-64用の場合、IntelのCコンパイラにもILP64モデルになるように、つまり
コンパイラオプションで整数が8バイトになるよう指定が可能
となるようにして欲しいと交渉したい。
今のIntelのeccコンパイラには、なぜかLongとPointerが8バイト
になるような指定をするコンパイラオプションがあるとオンライン
マニュアルにはかかれているし、実際おぷしょんを受け付けるの
だが、本来Linuxの上でeccコンパイラは試してみたところ、
最初からLP64であるので、このオプションを指定するまでもなく
そうなっているなど、理解に苦しむものが多い、わけがわからん。
0292login:Penguin
02/09/14 22:15ID:xbXyt3h1これも期待できないかな?
Intelが、日経とアスキーに同時に機材貸し出ししたのが丸見えで萎え。
0293maho
02/09/15 12:18ID:7i0e2a3c御意。Alpha の gcc やったらどうなんでしょ? どなたかご存知?
>>292
ある意味どういう最適化をしているかというのがバレるからあまり
書きたくないのかも知れないですね。意味ねーじゃん。
OpenOffice.org のコンパイルはまだ厳しいしょう。gcc でも compiler の
バージョン依存の問題が多いので。Xはコンパイルできて然るべきですが。
0294login:Penguin
02/09/15 12:43ID:PyOM4RIdNAME
bcc - Bruce's C compiler
DESCRIPTION
Bcc is a simple C compiler that produces 8086 assembler, in addition
compiler compile time options allow 80386 or 6809 versions. The
compiler understands traditional K&R C with just the restriction that
bit fields are mapped to one of the other integer types.
BUGS
The bcc.c compiler driver source is very untidy.
The linker, ld86, produces a broken a.out object file if ...
0295maho
02/09/19 09:02ID:+RmgTTgRつかれた。
0296login:Penguin
02/09/20 10:29ID:t21caENn0297login:Penguin
02/09/21 00:24ID:b0RwualT0298login:Penguin
02/09/21 00:52ID:b0RwualTさせました。単精度で3.4GFLOPS、倍精度で1.7GFLOPS近い値がでました。
ifc で同等のプログラムを書いて最適にコンパイルしてみると、
1割ないし2割それよりも低い性能ですが、まあ満足のいく速度がでてます。
最近のPC用のCPUは早いですね。
0299maho
02/09/21 03:55ID:viZ9mmJo僕、FreeBSD の ifc の ports の作者ですけど。 maintain もしてます
けど... ちなみに icc は FreeBSD native の object を吐ける。
ifc も本来そうなんだけれど、
WRITE とか OPEN とかを使うと call するので、nonstdlib をリンク
せねばならん。つまり FreeBSD 用のライブラリが必要。多分 gnu fortran
のライブラリを真似ればなんとかなるんだろうけど、面倒じゃ。
Lapack なんかはそういうのを使ってないから ifc でコンパイルできる
と思うんだけどね。あとスタートアップルーチンとかも必要だし、
それは何しているか解らん。Fortran90 以降には興味ないし、なんかなぁ。
組み込み関数は一部、prototype definition みたいなのがあるけど、
これの意味は調べてない。多分 Fortran90 のなんかなんやろうな。
こういう作りをみると、Linux 以外での IA-32 のコンパイラも
作りたかった、ような印象を受けた。
>>298
何をおっしゃりたいかちょっと意味わからんかったです。
高度に最適化された BLAS と、適当に書いたお手製 BLAS の比較ですか?
そもそもプログラムの組みかたが違うから、単純な比較は避けた方が
良いと思いますよ。MKL と ATLAS の比較なら理解します。
それとも、素直に書いても ifc なら 1-2割低いだけに留まるから
最適化技術がすごいというのなら、理解しますが。
MKL と ATLAS なら ATLASのほうが速いと思います。最近バージョンアップして入れ替わったのかな? どっちにせよ、パフォーマンスは
似たりよったりでしょ。
0300login:Penguin
02/09/21 04:48ID:b0RwualTなったもんだとはおもわんかね。PDP-11のあるモデルなんか、
FloatingAccelarator機構をつけても、10〜20KFLOPS程度しか
出なかったし、VAX-11・780でも0.1〜0.2MFLOPSぐらいしかでなかった。
日立の最初のスパコンS810が600MFLOPSピークだったんだが(1985頃?)。
2GFLOPS出るようになったのはS820からだったかな。
0301maho
02/09/21 08:25ID:viZ9mmJoスパコンはさわったことがないから、
直接は気持がわからんですけど。KUBOTA の TITAN かな 高校の頃。
まぁ僕も昔しょぼいパソコンでいろいろ計算やってました、ほんと、遅かったです。レイトレーシングなんか何日もかけてという感じでしたね。
だから、なんとなく気持はわかります。
でもスレちがい...
0302login:Penguin
02/09/21 15:22ID:+UfjVmmpcshとかって使えるの?
0303login:Penguin
02/09/21 18:05ID:86dc7Wyn>なったもんだとはおもわんかね。
結構なこって。
んで。その分、解析精度の要求が高まる罠。
まだまだ性能あがってくれないとねー。
0304302
02/09/21 19:06ID:+UfjVmmpファイルの入出力に関してわからないので教えてください、
スクリプトファイルは
************************
#!/usr/csh
# QSUB -q testq
# QSUB
setenv F_FF10 file1
setenv F_FF20 file2
./a.out
***********************
こんな感じで、file1とfile2が出力されてほしいのですが
できません。ifcの環境変数はF_FFではないのでしょうか?
0305302
02/09/23 19:25ID:XpJsF3mg板よごしてすみませんでした。
0306ldb
02/09/24 14:51ID:V9bNhhGg環境
OS:Redhat7.2ja
Compiler Version:6.0.1
エラー内容
次のようなプログラムを作成
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!" << endl;
return 0;
}
次のようにコンパイル
% icc -o hello hello.cpp -g
で、デバッグする
% ldb hello
すると次のようなエラーが出て強制終了する
Linux Application Debugger for 32-bit applications, Version 6.0, Build 20020521.Copyright (c) 2001-2002 Intel Corporation. All Rights Reserved.
Assertion failure: 0, file ../../src/ST/intel/iCUInfo.C, line 409
このあといろいろ試した結果、coutをprintfに置き換えるとうまく動いた。
またSTLを使用したプログラムを作成しデバッグをかけてみたが、
同じエラーで終了してしまう。つまりC++プログラム特有の文を書くとだめになる?
0307maho
02/09/25 00:05ID:WbD3HXSrまぁ意味があるかどうかはしらん。/usr/ports/lang/ifc って
だれが使うんだろう?
もうこわれてないよ。
>>306
なるべく最新のものにしてみれば?
0308306
02/09/25 14:56ID:mzUu5Ze3これは最新ものです。正確に言うとバージョン6.0.1-304です。
mahoさんはバージョンいくつでしょうか?
そして同じプログラムでエラーが出ませんか?
0309maho
02/09/26 08:22ID:I4VU93X1debugger は FreeBSD では使えないのです...お役に立てなくて残念です。
0310304
02/09/26 10:56ID:N9OG6F/Vそうですか…。わざわざありがとうございます。
0311login:Penguin
02/09/27 09:55ID:+6HsjsFHdictionary fileを使って、外部モジュールをuseする際、
*.pcファイルがどうしても必要なのでしょうか?
無い場合にはどうしようもありませんか?
dictionary fileとarchiveしかないライブラリを使いたいのですが、
-Iでパスを指定するだけでは、Error FCE22が出てしまいます。
CompaqやSGIで*.modに相当するのが*.dですよね。。。
0312
02/09/27 10:28ID:u29c/11w(今のベーター版ではそうなっている)
0313login:Penguin
02/10/02 12:34ID:Fljz+3D+パフォーマンスが数パーセント落ちているような結果になってる。
ちょっと寂しい。。。
Windows版はもう正式にifc7が出てるみたいだけど、Linux版はまだかな?
それに期待したい。
0314314
02/10/13 07:10ID:5zweLQtXpgplot/sys_linuxの中にはifc用のファイルがないのですが、
absoft_gcc - The Absoft f77 FORTRAN compiler and Gnu gcc C compiler.
f77_gcc - The f77 [f2c] Fortran-to_C converter and Gnu gcc C compiler.
f95_gcc - The NAGWare f95 FORTRAN compiler and Gnu gcc C compiler on an elf-system.
fort77_gcc - The fort77 [f2c] Fortran-to_C converter and Gnu gcc C compiler.
g77_gcc - The GNU g77 FORTRAN compiler and Gnu gcc C compiler on an elf-system.
g77_gcc_aout - The GNU g77 FORTRAN compiler and Gnu gcc C compiler.
nag_gcc - The NAG f95 FORTRAN compiler and Gnu gcc C compiler.
pgf77 - The Portland Group pgf77 FORTRAN compiler and pgcc C compiler on Linux.
お返事お待ちしています!!!
0315login:Penguin
02/10/13 20:44ID:6hhGXCde0316login:Penguin
02/10/14 18:28ID:+zxSyeGL0317login:Penguin
02/10/16 14:59ID:PYlI20eA笑っちゃうくらい速い。
0318x
02/10/16 15:04ID:9AlnI0Ke↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0319login:Penguin
02/10/18 22:17ID:q1kWLUaliccでkernelやXをコンパイルできた人いますか?
0320login:Penguin
02/10/19 00:04ID:yEObizWo体感何倍早いのですか?
0321login:Penguin
02/10/19 10:52ID:BhEBgiKe0322login:Penguin
02/10/19 11:51ID:oME5iqrlgccでコンパイルオプションをいくら変えてもはやくならなかったのが
iccではさっくり速くなったので。-O3 -tpp6 -axK -static.
0323login:Penguin
02/10/20 14:36ID:7EbOELLI0324login:Penguin
02/10/26 01:08ID:753aeObx0325crazy_u
02/11/02 09:33ID:EHl1F/UI初めて書きます.
Intel Compiler v7.0のベータ版をFEM解析プログラムでテストしてみました.
v6.0に比べて,
1.コンパイルは速くなりました.
2.コンパイル時に必要とするメモリーは半分以下になりました.
3.連立方程式の解法はP4用に徹底的にチューニングしたので,もう速くはなりません.(CPUがフル稼働
状態)
4.その他の部分は2〜4割速くなりました.(あまりチューニングのしようのない準備計算部分や要
素レベルの計算)
推測ですが,
1.prefetch機能が向上した.
2.グローバルな最適化機能が向上した.
(A, B, Cの計算ブロックがあって,AとBは独立に計算できてCでは両方の計算結果が必要な場合に,あいているレジスターがあればAとBは非同期にほぼ同時に計算を行ないCで同期をとる.)
3.分岐命令を含むコードで,あいているレジスターがあれば,分岐径路の確定を待たずに処理に入ってしまう.
分岐径路が確定した段階で分岐しない部分の計算結果は捨てる。
(Itainum用の64bit版の方はこの機能が以前から入っている.)
4.不変式の先行評価機能が向上した.
の幾つかが行なわれるようになったのではないかと考えます.
(高性能なRISC計算機やスーパーコンピュータを使ったことがある人はこれらは分かりますね)
0326crazy_u
02/11/02 09:52ID:EHl1F/UIcompiler optionは
# Intel Fortran Compiler v7.0
# Penteium II
#OPT_MACHINE= -tpp6 -xi
# Penteium with MMX
#OPT_MACHINE= -tpp6 -xM
# Penteium III
#OPT_MACHINE= -tpp6 -xK
# Penteium 4,Xenon
OPT_MACHINE = -tpp7 -xW
OPT0 = -O3 -prefetch -scalar_rep -prec_div -unroll -fno-alias -fno-fnalias -lib_inline -nobss_init -Zp16
OPT1 = -implicitnone -lowercase -Vaxlib -vec_report3 -V
FFLAGS = $(OPT_MACHINE) $(OPT0) $(OPT1)
COMP = ifc
LD = ifc
です.-ipも効かせたいのですが計算が壊れることがあるので使ってません.
0327login:Penguin
02/11/02 19:16ID:EdkYccpGどっちかっていうと数値計算向けのコンパイラ?
0328crazy_u
02/11/03 10:25ID:49bsvkUhとにかく,自分で試してみる方が良いと思います.
ただし,コンパイラは’魔法の杖’ではないので,元のコードが優秀(無駄のない最適化コード)であればあるほどコンパイラの違いによる性能差はでなくなります.
Fortranのユーザは数値計算屋なので数値計算向きに特化して欲しいと考えますが,CやC++のユーザのなかでは数値計算屋は少数派なのでそこに特化した商品をIntelがつくるとは考えられません.
グローバルな最適化などは重たい数値計算(ほぼいつもすべてのレジスタは大忙し)よりは遊んでいるレジスタができやすいアプリケーション(業務系や制御系?)で効いてくると思います.
私もLinuxシステムそのもののチューニングには興味があるのでただいま勉強中です.
来年,FSB667のチップとそれに対応したM/Bとメモリがでたらもう1台組立てるつもりです.そうしたら,現在のマシン(P4_2.53GHz)を実験機にしてkernelやglibcをiccでコンパイルしてみます.
(安定に稼動しているマシンでkernelを触るのは怖いので)
0329login:Penguin
02/11/03 10:48ID:l8t+iVCu結果報告よろしくたのんます
0330login:Penguin
02/11/04 09:56ID:1FXAr5v4過去のログでは,ifc6は対応していなくて,ifc5は対応して
いるとありました.
新しいnforce2のチップセットで,DDR400のメモリ2枚刺しで,
メモリのバンド幅が6.4GB/secというものに引かれて一台組み
立てたいと思っているんですが,ifcが使えないのでは意味ない
ですから...
0331login:Penguin
02/11/04 10:11ID:+kRs8LO6なんかずうずうしいな。
586互換なら大丈夫なんじゃねーの?
ひょっとすると蹴られるかもしんないけど。
0332login:Penguin
02/11/04 12:00ID:gL+5bja70333330
02/11/04 14:34ID:4afCMgT6確かにシステムバンド幅を超えているスピードのメモリバンド幅って
いうのに、何かメリットはあるのかと考えてしまう。
が、HPのItanium2は、システムバンド幅6.4GBに対してメモリバンド幅は8.4GB。
何かいいことあんのかな。
0334login:Penguin
02/11/04 14:39ID:2zKwI8RZメモリバンド幅はバーストした時のピーク性能だから、
実効値はずっとずっとずっと低い値。
0335login:Penguin
02/11/07 16:10ID:e6eeEJ5OM/B Tiger MP
CPU Athlon MP 1.2GHz
SuSe 8.0
0336login:Penguin
02/11/08 01:25ID:U6l7cdxwQ2:DebianGNU/Linuxでは intel Compiler はうまく使えないけど、
将来なんとかならないの?
0337login:Penguin
02/11/08 01:52ID:3nm7+jZ5なぜなのかは専門家じゃないのでわかりません。
A2:ifcならpotatoでもwoodyでも使えていますが?なにがどう上手くいかないのか
書いたら何とかしてあげられるかもしれません。
0338login:Penguin
02/11/08 03:19ID:xnWba0Fk2.4後期でも一応の対応は出来てるかもしれないけど、
スレッド廻りがもともと弱いカーネルだし。
2.5ではある程度使えるという話しは聞くけど。
0339login:Penguin
02/11/08 11:44ID:UuLgSvtg0340login:Penguin
02/11/08 22:07ID:ccmxL41cやっぱりにわかにはそんなコードが出ているとは信じられない。
僕の知っている限り、Pentium 4のコードが高速なのは SSE2 を使っている
場合だが、特殊関数(sin,cos とかね)ライブラリに渡して高速に
なっているようだ。
そこらへんはライブラリを disassemble しなければからくりはわからない。
また、日経Linuxの記事(買わなかったけれど)によると、計算をそもそも
省ける場合の最適化がうまいとのことしか書いていなかったが、
これは本質的な最適化ではないよね。
というかそんなプログラム書かないっつーねん。
やっぱりアセンブラの出力を見て直接比較したいっす。1. 2. 3. 4.
が実際にどう行われているか、とても見たい。どなたか公開できる
サンプルを持っていらっしゃる方はいますか?
>>337
SSE2 や FPU は threading できないようですね。だからあまり HT
は効かないということではないでしょうか。
0341login:Penguin
02/11/09 07:04ID:IPBiP7vyHTを入れても整数は速くなるけど、FP演算は早くならないということですか?
0342crazy_u
02/11/09 10:07ID:pvpo5FMkSMP用のmulti-threadのプログラムにしないと意味ないと思います.技巧ではなくて手法(FEMなら領域分割法やsupernode algorithm等)を研究すべきです.
HTの分かりやすい解説が
http://www.atmarkit.co.jp/fpc/rensai/zunouhoudan016/hyperthreading.html
にあります.対応ディストリビューション一覧がコンパック(現在はhp)のサイト
http://linux.compaq.co.jp/support/doc/option/etc/ht_capability.html
にあります.
BIOSの設定はHTはonになっていますか? SMP用のカーネルで起動してますか? multi-thread programingしてますか?
今,Itanium2をターゲットにして「実践マルチスレッドプログラミング」(アスキー,1998年3月発行)で勉強してます.
来年,第3四半期に開発コードDeerfieldというItanium2の廉価版のチップがでる予定.価格はXeonよりちょっと高めだそうです.
0343login:Penguin
02/11/09 10:58ID:IPBiP7vyにより(可能なら)吸収して、スループットを向上させようという
昔のデネルコア社のHEPという実験システムの延長線上にあるような
技術ですね。
0344
02/11/09 19:09ID:cxRy6Ah9詳しい人いたらノウハウ教えてください。
0345login:Penguin
02/11/09 19:16ID:qbAg7zaY現在サンプルコード募集中。
0346login:Penguin
02/11/10 14:57ID:jAjpoqqV待ち時間を果たしてうまく吸収して性能を上げることができるものだろうか、
とか。
0347login:Penguin
02/11/10 15:28ID:0MPyrCTNP4-Xeon SMP環境で使ってる人いませんか?
2ジョブ実行でどれくらいの並列化効率が得られてますか?
私のところは50%即ち、CPU1つのときと変わらんという結果です。
kernelは2.4.18-17.7.xsmpで、HTオンで/proc/cpuinfoに4つの
CPU, HTオフで2つのCPUがちゃんと見えてます。
なお、ベンチの結果はHTオンでもオフでも変わりません。
0348crazy_u
02/11/10 16:41ID:ifwKEp6r「2CPUに2JOB」と「1CPUに1JOB」が変わらなかったというのなら正常だと思いますが.
以前,1週間だけDual Xeon (ワークステーション用のi860チップセットなのでHT機能なし.メモリはRIMM)でテストしたことがあります.
single threadのJOBを2個同時にrunさせても,1CPUで1個のJOBをrunさせた場合と殆どパフォーマンスは変わらなかったように記憶してます.(つまり2個のCPUはそれぞれ独立に1JOBずつ担当している.)
Intel Compilerで自動並列化オプションをつけたコードの場合は所詮末端での並列化なのでオーバーヘッドが喰われるせいか殆ど効果なし.
手法を検討して上位レベルでmulti-thread化したコードを書かないと効果なさそうです.
コンパイラは1CPUのときよりも軽快で,topコマンドでみていると2CPU使ってコンパイルしていました.(コンパイラはmulti-threadのコードなのでしょう.)
OSはRedHat Linux 7.2 (kernel-2.4.7-?smp)でした
0349login:Penguin
02/11/10 16:55ID:g4m5WDlbこっちの方が詳しいし。
スレは死に気味だけど、一度見といた方がいいかも。
0350347
02/11/10 20:09ID:0MPyrCTN>「2CPUに2JOB」と「1CPUに2JOB」が変わらなかったということでしょうか?
そうです。
ジョブはsingle threadです。やはり、私のところは、何が悪いのか、実質
1CPUになってますね。以前使ってた、PII Dualのマシンで、kernel2.2の最初
の頃ので80%以上の並列化効率がありました。Xeonはきっと、もっといいはず
ですよね。
>>349
ありがとう。早速見てみます。
再び>>348
マルチプロセッサマシンでは、コンパイルのとき、make -j NとしてNファイル
同時コンパイルするという方法もあります。
0351crazy_u
02/11/10 23:20ID:ifwKEp6r有難うございます.参考になりました.
>>344
稼動するマシンが変わるたびに殆ど常にプログラムには手を入れています.
どの程度のことを知りたいのでしょうか?
例えば,
「RISC 超高速化プログラミング技法」(寒川光著,共立出版,1995年8月発行)
は現在の計算機でも役立つ内容だと思います.Pentium4もスーパースカラー計算機といえると思います.
寒川氏は情報処理学会の論文集へもこの手の論文を多数投稿している研究者です.
私も氏の論文は参考にしてきました.(私はもっぱらvector計算機を相手にしてきましたが)
他にも参考文献があったらお知らせします.
0352login:Penguin
02/11/11 00:23ID:dXRwOR+kSMPマシン上でそれぞれのCPUに実行させることは意味がないと考えていいのでしょうか?
>>348
ifc6.0の自動並列化はほんとーに使えなかったんですけど、次のバージョンでも期待は
できなさそうですか?結局、にわかじこみのOpenMPで1割程度は速くできますた。
某所のccNUMAマシンの自動並列化には感動した覚えがあるんですが。。。
0353crazy_u
02/11/11 21:48ID:9ykjmpF9やはり,普通のSMPのマシンでは意味ないのではないでしょうか.
ccNUMA(アーキテクチャの説明は,http://www.sgi.co.jp/products/pdf/ccNUMA.pdf)や富士通の最新のSMPのスパコンなら問題ないでしょうが....
並列計算で多少参考になりそうなのが(概要しか書いていないが),
http://plaza11.mbn.or.jp/~myoneya/comp/smpmd/smpmd.html
12月か1月にDual Xeonのテストができそうなので,ifc7.0 betaで自動並列化を(全然期待していませんが)試してみます.
>>351で紹介した本はやや学術色が濃くヘビーな内容なので,もっと一般的なところでは(その代わりアーキテクチャに即したチューニングは書いてない)
「プログラム改良学」(J.L.ベントリー著,近代科学社,1989年9月発行)
「C++/C プログラム改善法」(D.スプラー著,トッパン,1993年6月発行)
があります.今なら,もっと良い本が出ているかも知れないので,そういうのがあったら教えてください.
0354347
02/11/11 22:43ID:MZf6bpFlのですが、Win2Kを入れて、ベンチしてみると、ちゃんと
2CPU使ってるみたいです。
もっと、よく調べてみると、最初に使ったベンチマークが
1本でメモリ帯域を使い切るものだったため、2CPUあって
も性能が上がらないということが分かりました。
--- GogoWinBench 1.28 [2002/11/11 20:11:40] ---
[OS] Windows 2000 Service Pack 2 (5.0.2195)
[CPU] Intel Xeon (Prestonia) * 2 / 2795.5MHz (399.4 * 7.0)
GenuineIntel
Intel(R) Xeon(TM) CPU 2.80GHz
0/0/0/15/2/7
FPU TSC MSR CMOV MMX MMXE SSE SSE2 HT(2)
L1TraceCache 12Kuop, 8Way
L1DataCache 8KB, 4Way, 38787.87MB/s, 2clk
L2Cache 512KB, 8Way, 21333.33MB/s, 18clk
Memory 2048MB, 2179.10MB/s, 430clk
[DLL] GOGO DLL ver. 2.39b for only bench (Feb 28 2002)
[結果] 再生の48.70倍速 / 音響解析あり / 使用機能 MMX SSE
[結果] 再生の85.18倍速 / 音響解析あり / 使用機能 MMX SSE CPU[2]
0355347
02/11/11 23:16ID:MZf6bpFl複数ジョブの結果です。(kernel-2.4.18-17.7.xsmp)
数字は総MFLOPS(所要時間)です。
1 job 2ジョブ同時 4ジョブ同時
HTオフ 1067(2.05秒) 2123(2.06秒) 2122(4.12秒)
HTオン 1067(2.05秒) 2133(2.06秒) 2339(3.74秒)
2ジョブ同時では、ほぼ2倍の性能です。HTオンにして、4つの
論理CPUの状態で4ジョブ実行すると、トータル性能が1割ほど
向上しました。インテルが言うには最大3割でしたっけ?
並列化でスレッド数を物理CPUの数より多くして性能向上を
狙うのはなかなか難しそうです。
0356login:Penguin
02/11/12 01:03ID:9up4JSu90357347
02/11/12 12:27ID:Uq+VTKXLそう考える理由はなんでしょう?ページングが発生すると
一般に、CPU利用率は激減するので、1CPUでも十分だと思います。
間違ってるのかな?
0358login:Penguin
02/11/13 00:20ID:vH9lO9Qf効くはずなので、そう思ったのですが、もっと粒度が細かい場合である、
ひとつのプロセスの中でスレッドがキャッシュミスしまくりの時にも、
よく効くのかな?
0359login:Penguin
02/11/13 00:46ID:6mTv3JvBなったときは、マルチスレッドが有効だと思います。
ただ、これは普通の時分割のマルチスレッドやマルチタスク
で済む話で、HTが有効に働く局面ではないんじゃないでしょうか。
0360login:Penguin
02/11/16 11:46ID:p4ZGg3L2行列計算で両者の速度体感の差を経験された方がおありでしたら、教えて下さい。
また、Linux版とWindows版(Win2kで使用予定)の速度体感に大きな差はみられる
でしょうか?
スレ違いですが、プログラム技術@2ch掲示板に行っても「そんなスレありません」
でしたので。
0361login:Penguin
02/11/16 15:41ID:5m6xZ1gP試用版あるから使ってみれ
0362Galois
02/11/16 22:55ID:O0ALkNUjシミュレーションをしています。
P4, linux redhat7.1で,
(1)ifc -O3 -tpp7 -xW xxxxxx.f90
(2)ifc -O3 -tpp7 xxxxxx.f90
(3)ifc -O3 -tpp6 xxxxxx.f90
で生成したプログラムの実行結果ですが,(1)は他の2つと異なります。
どちらが正しいか,(1)が間違っているとすればどうしたらよいか
どなたか教えてください。いくつかのプログラムで試しましたが
全て以上述べた結果になります。特にあるプログラムではその違いがあまりに大きく
(1)が不具合を起こしているような気もしますが,原因が不明です。
0363login:Penguin
02/11/17 00:25ID:wvVtn5jgifc -O0 xxxxxx.f90
として出てきた答えがまず正しい。g77とも比べてみれば?
最適化のため、計算の順番を入れ替わったりして、答えが変わる
ということがあり得ます。
0364login:Penguin
02/11/17 01:45ID:roKdiGN4HTを有効に使える気がする。ひとつのスレッドを、メモリーのアクセス
パターンに沿って先行させてページロードをさせたりメモリーをキャッシュから
取り込む作業に割り当てる。すると、もうひとつのスレッドが演算に必要な
データが丁度メモリ内にあるいはキャッシュ内に用意が済んでいるという、
据え膳状態になるようにできるだろう。
0365crazy_u
02/11/17 02:09ID:q3FHpQqg最適化レベルを最高にすると計算が壊れることがあります.(コンパイラのバグ)
まず、>>363の指摘を行ってみることです.
その上で,計算が壊れているサブルーチンをみつけて
1.そのサブルーチンだけ最適化レベルを下げる.
2.コンパイラが正しく読解可能なように明快なプログラムにする.
3.コンパイラが正しく読解可能なようにサブルーチンを更に分割する.(1つのファイルになっている場合は-ipオプションはつけない.)
のいずれかを試行してみるとよいと思います.'2', '3'は試行錯誤的になりますが全体のパフォーマンスを落としたくなければ努力してください.
計算の壊れたいくつかのプログラムで共通に使用しているサブルーチンや同様なロジックの部分から調べるのが近道でしょう.
(私も何度か計算が壊れる目にあってます.)
0366crazy_u
02/11/17 03:00ID:q3FHpQqgそれと,一度はデバッグのオプションをつけて潜在的なプログラムのバグを潰しておくことをお勧めします.
0367Galois
02/11/17 08:29ID:6pVouLNZ早速,いろいろと試しながらやっていきたいと思います。
0368login:Penguin
02/11/17 08:55ID:7kzAUYhk-mpつけてみれば?
0369Galois
02/11/17 09:58ID:D45BaIqk-O0 と -O3 でも(-x**無しで)結果が異なります。
-tpp6と-tpp7の違いはありません。
(別のプログラムの出力したバイナリ-ファイルを使っているので
,g77で試すのはすぐには難しい状況です)
プログラムに問題があるようです。
一般的になにかヒントがあれば教えてください。
-mpをつけても何も変わりませんでした。
0370login:Penguin
02/11/17 13:32ID:wvVtn5jg一般的なことは、365にも書いてありますが、シミュレーションに際して
問題になり得るのは、丸めとか桁落ちです。アルゴリズムが良くないと、
丸めの影響が積み上がって大きな誤差になることがあります。また、これ
はコンパイラや最適化に依存します。特に単精度では顕著です。
あとは、変数の初期化ですかね。多くのコンパイラでは最適化レベルを
上げるとスピードアップのため変数の初期化を省略します。当然、プロ
グラム中で明示的に初期化しておかなくてはいけないところで、忘れて
いてもコンパイラ(とオプション)によってはちゃんと動いてしまう
ということもあり得ます。
0371crazy_u
02/11/17 15:31ID:q3FHpQqg>>370の指摘が原因であった場合は -doubletemps や -save -zero や,現在,単精度なら-r8として倍精度にあげてみることを応急処置として試してみたらどうでしょうか.
変数の初期化が原因なら-O0の場合も結果は信頼できないでしょう.(ifcはデフォルトでは初期化しない)
あくまでも応急処置なので,早めにソースコードを修正(場合によってはアルゴリズムの変更)をするのがベターです.
蛇足ですが,あとは地道に要所要所で中間結果をダンプしてどこで計算がずれているか探すしかないでしょう.
0372Galois
02/11/17 18:48ID:6pVouLNZLahey Fortran lf90で
(1)lf90 xxxxxx.f90 -win -o0 -dbl
(2)lf90 xxxxxx.f90 -win -dbl
で実行したら結果が一致しました。
(単精度では結果がやはり異なっていました。かすかな光が見えてきた気分です。)
(2)はdefaltの最適化で-o1です。明日にifc6で試してみたいと思います。
lf90の-o0と-o1で(-dblなし)結果が一致したsubroutineでも
ifc6の-O3と-O0では不一致だったからどうなる不安ですが。
0373Galois
02/11/17 19:04ID:6pVouLNZ372に書きましたが,lf90で(windows版です)倍精度で一致しました。
一般に,倍精度で一致した場合,プログラム修正なしで単精度で最適化して
実行しても危険ないんでしょうか?Monte Carlo simulationなので誤差が
蓄積するようなものでもないと思うんですが。
あと,単精度で不一致の場合,プログラムを書き換えることで
単精度で一致するようになるものなんでしょうか?
倍精度で実行すればよいというものでもないのでしょうか?
0374login:Penguin
02/11/17 19:13ID:Z/w9oPOCとか
if x .eq. 1.0
とか
if x.ge.y
とか使っていませんか。
0375Galois
02/11/17 19:20ID:6pVouLNZdo x = 0.0, 10.0, 1.0
は(遊び以外で)一度も使ったことはありません。
if x .eq. 1.0などは使っていません。
(lf90コンパイラでwarningがでます。)
if(x.gt.1.0)なら使っています。
0376363,370
02/11/17 19:53ID:wvVtn5jg乱数をRAND_MAXとかで割った答えを丸めるか、切り捨てる
かで違いが出てきてもおかしくないと考えます。
最適化レベルを上げると、処理が「丸め」から「切り捨て」
に変わってる可能性があります。
強制的に丸め(四捨五入)を行わせる、-fp_portを試して
みたらどうでしょう。
一般に、単精度計算の際には、この最後の桁の問題について
気をつけないといけません。
0377363,370,376
02/11/17 20:12ID:wvVtn5jg乱数の最小桁の取り扱いが問題になっている可能性があります。
0378crazy_u
02/11/17 20:17ID:q3FHpQqgまたは,オーダーのかなり違うもの同士に対して加減算をしているとか?
もし,倍精度に(オプションで対応するのでなく)書き換えるなら,if(x.gt.1.0) では 1.0は単精度のままなので,if(x.gt.1d0) にしないと微妙なところで結果が変わることがあります.
0379login:Penguin
02/11/17 20:50ID:6pVouLNZlf90の-apオプションで-o0と-o1(and -o2)で同じになりました。
(-apオプションはhttp://www.lahey.com/docs/userwinexp_revc.pdf
にありますが)
乱数は
IRA = IAND(48828125*IRA,MODU)
X= IRA/REAL(MODU)
(ただし,MODU=2**30-1+2**30,IRAは初めに初期値を設定)
で作っています。
おなじ乱数を使っている全く別のプログラムではlf90の-o0と-o1で
同じ結果となりますから,乱数の精度ではないような気もします。
しかし,浮動小数点の精度の問題が原因かもしれないと思えてきました。
>>378
情報落ちとか桁落ちの問題はないのではと思っていますが,
いっそう気をつけたいと思います。
0380Galois
02/11/17 21:19ID:6pVouLNZlogin:Pengguinさんになっています。
(何か私が間違えたかもしれません。お詫びいたします)
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をフロッピーディスクにいれて移してみてはどうでしょう.
0482ot22
03/01/08 22:50ID:NeqYyahGパッチらしきものを希望される方は多いでしょうか? 多そうだったら
public にアクセスできるところに用意しようかなと思ってます。
P.S. モジュールが出来ているような出来ていないような
0483login:Penguin
03/01/08 23:14ID:U/R7YQLN> パッチらしきものを希望される方は多いでしょうか?
ぜひぜひお願いします。これは面白い♪
>crazy_u
ううたしかにbinaryで転送して壊れている可能性も...
あとで報告します。
0484login:Penguin
03/01/09 00:19ID:i1DFujLV0485login:Penguin
03/01/09 00:25ID:5dI2J0HT0486login:Penguin
03/01/09 00:47ID:janFKrXY0487login:Penguin
03/01/09 00:53ID:zKKLoi8Q0488login:Penguin
03/01/09 01:10ID:d0cXwiPT0489login:Penguin
03/01/09 01:23ID:d0cXwiPTそんなに寄付集まらないと思うぞ。
利用者に月1万円って現実的ですか?
0490login:Penguin
03/01/09 02:02ID:OzFfd3tm0491login:Penguin
03/01/09 02:59ID:V0yK4S7y0492login:Penguin
03/01/09 03:47ID:qciTMwbB裁判上不利になるから、大きいところではもう無理だろうな。
だから2ちゃんでいい、という帰結もまたおかしいけれども。
これからは、IPが裁判で提出されるのが常識になりつつ、
それ以外の局面でどうIPが守られているか、とか
どれだけシステム上の信頼性があるか、とかが掲示板の人気に影響しそう。
0493login:Penguin
03/01/09 04:26ID:o3zr6kVd特に、MMXとかのベクトル的命令を多用するコードを吐けたら、
さぞや描画性能が上がるのではなかろうかと思うけど、あるいは
Graphics Chip のドライバー性能がネックなのかな?
0494login:Penguin
03/01/09 08:35ID:2OFBTc6l赤帽8.0はifc7が動作しないと,ifc7のresellerのホームページに
書いてありましが,実際は動くんですか?
0495login:Penguin
03/01/09 10:22ID:e/ruQh9vgcc-3.2でオプション変更するだけでも効果があるから
期待できるでしょうね。
0496ot22
03/01/09 11:27ID:fZiQVJ4s> パッチらしきものを希望される方は多いでしょうか?
ぜひぜひお願いします。これは面白い♪
http://www.cs.tohoku-gakuin.ac.jp/~otofuji/ICC-Linux/memo.html
をご覧下さい。自己責任でテストして下さいね。
0497login:Penguin
03/01/09 15:07ID:hzDSQYSx0498login:Penguin
03/01/09 16:03ID:+r8AnlXi「責任は負いかねません」って。
0499crazy_u
03/01/10 00:34ID:4WK5owb0478の人も赤帽8.0で動かしているようです.
私は何も問題なく動いています.
Intelで動作検証が済んでいないというだけではないでしょうか.
gcc-3.2とgcc-2.9xはバイナリーの互換性がないので,使用するライブラリによるのかもしれません.
不安なら,赤帽7.3にしたらどうですか.
ちなみに,赤帽8.0のvsftpdはasciiモードの転送はファイルが壊れる目にあってます.
0500login:Penguin
03/01/10 01:02ID:d3LQt9jTやっぱFLEXlmの問題です。無理やりインストールして走らせてみましたが
FLEXlmが管理するライセンスのところで引っ掛かりました。
Cotave clone(W のライセンスファイルを加工するです。あーやだやだ。
0501login:Penguin
03/01/10 16:31ID:QDvvakyP自分も試してみたいと思います。
0502login:Penguin
03/01/12 23:05ID:6n/fieKJpatch thx.うちも拵えてみました。
0503山崎渉
03/01/15 11:23ID:/OP2L6bf0504login:Penguin
03/01/18 20:29ID:yibpzl2+0505login:Penguin
03/01/18 20:38ID:Dm64aJQmコンパイラが2つあると、ビルドで失敗した時
もう一方でトライできるから楽。
最近はxvで、*.o はgcc版とicc版がチャンポンに
なったがなんとか成功。
0506ot22
03/01/19 00:44ID:Z7H9vr9j> iccでgccをビルドできねー
make そのものは面倒なことはないのですけど(オズオズと)
gccのソース以上のtextは吐けないので、makeしたgccの意味がよくわからない
のですが… stage1のレベルのコンパイラが欲しいということでしょうか?
0507login:Penguin
03/01/19 01:16ID:AqdOvBsUいや、コンパイラコンパイラとして動くか試したかっただけ(w
0508login:Penguin
03/01/19 01:56ID:ZReWqC8H> コンパイラコンパイラとして動くか試したかっただけ(w
コンパイラコンパイラなら、ふつーはyaccつかうのでは?
0509login:Penguin
03/01/19 02:41ID:Vx0hKONhコンパイラコンパイラってのは意味が違うんでは?
0510505
03/01/20 20:30ID:bMctycyzがらみのエラーでコンパイルが落ちてしまうこと
が良くありました。
それで、
ttp://sources.redhat.com/ml/bug-glibc/2002-11/msg00083.html
を元に調べて
/usr/include/bits/byteswap.h
のパッチ(のつもり)をUプします。
--- byteswap.h.orig 2003-01-20 19:36:19.000000000 +0900
+++ byteswap.h 2003-01-20 20:12:42.000000000 +0900
@@ -81,7 +81,7 @@
__v; }))
# endif
#else
-# define __bswap_16(x) \
+# define __bswap_32(x) \
(__extension__ \
({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
#endif
0511login:Penguin
03/01/22 15:40ID:18w++Puzmakeとか./configureするだけの香具師ね
0513login:Penguin
03/01/29 03:17ID:B2bNW6rCテキストみながらいろいろ試してみた。
早くなったり早くならなかったり。
物理レジスタの本数やキャッシュサイズかなり小さいパラメータが
一番はやかったりで結構謎です。
これから LU に挑戦します。
0514513
03/01/29 03:35ID:B2bNW6rCs/かなり小さい/から想定されるよりかなり小さい/
あと、初歩的な質問であれなのだけれど、
ifc で適当な範囲の乱数えるのってどうすればいいのかな?
g77 だと a(i,j)=mod(irand(),100) てなかんじで、
適当に型変換して double な a(i,j) に代入できてたんだけど、
ifc だと a(i,j)=drand() 以外実行してもアドレスエラーとかおこられし、
drand() にしても乱数の系列を回してくれなくて、
1つの種に対して1つの乱数しか生成してくれない。
普段は C のひとなのでこのへんの作法がよくわからないっす。
0515crazy_u
03/01/29 12:54ID:BGnuMacz私は,「Fortran77による数値計算ソフトウェア」(丸善)に収録されているベクタ計算機用のコードを使用してます.
一様乱数用のプログラム(コメント文込みで60行程度)をこの板に貼り付けますか?
(著作者を明記すれば自由に使用できたはず.確認します.)
0516login:Penguin
03/01/29 13:22ID:ilG7zVvW一様乱数とかLUとかお願いします。一般的なコードだから
転載Okのはずです。
あとはCだなー
0517crazy_u
03/01/29 14:43ID:BGnuMacz今,会社で仕事中なので,家に帰ってから貼り付けます.
LUは多少長くなるので,貼付けると他の人の迷惑かもしれませんね。
どこかのサイトにあるはずだから,家に帰ってから探してみます.
0518crazy_u
03/01/29 23:05ID:VZTGGwTZ貼り付けるときに行頭のスペースが詰まってしまったら自分で調整して下さい.
subroutine rand3d( n , x , ir , icon )
************************************************************************
* original name is urand3 *
* modefied by crazy_u *
* uniform random number generator (multiplicative congruential method) *
* vectorizable algorithm *
* fast but not completely portable. integers should be 32 bit long.*
* overflow in interger arithmetic should not be sensed. *
* bitwise and function 'iand(ia,ib)' should be vectorized. *
* parameters *
* (1) n (i) the number of random numbers to be generated (input ) *
* (2) x (d) uniform random numbers (output) *
* (3) ir (i) the initial seed (input ) *
* the seed for the next call (output) *
* copyright: Y. Oyanagi, April 30, 1992 v.2 *
* modefied : crazy_u , May 4, 2002 *
************************************************************************
0519crazy_u
03/01/29 23:06ID:VZTGGwTZc
parameter(mm = 1024)
double precision x(n), invm
integer lam(mm)
save lam
parameter (lambda = 48828125, mask=2**30+(2**30-1) )
parameter (invm = 0.5d0 ** 31)
c
icon=0
c --- paremeter check ---
if( n<=0 ) then
write(6,*) '(subr.rand3d) parameter error. n = ', n
write(6,*) 'return with no further calculation.'
icon=1000
goto 9999
end if
if( mod(ir,2)==0 ) then
write(6,*) '(subr.rand3r) parameter error. ir = ', ir,
$ ' is even.'
write(6,*) 'return with no further calculation.'
icon=2000
goto 9999
end if
0520crazy_u
03/01/29 23:07ID:VZTGGwTZc --- initial setting ---
if(lam(1) /= lambda) then
lam(1)=lambda
do 10 i=2, mm
10 lam(i)=lam(i-1)*lambda
end if
c
c --- main loop ---
do 30 ii = 1, n, mm
c do 20 i=ii, min(ii+mm, n)
do 20 i=ii, min(ii+mm-1, n)
x(i) = iand(ir*lam(i-ii+1), mask) * invm
20 continue
30 ir=ir*lam(i-ii)
c
9999 return
end
0521crazy_u
03/01/29 23:33ID:VZTGGwTZhttp://phase.etl.go.jp/mirrors/netlib/slatec/
戸川隼人著「科学技術計算ハンドブック」(サイエンス社)のソースコード(C言語)は
http://www.mscom.or.jp/~tog/anna/
から入手可能です.
上記2サイトともバンド法のLU分解のソースは入っています.
スカイライン法のLU分解のオープンソースはちょっと心当たりがありません.
(原子力研究所がオープンにしていたようですがサイトが今すぐにはわかりません.)
0522513
03/01/30 03:47ID:nMBR86n0FORTRAN って乱数は標準ライブラリとか使わないんですね。
それと、お名前も間違っていたようでごめんなさい。
0523login:Penguin
03/01/30 05:13ID:8QLnsZcwよかったら覗いてください
〜極東板最大プロジェクト2〜
日本の明日を考えよう!行動しよう!
2003年、デフレ不況、莫大な財政赤字、深刻な失業問題
緊迫の半島情勢、祖国日本が危ない!
心あるチャネラーよ!今こそ結集せよ!
本スレhttp://tmp.2ch.net/test/read.cgi/asia/1043759979/l50
前スレhttp://tmp.2ch.net/test/read.cgi/asia/1042899935/l50
党名投票所http://members.tripod.co.jp/WGIP/vote.html
党結成準備HPhttp://members.tripod.co.jp/WGIP/index.html
第一回日本国民党(仮)党大会in靖国神社
1.日時 2月11日(火)10:00〜
2.場所 靖国神社遊就館喫茶店前
3.資金 各自任せる
0524crazy_u
03/01/31 18:46ID:BwxWQL3fmulti frontal法ならば,
http://www3.pt.freebsd.org/ja/ports/math.html
のなかのumfpack(Fortran90,非商用)があります.ここには他にも色々なライブラリがありますの覗いてみると良いかと思います.
バークレー大学のサイトには superLU (C, open sourceだったはず)があります.
YahooのUSAのサイトに入って検索すればすぐに見つかります.
私はダウンロードしただけで,まだ中身は見てませんが,sparse matrixのreordering法であるminimam-degreeやpseudo-minimum-degreeを使わないと良い効果が期待できないようです.
SMP用の直接法の解法として,改良しようと思っています.(不安定現象を扱っているので、反復解法は発散して使えない場合が多いので.)
0525crazy_u
03/01/31 19:09ID:BwxWQL3fここには,SuperLUの single CPU用,SMP用,分散メモリ用がありました.
0526おむこさん志望 ◆QtGqCwfDSA
03/02/01 00:34ID:Pkkg2qqHメルセンヌツイスター法っていう疑似乱数生成アルゴリズムがあるよ。
rand(3) とかで使われてる線形合同法よりはずっとよさげだけど。
http://www.math.keio.ac.jp/~matumoto/mt.html
( C だけじゃなくてJava や Fortran のコードもある )
http://www.soi.wide.ad.jp/class/20010000/slides/03/
参考 数学板のスレ
http://science.2ch.net/test/read.cgi/math/1025794170/
0527login:Penguin
03/02/01 03:45ID:8j0FsFHnそれっぽいライブラリが見つからないんですけど・・・
0528login:Penguin
03/02/01 03:53ID:8j0FsFHnすんません。意味わかりませんね。これじゃ。
言いたかったのは
fortranのオブジェクトファイルとcのライブラリファイルをiccでリンクさせたいんですが
そのような事はできますか?
ということです。
0529crazy_u
03/02/01 11:01ID:W/8HR9Dwできます.サブルーチン加工名とそのヘッダーファイルに気をつけてください.
例) subroutine abc( a ) (aはreal*8 a(1:*) とする.)がlibsub.aにコンパイルして入っている場合.
ヘッダーファイルは
void abc_( double *a );
とし,Cからは,
double a[100];
abc_( a );
ととして,参照ライブラリにlibsub.aを指定すれば良い.fortranでsubroutine abc が abc_ という名前に加工されることに注意してください.
(名前の加工の仕方をfortran側のコンパイルオプションで指定することもできたはずです.Cでは加工されない.)
アドレス渡しを行うので,Cから渡す変数の型とFortranで受ける変数の型が同じである必要はありません.(ここを利用して型をキャストする利用もありかな.)
まあ,試しにやって見ることです.細かい部分はやりながら,修正していくべし.
0530crazy_u
03/02/01 11:07ID:W/8HR9Dw同じライブラリに入れたいということでしたか?
単純に,arコマンドで入れてしまえば良いでしょう.
0531crazy_u
03/02/01 12:45ID:W/8HR9DwmainがCなら, LD=icc
mainがFortranなら, LD=ifc
0532login:Penguin
03/02/01 14:23ID:8j0FsFHn丁寧にありがとうございます。m(_ _)m
私の説明が言葉足らずで申し訳ないですが、もう少し初歩的な事をお聞きしたいんです。
今までgccでのlinkは出来ていたのですがiccを使うのが初めてでして。
fortranのmain と arで固めたCの lib***.aのファイルとをiccでリンクさせたいんです。
gccをlinkerにしていたときはlibg2c.aというライブラリを使っていたんですけど
iccにも同様なライブラリがあるんでしょうか?ということなんです
>531
なにもLDFLAGSで設定しなくてもlinkできるのでしょうか?
何も設定しないでやってみたんでが(srcはgccで使っていたのと同じ物)
cのライブラリを参照できないんです。
0533login:Penguin
03/02/01 15:00ID:Drz/L+OHCで書かれた、
http://sources.redhat.com/gsl/
というものもあります。メルセンヌツイスター法も含まれてます。
マニュアル
http://sources.redhat.com/gsl/ref/gsl-ref_toc.html
0534crazy_u
03/02/01 15:38ID:CQVkGRt0リンクしたい関数が有るかどうかは,iccのライブラリのマニュアルを見るか,
/opt/intel/compiler70/ia32/libにあるライブラリを片っ端から
ar -t なんとか.a や grep リンクしたい関数名 で調べたらどうですか.
どちらにしてもLDOPTIONSに指定してないとつかない場合が有る.
MAIN=Main
PATH1=.
FC=ifc
LD=ifc
LDOPTIONS= -L/usr/lib/gcc-lib/i386-redhat-linux/2.96 -lgc2
$(MAIN): $(MAIN).o /usr/lib/gcc-lib/i386-redhat-linux/2.96/libg2c.a
タブ $(LD) [email protected] $(LDOPTIONS) -o $(PATH1)/$@
みたいに./opt/intel/compiler70/ia32/libに有るライブラリも私は明示的にLDOPTIONSに指定してます.
(ifc6.0の時に,LD_LIBRARY_PATHに設定しているのにうまくつかなかったから)
Intelで用意しているライブラリやリンクオプションについてはマニュアルを読んでください.
Makefileの書き方は,GNU makeについて自分で調べてください.
私は,Cのライブラリである/lib/libpthread-0.9.so をメインがFortranでリンクしてます.
0535login:Penguin
03/02/01 23:54ID:MMls/KkVC compiler : icc (unknown version)
libc : unknown version
MEMORY INDEX : 4.588
INTEGER INDEX : 3.500
FLOATING-POINT INDEX: 7.375
C compiler : gcc version 2.95.3 20010315 (release)
libc : unknown version
MEMORY INDEX : 3.311
INTEGER INDEX : 3.330
FLOATING-POINT INDEX: 6.508
0536532
03/02/02 00:50ID:2IbS21LRどうもありがとうございましたm(_ _)m
もう少し色々と試してみます。
0537crazy_u
03/02/02 19:22ID:hawsmNOt念のために
Fortran側からCの関数を
call abcd( 引数 )
とすると, abcd_ という名前の関数をコールしていることになるので,abcdというCの関数を呼ぶ場合は,
Cで abcd_ という関数を作ってその中で,本当に呼びたい abcd を呼ぶようにしないと使えません.
オプションで加工名のつけ方を指定すれば解決できるのかも知れませんが,移植性を考えて私は標準でこのようにしてます.
0538514
03/02/05 15:57ID:rIMlmH0y>>526,533
情報どうもです。
行列演算のテスト用に乱数がほしいだけなので、
たぶんそんなに乱数の質は気にしなくても大丈夫だとは思います。
とりあえず、今日卒論の発表してきました。
このスレをみなかったらおいらの卒論はなかったよ。
どうもでした。
ま、卒論自体は
寒川さんの本の縮小再生産ってかんじだけどね。
0539login:Penguin
03/02/08 13:36ID:w9ImhrFrIntel's Premier Support Web Site.
For more details please point your browser to
https://premier.intel.com
NEW for product: Intel C++ Compiler, Linux LtdSup
FILES AVAILABLE FOR DOWNLOAD
Tar file containing the Intel(R) C++ Compiler 7.0 for Linux*
v7.0 Product Update. The package id is l_cc_pu_7.0.082.
ICC Build 20030129Z, ECC Build 20030129.
0540login:Penguin
03/02/11 20:50ID:4i3cK38F今はもっと簡単にインストールできます。
ifc も icc もFreeBSD用のversion6 のコンパイラのパッケージも
あるようですよ。今の最新版はVersion7です。
0541login:Penguin
03/02/16 03:13ID:kgJUQrNagccだと(ver 3.2, ver 2.9.6)だと通るのだけど、
icc 7.0.065だと
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
using namespace std;
struct sockaddr_in target;
target.sin_port = htons(PORT); // ← この行が
^
error: Unsupported feature: GNU statement expression in C++
error: expected a ")"
error: expected a ";"
とエラーを吐きます。
どうすれば回避できるのか、ご指導いただけないでしょうか?
0542541
03/02/16 18:03ID:kgJUQrNattp://sources.redhat.com/ml/bug-glibc/2002-11/msg00083.html
どうやらglibcのbugらしい。
Redhat 7.3までだと通るが、RedHat 8.0だとエラーが発生。
(上記のコードでは書き忘れていたが) #include <netinet/net.h>
の中で呼び出される byteswap.h の __bswap_16, __bswap_32の定義が間違っているらしい。
以下のコードは__GNUC__が定義されない場合、
つまりgcc以外のコンパイラを使用する際に使用される部分である。
/usr/include/bits/byteswap.hを
/* original (line 45-47)
# define __bswap_16(x) \
(__extension__ \
({ register unsigned short int __x = (x); __bswap_constant_16 (__x); }))
*/
# define __bswap_16(x) __bswap_constant_16 (x)
/* original (line 84-86)
# define __bswap_16(x) \
(__extension__ \
({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
*/
# define __bswap_32(x) __bswap_constant_32 (x)
と修正するとコンパイルが通る。
つーか、line84-86の__bswap_16 → __bswap_constant_32の間違いはひでーよ。
RedHat8.0のupdateはまだで、
RawHide版のglibc-develに置き換えるとこの問題は解決されるっぽい。
0543login:Penguin
03/02/17 23:43ID:KRtfXogi0544login:Penguin
03/02/20 04:24ID:NjiabX2T0545login:Penguin
03/02/25 01:08ID:uB5MBDWS0546login:Penguin
03/02/25 22:27ID:F5NmfAFaNEW for product: Intel(R) C++ Compiler, Linux LtdSup
FILES AVAILABLE FOR DOWNLOAD
Release notes for IntelC++ Compiler 7.0 for Linux.
File: l_cc_pu_7.0.086_RN.zip
File: l_cc_pu_7.0.086.tar
-------------------------------------------------------
NEW for product: Intel(R) Fortran Compiler for Linux*
FILES AVAILABLE FOR DOWNLOAD
Release notes for IntelFortran Compiler 7.0 for Linux.
File: l_fc_pu_7.0.087_RN.zip
File: l_fc_pu_7.0.087.tar
0547login:Penguin
03/02/26 19:19ID:MAjrYlXDbuy か free evalution しかないように見えるのですが…
0548547
03/02/26 23:39ID:MAjrYlXDttp://developer.intel.com/software/products/compilers/flin/noncom.htm
0549login:Penguin
03/03/02 23:20ID:LCrGqD3x0550login:Penguin
03/03/03 01:18ID:oI3oBWnP昔、MSXで紹介されてたレイトレーシングのプログラムが
C++で復活してました。
本来Windows用なのですが他マシンでも使えるようにソースが公開されてます。
GCCの事例はあるのですがIntelコンパイラで試してみてください。
http://www5e.biglobe.ne.jp/~liquor/raytrace/
ここの掲示板で語られています。Itaniumのことも報告されています。
0551login:Penguin
03/03/03 01:45ID:yePrqlHMを入れた後に
l_fc_p_7.0.064.tar
を入れようとすると、
[root@hoge lfc7]# rpm -i --test intel-ifc7-7.0-64.i386.rpm
ファイル /opt/intel/compiler70/ia32/bin/profmerge (intel-ifc7-7.0-64のインストールから) は, パッケージ intel-icc7-7.0-65 からのファイルと競合しています
ファイル /opt/intel/compiler70/ia32/bin/proforder (intel-ifc7-7.0-64のインストールから) は, パッケージ intel-icc7-7.0-65 からのファイルと競合しています
...
と言われるのだが、無理矢理つっこんで大丈夫ですかね?
名前がかぶってるだけじゃなくて実際ファイルの内容も違うみたい。
0552crazy_u
03/03/03 22:22ID:kyfkjG7iつっこんじゃ駄目!!
新l_cc_*と旧l_fc_*ではライブラリが新旧になって競合してしまう.日付を良く確認すること.
l_cc_*とl_fc_*はいつも同時に公開されて,大抵は,末尾の数字はl_ccの方が1〜2少ないはず.
そんな古いパッケージを入れずに,l_cc_pu_7.0.086.tarとl_fc_pu_7.0.087.tarをダウンロードして入れましょう.
0553login:Penguin
03/03/04 18:25ID:b9XWyKWEregistering のメールに書いてあるアドレスから行けるftp サーバー
[ftp://download.intel.com]
探してみたけど無かった。
intel の製品を買って登録しないとだめとか?
0554crazy_u
03/03/04 19:37ID:B34pJ2VL460の書込み読んでください.
0555553
03/03/04 23:24ID:b9XWyKWEなんだか申し訳ない感じ。。
license が付いてきたメールをちゃんと読んでなかったです。
0556login:Penguin
03/03/05 07:08ID:88af8vjx0557login:Penguin
03/03/05 07:19ID:88af8vjx↑ここで登録したらRegistration Centerに逝っちゃうんですけど
ttps://premier.intel.comにはどうやってloginしたら・・・m(_~_)m土下座
0558533
03/03/05 10:09ID:SL0wvUkuttp://www.intel.co.jp/jp/developer/software/products/global/eval.htm
↓
icc(ifc) for linux 非商用バージョン (サポート対象外) (英語)
↓
Download をクリック.
↓
license を貰うためにいろいろ書く.
license がメールで送られてくる.
(そのメールにnon-commercial registration number も付いている.)
registration center でNew Users の登録
↓
メールで初期パスワードが送られてくる.
↓
メールの指示に従いパスワード設定等をする.
↓
icc(ifc) をregister
↓
ttps://premier.intel.com
↓
最新版を取ってきてインストール
# 注意
register せずにダウンロードできる
l_cc_p_7.0.065.tar と l_fc_p_7.0.064.tar はrpm のバージョンによっては
共存できないことがあります.(release の日付は同じですが.)
rpm-3 はだめ,とか.詳しくはintel のページにあります.
rpm2cpio を使えばできるかもしれないけど新しいのを取ってきたほうがよさげ.
0559557
03/03/05 17:22ID:bhMk2Z2E(⌒0⌒)/わかりやすい説明アリガト〜、いまdownload中です。
良スレを汚しちゃってカナーリ(/ω\)ハズカスィ・・・
0560ot22
03/03/06 18:39ID:wmuEIwKz> intel のコンパイラのソースコード公開希望。
昔話です. gcc-1.5(とってもあやしい) あたりにIntelからPentium用のgccへの
パッチが流れたことがありましたけど, もうそれはないでしょうね.
以下のようなURLもありました。 gcc-3.4まで待つしかないですかね?
http://people.redhat.com/dnovillo/spec2000/gcc/global-run-ratio.html
0561login:Penguin
03/03/08 01:48ID:/o6CinrAicc が圧倒的に高性能ですなぁ。
0562login:Penguin
03/03/13 22:45ID:MRYC6k3z0563ot22
03/03/16 19:46ID:5ASs5Vh9増えるんでしょうかね? Instruction Schedulingが変わるだろうから…
キャッシュが大きくなったのが効くのかどうか? はたまた, キャッシュを
意識したコーディングが必要になるのか? 頭は痛くなるばかりですね.
0564crazy_u
03/03/16 22:11ID:dDd8YAG7ではないでしょうか?
それよりも,Itanium2系でdual Deerfieldを個人で賄える金額の計算機として期待してます(今年は1GHzで,かつ,L3 cacheが少ないので見送り).
来年出荷予定のhpのmx2 chipset搭載のドーターボード(32MBのon-board L4 cache)がとても魅力的です.
(今,考えているアルゴリズムが活きそうなので)
0565login:Penguin
03/03/17 06:50ID:oyPke+qmgcc通らない香具師はコイツでコンパイルできる
0566login:Penguin
03/03/21 15:52ID:5a5UYyOI0567login:Penguin
03/03/23 05:28ID:GzEC9Wiv-rw-r--r-- 1 user user 2882408192 3月 23 03:56 file1
と2GB越えのファイルができるが、他のプログラムでアクセスすると
-rw-r--r-- 1 user user 0 3月 23 03:58 file1
一瞬にサイズが0となり、中身が無くなる。RedHat-7.2だけど
2GB越えはまだまだ無理なのか。
0568login:Penguin
03/03/23 08:22ID:tIPREeC7関係ないが「3月 23」カコワルイヨ。なぜに「3月 23日」で表示できない?
0569login:Penguin
03/03/23 14:00ID:hZrrGmyrLarge File Support in Linux
にどのくらい対応してくれているか調べるのが吉。
ttp://www.suse.de/~aj/linux_lfs.html
0570546
03/03/27 20:53ID:Hd+9ec1b…ってもうRedHat9が出そうなんだが。
-------------------------------------------------------
NEW for product: Intel(R) C++ Compiler, Linux LtdSup
FILES AVAILABLE FOR DOWNLOAD
Tar file containing the Intel(R) C++ Compiler 7.1 for Linux* Product.
The package id is l_cc_p_7.1.006.
ICC Build 20030307, ECC build 20030307.
An important new feature of this release is support
for glibc 2.2.93 (Red Hat* 8.0).
File: l_cc_p_7.1.006.tar
-------------------------------------------------------
NEW for product: Intel(R) Fortran Compiler for Linux*
FILES AVAILABLE FOR DOWNLOAD
Tar file containing the Intel(R) Fortran Compiler 7.1 for Linux* Product.
The package id is l_fc_p_7.1.008.
IFC Build 20030307, EFC build 20030307.
An important new feature of this release is support
for glibc 2.2.93 (Red Hat* 8.0).
File: l_fc_p_7.1.008.tar
0571login:Penguin
03/04/02 06:25ID:G+RkFIg+0572login:Penguin
03/04/05 13:38ID:hkP3eLct0573546
03/04/09 19:17ID:6L2jzawi-------------------------------------------------------
NEW for product: Intel(R) C++ Compiler, Linux LtdSup
FILES AVAILABLE FOR DOWNLOAD
Tar file containing the Intel(R) C++ Compiler 7.1
for Linux* Product Update. The package id is l_cc_pu_7.1.009.
ICC Build 20030327, ECC build 20030327.
File: l_cc_pu_7.1.009.tar
-------------------------------------------------------
NEW for product: Intel(R) Fortran Compiler for Linux*
FILES AVAILABLE FOR DOWNLOAD
Tar file containing the Intel(R) Fortran Compiler 7.1
for Linux* Product Update. The package id is l_fc_pu_7.1.011.
IFC Build 20030327, EFC build 20030327
File: l_fc_pu_7.1.011.tar
0574Product Update
03/04/11 13:13ID:L8501bRnIntel(R) Fortran Compiler, Linux LtdSup : l_fc_pu_7.1.013.tar
Intel(R) C++ Compiler, Linux LtdSup : l_cc_pu_7.1.011.tar
0575login:Penguin
03/04/11 16:47ID:FwaJM4lj0576login:Penguin
03/04/11 17:29ID:UMPCjAWOどうしたらいいのですか?
0577login:Penguin
03/04/11 20:30ID:SCrC2sbbカーネルソースとiccを用意すればOKです。
0579login:Penguin
03/04/11 21:47ID:iBPAGJjQモジュール関連で失敗する。やめとけ。
0580login:Penguin
03/04/12 03:49ID:Er+MX+0v$ icc -V
Intel(R) C++ Compiler for 32-bit applications, Version 7.1 Build 20030307Z
Copyright (C) 1985-2003 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
GNU ld version 2.13.90.0.10 20021010 Debian GNU/Linux
Supported emulations:
elf_i386
i386linux
/usr/lib/crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
なんかundefinedとか出るけど使えるみたいだ。
カーネルは init/main.cの
* if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 91)
* error Sorry, your GCC is too old. It builds incorrect kernels.
* endif
にひっかかって沈没する。コメントにしてもasm関連でこけるみたいだ。
qtには mkspec/linux-iccというディレクトリがあって
iccを使ってコンパイルされることを想定してるみたいなので、qt/kdeはこれでコンパイルできるかも。
できるかなーできるかなー
0581login:Penguin
03/04/12 18:25ID:Er+MX+0v+++ /usr/local/intel/compiler70/ia32/substitute_headers/netinet/in.h 2003-04-12 18:09:
13.000000000 +0900
@@ -16,6 +16,26 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+
+// htons, ntohs, htonl, and ntohl on Linux platforms are implemented as a "statement exp
ression", which is a gcc extension.
+
+// In order to use these in icc, put the following after the in.h #include:
+
+#if defined(__ICC)
+// icc doesn't like GNU __extension__ functions
+// this has to happen AFTER <netinet/in.h> !!
0582login:Penguin
03/04/12 18:27ID:Er+MX+0v+#undef ntohs
+#undef htonl
+#undef ntohl
+#define htons(x) __bswap_constant_16(x)
+#define ntohs(x) __bswap_constant_16(x)
+#define htonl(x) __bswap_constant_32(x)
+#define ntohl(x) __bswap_constant_32(x)
+#endif // defined(_ICC)
+
+// Hope this helps!
+
#ifndef _NETINET_IN_H
#define _NETINET_IN_H 1
~~~~
http://intel.forums.liveworld.com/thread.jsp?forum=160&thread=5380
0583login:Penguin
03/04/12 19:47ID:Er+MX+0vicpc: Command line warning: '-marchi686' enables '-tpp6'
icpc -fno-exceptions -o tagreader-with-features
.obj/release-shared-mt/tagreader.o
.obj/release-shared-mt/structureparser.o
-Qoption,ld,-rpath,/home/ore/data/icc/qt-x11-free-3.1.2/lib
-L/home/ore/data/icc/qt-x11-free-3.1.2/lib -L/usr/X11R6/lib
-L/usr/X11R6/lib -lqt-mt -lpng -lz -lGLU -lGL -lXmu -lXrender
-lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE
-ldl -lpthread
icpc: Command line warning: ignoring unknown option '-fno-exceptions'
make[3]: Leaving directory
`/home/ore/data/icc/qt-x11-free-3.1.2/examples/xml/tagreader-with-features'
make[2]: Leaving directory
`/home/ore/data/icc/qt-x11-free-3.1.2/examples'
The Qt library is now built in ./lib
The Qt examples are built in the directories in ./examples
The Qt tutorials are built in the directories in ./tutorial
Enjoy! - the Trolltech team
make[1]: Leaving directory `/home/ore/data/icc/qt-x11-free-3.1.2'
0584546
03/04/13 21:51ID:TLsIQjQRなるほど、iccはsubstitute_headersディレクトリを
先に読むんですね。
あとgccに_GNUC_っていうモノ(なんて呼ぶのかな?)があるように、
iccには_ICCっていうモノが定義されていると。
勉強になるっす。
0585ずっと悩んでるんですが
03/04/14 22:15ID:j6EMRXw4ttps://premier.intel.com にアクセスすると、
403 Forbidden: Access Denied
が出るのはなぜでしょう?
registration center にはログイン出来ます。
バージョンアップ通知のメールがむなしい...
0586login:Penguin
03/04/15 00:40ID:HzsTJWBwconfigure:7616: checking whether the icc linker (icpc -shared) supports shared libraries
configure:8401: result: no
configure:9613: checking whether to build shared libraries
configure:9634: result: no
0587crazy_u
03/04/15 01:57ID:OJCe6Mqyサーバーが混んでいるらしくてそうなることがありますよ.
別の日にまたアクセスしてみたらどうですか.
0588山崎渉
03/04/17 11:52ID:KRn99/cy0589ずっと悩んでるんですが
03/04/17 13:29ID:Wk5Y9jA1ども。それがこの半年間ずっとなんですよ。
今まで一度も成功したことがないんです。
色々と環境を変えて試してるんですけど...
0590login:Penguin
03/04/17 15:50ID:QgET5h2K0591login:Penguin
03/04/17 17:43ID:/aq2zRyOコピペ
Q : アドレスがhttpsから始まるページを見られません。
A : SSLの使用がブラウザの設定上許可されていない場合は、
閲覧することが出来ません。 ブラウザソフトの設定で、
SSLの使用を許可する設定を行って下さい。
またプロキシサーバーが設定されていると、
httpsから始まるセキュリティをかけたホームページが
閲覧できない可能性があります。
httpsから始まるURLを閲覧される場合、
プロキシサーバーの設定を解除して下さい。
0592546
03/04/17 22:02ID:jm+VbmCX半年も悩んでいるなんて…
イソテルに(゚Д゚)ゴルァメール出したらどうでしょう。
私も同じような経験があり、
メールしたら、サクッと対応してくれました。
0593ずっと悩んでるんですが
03/04/17 22:50ID:Wk5Y9jA1ども。SSL は registration center でも使われてますよね。
そちらにはアクセス出来ます。
cookie, java も許可してるんですけど。
0594login:Penguin
03/04/18 00:00ID:njmNpDb9すまんコ
ぶっちゃけOS、ブラウザ、ISP、火壁etc..は何でつか?
いまM$窓でも試してみたけど無問題だたーョ
skillないのに でしゃばってゴメンyo <(_ _)>
ttps://cyan.intel.com/Rialto128/i18nEngine_quad.asp?page=Identify&referer=https://premier.intel.com/
最後にこれ試してみてケレ
0595ずっと悩んでるんですが
03/04/18 10:47ID:zFDcXa/EIntel にメール出してアクセス出来るようにしてもらいました。
もっと早く出しときゃよかった...
結構対応が早くてびっくりしました。
みなさん、ありがとうございました。
0596login:Penguin
03/04/18 14:21ID:B0a+r35oGood job !!
0597546
03/04/18 22:01ID:80K5uDQe良かったですね。
イソテルは対応早いよね。
今気になると言えば、
ttps://premier.intel.comが w3mだとログインできないなぁ。
こっちもゴルァメールしてみようかな。(w
0598山崎渉
03/04/20 05:53ID:X64WTq1+( ^^ )< ぬるぽ(^^)
0599堕天使
03/04/20 19:51ID:b5ZjwhaX0600login:Penguin
03/04/22 09:50ID:C1rUY+Awttp://www.ep.sci.hokudai.ac.jp/~sugiyama/cc-env/numeric/icc.html
ttp://www.gfd-dennou.org/arch/cc-env/ifc/
みたくalien使ってるんでしょうか。
私debianの日が浅いんで的外れなことを言っているかもわからんですが、
素直にrpm --initdbの後でrpmコマンドでインストールしたら何かマズイんですか?
# apt が使いたいけどVineはglibc2.2.4だし。。。
それとmkl6.0は五月上旬リリース予定だそうです。mkl5.2sp1にあったlapackまわりの
不具合が解消されているちゅう話です
0601crazy_u
03/04/22 21:49ID:KDlncQysデータデザインが気に食わないので,そこは設計し直して,
中身はFortran90化(object志向の構成に再構成)して,
研究者間で共通で使えるコンパクトなプラットホームを構築しようと思っています.
Abaquasベースなので大変形FEMが対象となります.(私は不安定問題や分岐問題がターゲット)
数値計算ライブラリ(連立方程式の高速解法(主に直接法)や大次元の部分固有値解析や各種ツール)の構築を含みます.
連立方程式の解法はバークレーのSuperLUをブロック計算法に改良してP4とItanium2に最適化するつもりです.
大次元の部分固有値解析はSubSpace法を考えています.(Lanczos法は再直交化のタイミングとかの調整が面倒)
(業務で構築したものを持ち出すと公開できない(訴えられる)ので新規に構築します)
(プライベートな時間で行うので,それなりの開発期間はかかりますが)
割とコンパクトでfortranで書かれているopen sourceのFEMコードで
もっとこういうのが良いと言う情報をお持ちの方がいらっしゃいましたら
情報をいただけませんでしょうか?
(ADVENTUREも検討しましたが,研究者用のプラットホームとしてはもう少しコンパクトな方がベターと考えました.)
0602login:Penguin
03/04/26 14:11ID:h76tuGQgとりあえずシミュレーション板は見ましたか?
http://science.2ch.net/test/read.cgi/sim/1037265506/27
にリンク集があったりするので。
あと地球シミュレータのGeoFEMとか?
0603crazy_u
03/04/26 18:56ID:MiNXCyE+情報ありがとうございます.
とりあえずそちらの板を見てみます.
0604login:Penguin
03/04/29 19:54ID:FjBPBJSI個人的な意見としては、もういい加減fortran見限ってほしい。
f90使ってまでobject化しなくてもいいじゃん……
(f90が中途半端にマイナーメジャー化するのが嫌かも。)
0605login:Penguin
03/04/30 03:02ID:3+jGzA7GCをベースにしているので、数値計算にはいろいろと不都合な点が多いし、
最適化が言語仕様上できにくいし、ヘッダーをインクルードするので、
プラットホーム独立性が低くて移植が手間だし、ポインターを多用する
コードは、効率がトータルでよいとはいえない。
0606login:Penguin
03/04/30 16:16ID:EopZ8WMa0607login:Penguin
03/04/30 21:11ID:rdWVmHEPなんか「fortran オブジェクト指向」とかググっても有益な情報がヒットしません。
ウチの研究室では未だに77で・・・
何かいいサイトor本があったら教えて下さいm(_ _)m
0608login:Penguin
03/04/30 23:38ID:xoh+mpFh>C++はあまりにもぐちゃぐちゃな言語仕様で、コードの安全性が危ういし、
言語仕様がぐちゃぐちゃなのは周知の事実だけど、
コードの安全性が危うい、までは言えないかと。
>Cをベースにしているので、数値計算にはいろいろと不都合な点が多いし、
たとえば、多次元配列を(メモリ上連続に)切るのとか若干面倒だねえ。
でも、どれもカバーできん領域の問題じゃないでしょ。
>最適化が言語仕様上できにくいし、ヘッダーをインクルードするので、
>プラットホーム独立性が低くて移植が手間だし、ポインターを多用する
fortranだって変わらんやん。
プラットホーム変えれば、両方とも若干の修正が必要とされるし。
>607
組もうと思えば、普通にf90で組めると思うよ。
海外の数値計算のライブラリとかf90で組まれているのもいくつかあるし。
ただ、f77からオブジェクト指向化したいからf90ってなんか間違っている気がする。
f90使いたい人って、いまさらC++を学習したくない人ばっかしやん。
C++の言語仕様を覚えるよりも、
オブジェクト指向を体得する方が敷居が高いと思う。
0609607
03/05/01 00:57ID:mR+IhfD+正直C++使いなんで、素直にC++使いたいところなのですが、そーも行かない事
情があるのでせめて f90 でクーデターを、と思った次第です。
しっかし
ttp://www.cs.rpi.edu/~szymansk/OOF90/F90_Objects.html
の
VII. Dynamic Dispatching
とか読んでも頭痛くなって来ますな…。ホントに出来なくはないって感じ…
スレ違いスマソ。
0610crazy_u
03/05/02 14:24ID:La9MEaTuやや年配の方たちにはfortranオンリーの人も多く,
その人達が現役で活躍できる期間の貴重な時間を(研究の本質ではない)C++の学習に使わせたくないという配慮です.
(私はf90,C/C++とも使えます.念のため.)
SMP用にする場合はどうしてもfortranとC/C++の混合になるので,いっそのこと全部C/C++でとは思いますが...
0611login:Penguin
03/05/02 23:43ID:qE4h7QxjC++ ではあまり g++ 2.95.3 -O3 に比べてあまり有意なスピード差が
Intel でも AMD でも得られないんですが、そんな経験している人います?
C only だと dynamic allocation あまり使ってない場合は 3 割程度
速くなったこともあるのですが、使っている場合はあまり差が無い
場合もあるんですが…
0612login:Penguin
03/05/02 23:44ID:fkI4zisFついに我の念願のサイト『Japan@ちゃんねる』が出来ました!!
この『にちゃんねる』を夢見て、頑張ってCGI勉強から取り組み、0chスプリクトで作成してまいりました!!
是非、足を運んでみてはどうでしょうか?
http://student55.hp.infoseek.co.jp/index.html です。
改良点・ご批判・ご感想をお願いいたします。
ブラクラではありません。列記としたインフォシークです。
0613login:Penguin
03/05/02 23:51ID:yqBl63uC0614名無しさん@Emacs
03/05/03 00:50ID:f7Aih6s70615login:Penguin
03/05/03 00:54ID:Z7Ada4/Xなにか?
0616login:Penguin
03/05/03 03:50ID:L3RpXKqLコンパイラオプションはちゃんと設定した?
例) Pentium4用
g++ -O3 -ffast-math -funroll-loops -mcpu=i686
icc -O3 -tpp7 -xW
あと、言うまでもないが、コードの下流部分は、
最適化を意識しながらプログラミングした方がいいかも。
(知っているかもしれないが)リンク先は
最適化かける場合の参考になりそうな文献。
# Techniques for Scientific C++
ttp://www.cs.indiana.edu/ftp/techreports/TR542.html
0617login:Penguin
03/05/03 09:17ID:OqdU7aeRFortran で 10-20万行位の数値計算プログラムを見たら
げろってなるよ。OO 万歳とはいわないけど...
0618名無しさん@お腹いっぱい。
03/05/03 12:29ID:NkO+t9NSオペレータ再定義が貧弱。数値計算ではこれ重要。
クラス、テンプレートがない。コード再利用、拡張しやすいライブラリ書くのが困難。
必要ないと思う人はFortran90/95/2000使えばいいと思うが。
0619名無しさん@Emacs
03/05/03 12:37ID:5Ul4S/7k0620名無しさん@お腹いっぱい。
03/05/03 12:49ID:NkO+t9NS"関係ない"は言い過ぎです。
sytax sugarでmulti dispatchなmethodですから。
0621crazy_u
03/05/03 13:13ID:qW0c/rfL私が一人で構築・維持・アップグレードしているのは
FEMシステム3つと数値計算ライブラリ1つですが,夫々,
22万行,24万行,27万行(もうすぐ引退),55万行です.
巨大なごみプロにならないようなメンテナンスをしていくためにも
オブジェクト指向化できる部分はしていくのがベターと思っています.
ここはIntel Compilerの板なのでそれ関連を(今の話の流れとは関係なく)無理やり言うと
compileが速いのと,
某社のcompilerの倍の性能のbinaryができる(今は改善されているかも知れませんが)
ので助かってます.
0622動画直リン
03/05/03 13:13ID:7+WXd9WD0623名無しさん@Emacs
03/05/03 20:17ID:qzDz4NW8ifc 動かない!!!
要ダウングレードですか.....
0624login:Penguin
03/05/03 20:33ID:O5rdnklN/:::::::::::::::::::::::::::::ヽ
/::::::::::::ハ::::;:::::::::::::::::゙:,
,'::::;i:/レ' ヽiヽ:::::::::::::::::!
l::::|'r,:=; ,:=;、';i:::::::::::::! / パーツも本体もここで選んだらええやん。
.,r'‐;|.l !::::i i:::::i l |::::::::::::| < PCショップ一覧まとめたで。
,'.三ミi 'ー'゙ 'ー'゙ |:::::::::::::| \ http://777e.net/goodshop/pc/
| 'ri''ヾ:、 r‐┐ ,.|::::::::::::::|
l |i,__!:>'=''r‐''".i:::::r、:::::|
! l,|: |" ゙、'、 ;:/::;/ ヽ:|
l! |大" `''"/'"' ヽ
! | ヽ| 、i ,. イ'
0625login:Penguin
03/05/03 23:16ID:0wgreF577.2 7.3 8.0 9.0ときたけれど いまでも
なんもせんでもうごいてるぞぉー
0626602
03/05/04 02:19ID:gkG2Ia/9私が研究室でいじくっているものは都合によりg77でコンパイルできないと
いけないので、OO化は敷居が高いです。
(allocateが使えない状況で省メモリが最優先(苦))
FEM3つ目の引退の理由が気になります。前2つのどちらかに機能移植が
完了した、とかでしょうか。
やっぱりシミュ板にスレ立てたほうが。
0627login:Penguin
03/05/04 11:49ID:USuEh2C7ttp://pc2.2ch.net/test/read.cgi/tech/1003214738/
0628crazy_u
03/05/04 12:21ID:aIbVqLoKこちらでは,赤帽9で動いてます.
どう動かないのでしょうか?
どういうメッセージが出ますか?
link時に「○○○がありません」とでるなら,
/opt/intel/compiler70/ia32/libのなかの○○○が入っているライブラリを探して
明示的につけてやると解決するかも知れないよ.
0629crazy_u
03/05/04 12:36ID:aIbVqLoKFEM3つ目の引退は他の一つに機能移植が完了したからです.(f77の旧コード->f90化と新要素と新機能追加)
f90にしているのは,私が,ある日,突然,事故や病気で死亡しても,
fortranであれば「維持」位は周りの人員でできるだろうという配慮です.
(周りの人はC++を勉強もしたくないようです.)
>やっぱりシミュ板にスレ立てたほうが。
601でfreeのFEMについての情報を求めたところ,
こんなにintel compilerとは別の話題で伸びてしまいました.
以後,情報を求める場合は関連する板があるかよく調べてからにします.
0630login:Penguin
03/05/04 17:54ID:pq4wQE4zシビアっすな。たぶんCNETの記事で読んだ気がするのだけど、
きっちり文書を残し、引き継ぎを考えてくれる優秀な人間ほどクビになりやすく、
意固地にノウハウを秘匿している人間ほどクビになりにくいらしい。
まあ企業としても、近視眼的に将来設計すると当然そうなるでしょうね。
>以後,情報を求める場合は関連する板があるかよく調べてからにします.
個人的には、面白い話題だったので、気にしてないですよ。
というか、私も別スレに強制ソカーン?
0631611
03/05/05 14:58ID:jA0+5TWJ>>614 数値コードといっても、私の場合 flexibility が重要なんで、
C++ の方が楽です。結局いくら速く走るか、より速く正しくコード
する方が大切なんで。(C++ がそう好きなわけでもないですが…)
あとSTLは重宝しています。
>>616
ヒントありがとうございます。徹底的には調べてないのですが、
tpp7 とか pentium4 とか指定しても( -O3 と一緒に)あまり
私の場合変わりませんでした。有意な差がないか、あっても数%。
何かおかしいことしたのかしらん。
ある程度は最適化を考慮してコードしているつもりです。(といっても
間違いをしにくいコード、見やすいコードを最優先していますが)
しかし、これは gcc, icc うまく行ってもともに速くなると思うので
どっちが相対的に利を得るかはわからないと思います。
0632login:Penguin
03/05/05 18:18ID:H4Ye7vfXでしょーか?iccで動く良いライブラリってどんなん?
# ちゅーかiccで動くとか言う以前に良く知らんわけだが。
0633login:Penguin
03/05/05 21:40ID:h9ijJ1I7必ずしもコンパイラに依存した話ではないが、
lapack は使ってる。netlib は一般的に便利。
0634623
03/05/05 22:25ID:J+wEl3Uhマジっすか。
__ctype_b がどうとか言うエラーがでて止まります。(今手元に環境がないのではっきりいえませんが)
で、intel のユーザーフォーラムに行ってみるとRH9のglibcでは動かないのでglibcはRH8に落とすように
とかアドバイスされてました。
0635crazy_u
03/05/06 00:56ID:zALrHwOz今 /opt/intel/compiler70/ia32/libでgrep _ctype_b * としてみた.
下のライブラリのどれかに有りそうですよ.
(私はiccも入れているのでifcだけだとない場合もあるかも.....)
libCEPCF90.a,libCEPCF90.so.3,
libIEPCF90.a,libIEPCF90.so.3,
libPEPCF90.a,libPEPCF90.so.3,
libcprts.a,libcprts.so.3,
libcxa.a,libcxa.so.3
「_ctype_bから呼んでいる○○○がみつからない」なら同様にして探してみてはどうでしょうか.
0636login:Penguin
03/05/09 09:36ID:3nuHlbolVTuneを使ってみたら?
Linux版もあるし...
0637login:Penguin
03/05/09 21:02ID:Iw/mseMc0638動画直リン
03/05/09 21:13ID:TPu648o80639login:Penguin
03/05/15 18:22ID:Fcovmt4N0640login:Penguin
03/05/15 22:14ID:pqhnqBLS0641login:Penguin
03/05/20 19:41ID:PT3GBpGT0642山崎渉
03/05/22 01:51ID:VfjbtMwi0643login:Penguin
03/05/22 05:35ID:4+kUNQ7J0644login:Penguin
03/05/24 20:42ID:ZoQ0LIhO0645login:Penguin
03/05/24 22:33ID:ExM2/19T0646login:Penguin
03/05/27 00:41ID:w7lpIAps0647山崎渉
03/05/28 16:43ID:3t6i6zxRピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0648login:Penguin
03/05/29 08:42ID:ekZSounW0649login:Penguin
03/05/29 09:03ID:7Azvj9Uepentium3では倍精度変数のベクトル化は出来ないんですか?
0650login:Penguin
03/05/29 09:49ID:JNnRDsO70651login:Penguin
03/05/29 10:45ID:un8ncENh0652login:Penguin
03/05/29 11:10ID:7Azvj9Ue0653bloom
03/05/29 11:13ID:pdJrRzE30654login:Penguin
03/05/31 15:18ID:ILAzHcFe出来ません。そこがSSEとSSE2の違いです。
0655login:Penguin
03/05/31 16:22ID:+9tncjk0回答有難うございます。
ついでに、このような情報が載っているサイト等
教えて頂けないでしょうか?
0656login:Penguin
03/05/31 19:06ID:hGWk0uM8http://www.google.com/
0657654
03/06/01 11:53ID:6By+cE3xdeveloper.intel.comにいろいろある。例えば、
http://developer.intel.com/software/products/compilers/flin/docs/manuals.htm
0658login:Penguin
03/06/02 23:24ID:bhT8EpXU0659login:Penguin
03/06/14 19:38ID:gyi/XUl+出てるね。
新しくDFTIっていうのが加わってるがスピードのほどは?
0660login:Penguin
03/06/19 18:54ID:6G2kRFjD出来が今ひとつだ。
最近こんなの↓あるの知ったヨ。
GSL - The GNU Scientific Library
http://sources.redhat.com/gsl/
icc -O3 -tpp7 -xW でもコンパイルは出来た、
が速くなるのかは知らん…
0662login:Penguin
03/06/21 01:19ID:b/MChSwnうまくインストールできない。。
0663login:Penguin
03/06/22 20:04ID:fT1pon5Wsegmentation faultになる…わけわからん
0664login:Penguin
03/06/23 10:58ID:oeTTCU3d0665login:Penguin
03/07/01 00:41ID:xLzamEeUで,8.0はどんなもんなのか?
まだインストールできないんなら,俺がやってやるからクレ!
0666crazy_u
03/07/01 01:13ID:ucIeuOlkうちは赤帽9.0で問題なくインストールできたよ。(まだ使ってみてないけど)
どういうふうにうまくいかないか書いてみたら分かる人がいるかもしれないよ。
>>665
ベータ版はここで登録すればライセンスが送られてきてダウンロードできる
ttp://www.intel.com/software/products/compilers/beta/welcome.htm
0667login:Penguin
03/07/01 01:41ID:9GnTJF5hhttp://www.k-514.com/sample/sample.html
0668login:Penguin
03/07/02 01:59ID:VujfXoME0669crazy_u
03/07/04 20:01ID:pYjIxnBh1. -I オプションが効かない。
2. -implicitnone オプションがあるとセグメントエラーでとまる.
(-uと等価で,-uはデフォルトでonなので-implicitnoneは消した)
「1」は困った.
icc8.0betaは修正パッチがあてられない。
0670login:Penguin
03/07/04 20:48ID:oB31e1rv報告があった.けっこう強烈.
0671login:Penguin
03/07/05 00:39ID:ZKnxbtmw0672login:Penguin
03/07/08 00:36ID:DtGnB79X0673login:Penguin
03/07/08 00:40ID:uaa14KHPhttp://developer.intel.com/software/products/compilers/clin/noncom.htm
の下の"continue"をクリックすればいいんだよね?
ぜんぜんつながらんでtime outしてしまいます。
なんか手順間違ってるんですか?
0674login:Penguin
03/07/09 00:09ID:loVu+OLqこれは実際にはダウンロードしなければならないサイズは減ったかもしれない
が、実際にパッチを適用したり、ヴァージョンを管理したりする手間というか
人間側の心理的手間は、絶対にむしろ大きくなったと思う。
0675n
03/07/09 00:21ID:yzdABmxi☆見て見て!!
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0676login:Penguin
03/07/09 00:42ID:ZigCc05iというレポートがあった.
ちなみにカーネルをiccで握っても効果は無いらしい.
0677_
03/07/09 00:43ID:RRaEUYou0678login:Penguin
03/07/09 16:54ID:hR7XXacg> ちなみにカーネルをiccで握っても効果は無いらしい.
Why?
0679_
03/07/09 16:55ID:xW/HCJFM0680とも
03/07/09 17:13ID:86ymNsn+http://www1.free-city.net/home/s-rf9/page004.html
0681x
03/07/09 18:03ID:TL5iCd9+☆見て見て!!
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0682login:Penguin
03/07/10 00:40ID:+aTXKZa/0683login:Penguin
03/07/14 02:40ID:5XjH4O4S0684山崎 渉
03/07/15 11:17ID:2JhhXBQM__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0685login:Penguin
03/07/15 12:07ID:Fo16Kpwc0686login:Penguin
03/07/16 07:06ID:2DXMWT9D能率がよくならないかな?
0687login:Penguin
03/07/16 13:26ID:KUYpk/1Rなるよ。
手間を考えるとペイしないような気がするけど。
つーか、それだけのためにCPU使うのはどうよと思うが。
0688login:Penguin
03/07/16 22:23ID:JT1j323jiccって積極的にMMXとかSSEの命令使うんじゃない?
バッファコピーとか最適化してるのかな…誰か実証イボンヌ
0689login:Penguin
03/07/20 22:33ID:mKHQx37j0690login:Penguin
03/07/24 11:04ID:nNyOO5nT0691login:Penguin
03/07/27 11:58ID:Aq2rr+SO0692ぼるじょあ ◆yBEncckFOU
03/08/02 05:09ID:GfRe8vK7ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0693login:Penguin
03/08/02 10:35ID:2rmp9gin0694login:Penguin
03/08/02 16:06ID:HVnj553MIntel C++ Compiler による Linux kernel build と性能評価
YLUG kernel 読書会での発表資料 (icclinux.pdf)
Linux 2.4.20 用 icc build パッチ (2003/06/30版)
Linux 2.4.21 用 icc build パッチ (2003/07/01版)
Linux 2.5.73 用 "暫定版" icc build パッチ (2003/07/03版)
http://www.suri.co.jp/~ohkubo-k/linux/
"発表資料"によると、ファイル作成性能に関しては性能が向上するらしい。
しかし、その他の動作は安定しないらしい。
postgresqlをiccでコンパイルすると、大幅に性能がアップするらしい。
0695login:Penguin
03/08/02 23:04ID:yzUthQHdifcは正常に動かなかった.(コンパイラの内部エラーでストップ)
0696login:Penguin
03/08/03 16:33ID:9jMM4mtaifcは正常に動かなかった.(コンパイラの内部エラーでストップ)
正式リリース時には使えるようになるかな?
0697login:Penguin
03/08/03 17:04ID:M4hhWC14それ昨日のlinux seminarでやった奴でしょ?
0698GET! DVD
03/08/03 17:23ID:KSrwZbRY★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安! スピード発送! 商品豊富!
★☆ http://www.get-dvd.com
☆★ 激安DVDショップ 「GETDVDドットコム」
★☆ http://www.get-dvd.com
☆★ 今すぐアクセス Let’s Go! 急げ!
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0699login:Penguin
03/08/03 18:04ID:2rvL/V8H.
0700login:Penguin
03/08/03 19:21ID:LnwLtAl4iccで"libなんとか.so"をつくることができませんでしたが、
本日、libtoolのCVS版を入れると問題が解決しました。
$ libtool --version
ltmain.sh (GNU libtool) 1.5.0a (1.1220.2.25 2003/08/01 19:08:35) Debian: 49 $
<参考>
http://www.mail-archive.com/[email protected]/msg03756.html
libxine1-rc0 を "-xK -ipo -ipo_obj" のオプションで
ソースを全く修正せずにコンパイルすることができました。
あとXFree86のchangelogに
---
254. Replaced inline asms with compier intrinsics for Intel compiler
(Bugzilla #427, Slava Sysoltsev).
---
http://www.xfree86.org/cvs/changes.html
というのを発見しました。
0701login:Penguin
03/08/04 00:36ID:o2Kz2SThいろいろオプション弄っても。俺だけかなぁ…
0702login:Penguin
03/08/05 01:14ID:EFPrlYTwファイルとして差し替えて、あとはGCCでコンパイルされたオブジェクトを
リンクしてカーネルを作ればいいのでは?
0703login:Penguin
03/08/08 10:01ID:oDy/Pk9Kデフォルトのglibcのバージョンの問題のよう.
glibcをバージョンアップしてからifcをインストールするとできるらしい
0704login:Penguin
03/08/10 01:36ID:KIU12EYe0705login:Penguin
03/08/10 10:59ID:42n23iGr0706login:Penguin
03/08/13 00:59ID:vZiKmtQpの機能を高めるパッチを出していたことがあったが、一回そういうことが
あったきりで、その後は無かった。
0707山崎 渉
03/08/15 22:52ID:ep0zwfOh│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0708login:Penguin
03/08/15 23:45ID:GfNK1qbf0709login:Penguin
03/08/16 15:03ID:rNtMNMvg0710login:Penguin
03/08/18 22:36ID:uzo2Kc6fここのページのソースをコンパイルしてみたんですが
警告はでるもののコンパイルされるんですが
実行するとgccと結果が違うんですが...
どういう理由からなのか教えてください。
intel-icc7-7.1-6
RedHat8
gcc-3.2-7
0711login:Penguin
03/08/26 18:03ID:gFo6zh410712login:Penguin
03/08/30 01:49ID:lnjLgl6n0713crazy_u
03/08/30 11:00ID:hGNBDF9CCompilerとして安定してきたことで,
・特に大きな不具合はない
・出来上がるバイナリ-に目立つ部分で性能の向上は(7.1に対して)みられない
からではないでしょうか
実はItanium2上では最適化を上げると計算が壊れたプログラムがあり,バグレポートを送ってある。(まだ直ってない)
ここに書き込むことでもないので書き込んでない。
新命令が追加されたCPUがでれば書き込みが増えると思うよ。
0714login:Penguin
03/08/31 03:03ID:Gl3sHcd+マルチメディア関連のライブラリ、開発チューニングツール類に割くべきだ。
CPUだけが早くて高性能だとしても、それを引き出すことができないのでは
なんにもならない。サードパーティのコンパイラメーカーに任せてしまうのは
コンピューターをトータルのシステムとして理解が不十分と思える。
(日本メーカーもWSやPCに関してはこの点でまったく論外だ。)
0715712
03/08/31 21:36ID:VcA2JGBqとりあえず了解.大幅な性能向上を期待していたがそんなもんね.
smp環境下での自動並列化あたりを期待しているんだが...
特にHTあたりで有効になってほしいのだけど.
0716crazy_u
03/08/31 21:54ID:+nx1nf0P現在,私のところはsmp環境がないのでその辺はテストしてないです。
HTについては,私は科学技術系なので生かせそうもないです。GUIやデータベース,ネットワーク系だと生かせるのかな。
私自身は科学技術計算の並列化については(Intelに限らず)コンパイラには期待してないません。
末端での並列化はよほど問題にマッチしてないとオーバーヘッド部分でかえって遅くなると思うので,
より上位レベルで明示的に並列化のコードにしていく方がよいと考えています。
(一度苦しんで作りこめば,あとはマイナーチェンジで改良していけると楽観的に考えてます。
一つ作ればまた別のアイデアも湧くでしょうから........)
0717login:Penguin
03/08/31 23:36ID:L6FSQmVQわかっているんですが、その理由はどう考えればいいんでしょうか?
>>715
正直OpenMPを勉強したほうが早いと思われ。仕様書なんて
数十ページしかないので覚えるのは簡単です。
0718login:Penguin
03/09/01 01:07ID:xy5CU+BZ演算器が一個分しかないから。
0719ot22
03/09/01 12:41ID:Lc8gUGt58/17ころにgcc-3.5のソースツリーにfortran95が入ったみたいですね
http://people.redhat.com/dnovillo/spec2000/tree-ssa-branch/global-run-ratio.html
を見る限りperformanceも悪くなさそうです
0720crazy_u
03/09/01 20:39ID:U4X17Unvたいていは,CPUかメモリー帯域のどちらかが手一杯な状態なのでHTでの効果はない。
(FEM,流体,分子軌道法等でそうなってなかったら計算の遅い下手糞なプログラムでしょう)
個々の計算が軽くても,数がたくさんあるときはワークパイル式の並列化はHTでも効くと思いますよ。
それと,コンパイルするときはHTで良かったなとは思います。
サブルーチンが山ほどあるのでmake -j2 でコンパイルしている。
0721login:Penguin
03/09/02 02:19ID:zMJC9gOv稼いでいるマシン向きの,あるいはそれにそっくりなコードを
HTをやっても大して効かないでしょう.
どうせメモリ転送ボトルネックだからです.
0722712
03/09/08 01:27ID:qWMNar0qベクトル計算機でも並列のパイプラインで10GBぐらい?
0723login:Penguin
03/09/08 01:53ID:/friIDf00724Tetrodotoxin
03/09/11 21:52ID:jqiOSKxV非商用バージョンをインストールしたのですが、うまく動いてくれません。
どなたか詳しいインストールの仕方を知っている人がいたら、教えてもらえないでしょうか。
よろしくお願いします。
0725Tetrodotoxin
03/09/11 22:04ID:jqiOSKxV0726login:Penguin
03/09/11 22:09ID:sIKnH92Jttp://wind.geophys.tohoku.ac.jp/~sawada/linux/intel.html
0727login:Penguin
03/09/12 01:23ID:1atZEiyIどこでつまずいているか書いた方が早いと思うが...
0728Tetrodotoxin
03/09/12 13:17ID:fNfEoxzzありがとうございました。
>>727
rpmファイルをredhatのインストーラーでインストールした後、licenseをコピーして実行。
ここまではやったのですが、実行しようとすると、「f90はみつかりません」というようなエラーがでてしまいます。
0729Tetrodotoxin
03/09/12 13:19ID:fNfEoxzz0730login:Penguin
03/09/12 16:11ID:t8xIzIK3予想1 パスが通っていない.
予想2 そもそもコマンド名がf90でない.ifc.
「rpmのインストール」でどんなファイルがどこにインストール
されるか確かめれば済むこと.
中途半端に訳して書くよりはエラーをそのまま書く方が良い.
今回のは
~$ f90
-bash: f90: command not found
これのことを言っているのだろうか.
0731Tetrodotoxin
03/09/12 17:05ID:fNfEoxzzありがとうございます。
エラーの内容は以下の通りです。
[]$ f90
bash: f90: command not found
[]$ f95
serialization_error
何度も聞いて申し訳ないですが、お願いします。
0732login:Penguin
03/09/12 17:21ID:OE2kVsYM>>730さんの予想通りと思いますが,予想1,2はどうですか.
あと,licenseを手でコピーしたなら一応パーミッションを
確認.自分が読めるようになってます?
0733login:Penguin
03/09/12 18:21ID:aTyG287s(´・ω・`) ZEON??
0734730
03/09/12 19:09ID:t8xIzIK3私はDebian GNU/LinuxにIntel Fortran Compilerをインストールしています.
alienでrpmからdebに変換してます.730で書いたことを繰り返しますが,
f90やf95といったファイルはインストールされていません.ifcです.
それともrpmからインストールすると,f90やf95にシンボリックリンクが
張られるのですか.rpmパッケージの中身を確認しては如何ですか.
0735crazy_u
03/09/13 13:56ID:p4hAA4+6マニュアルは読みましたか? 英語のマニュアルはちょっとと言うのであれば,
XLソフトからIntel Fortran compiler 7.0 Linux版の日本語マニュアルが提供されているので,
まずは,それを良く読むこと。↓
ttp://www.xlsoft.com/jp/products/intel/download.html
cshの環境だと/opt/intel/compiler70/bin/ifcvars.cshを実行してもパスが通らないことがあるので
(私はLD_LIBRARY_PATHがかつて通らなかった)
自分のhome directoryの.cshrcの中をifcvars.cshを参照して編集すると良いです。
編集後に,システムに入り直すか,source .cshrcを実行でOK。コマンドは他の人も書いてますがifcです。
マニュアルを読んでないように見受けられるので,ここで質問する前にマニュアルくらいは目を通して下さい。(他の人に失礼です)
0736crazy_u
03/09/13 14:01ID:p4hAA4+6連続ですみません。
環境はbashのようですね。パスがどうしても通らなければ.bashrcを編集するとよいと思います。
0737login:Penguin
03/09/19 11:49ID:WROpUPEl危惧を感じる。
0738login:Penguin
03/09/21 16:41ID:7+FI9AMs0739login:Penguin
03/09/21 18:52ID:w6QJgY+P0740login:Penguin
03/09/22 13:13ID:uHmDw6ueメリットがあるうちは無料だろうが,メリットが無くなれば有料化するのでは?
0741login:Penguin
03/09/22 23:27ID:bywsX0oaAMDが死んだらメリットは減るんではないかな
0742login:Penguin
03/09/25 16:59ID:FN6PNMc80743login:Penguin
03/09/27 21:51ID:pZAnLGNtifc7.1, ifc8.0-betaともに正常に動作し,計算も正常に行われた。
RedHat Enterprise Linuxのbeta版のtaroon beta2を試しに入れてみた。
ifc7.1, ifc8.0-betaともに正常に動かなかった。(コンパイラの内部エラーでストップ)
正式リリース時には使えるようになっていて欲しい。
0744login:Penguin
03/09/29 23:56ID:UEeII9miまあ,beta OS上でbetaコンパイラだから.....
0745login:Penguin
03/10/04 23:49ID:kpZzpAfH0746login:Penguin
03/10/06 22:07ID:WdLy46cxみそはlibg2cからs_stopを抜いたものを新しく作りリンクすること
0747login:Penguin
03/10/09 02:30ID:qaV5l52p0748login:Penguin
03/10/09 02:33ID:qaV5l52pUNIXの make と整合性あわせて, Makefile をうまく書くのが難しい.
どこかにチュートリアルないだろうか? とにかくたくさん分割ファイルが
あって,モジュールもたくさんあって,それらをいろんなところで引用
しているときの依存関係が,複雑怪奇になっている場合,どうすればいいのか
わけがわからん.
0749crazy_u
03/10/09 19:31ID:1YCs5VAM私が使用している範囲では,IA32用は安定してますね。IA64用はまだバギーかな。
バグに見舞われたら,少々面倒でもIntelに連絡しましょう。製品版までに直ってくれれば安心して使えるので。
バグの程度にもよるけど,Intelの対応は良かったよ。
0750login:Penguin
03/10/11 03:36ID:A6R3ZcJHWINDOWS上でに比べて,LINUX上だと,非常に面倒で不便.
EメールにUUENCODEしたファイルをつける方が簡単で良いのに.
(しかも,毎回同じマシンやシステムの環境などをいちいち手で
入力させられるので時間がとても食われる.)
0751crazy_u
03/10/11 11:22ID:aoPycQc3私はバグに会ったプログラムから小さなテストプログラムを作成して,
メールに添付して送ったりしているので,
添付するものがないときも,連絡の初回はEメールで済ましている。
回答を見たり,その回答への返事とかはブラウザ上だけど。
0752llaco
03/10/16 02:27ID:5YWfAdLL# ./install
を実行すると
A valid FLEXlm license is required to install this product, but none were found
in $INTEL_LICENSE_FILE (.:/opt/intel/licenses).
Where is a valid FLEXlm license for this product?
Enter directory or file, or just 'Enter' to exit.
<ENTER>
A valid FLEXlm license key for this product is needed before installation. Exiting...
と言われてしまいます。対処法がわかりません。どなたかよろしくお願いします。
redhat7.3でやってます。
0753login:Penguin
03/10/16 02:38ID:rjl05pCq0754login:Penguin
03/10/16 03:12ID:HupKIp40Read the error message.
0755llaco
03/10/16 11:51ID:l4PsQU6vに置いたり、installファイルと同じ場所に置いたりしてたんですが、すでに間違ってますか?
前やったときは、ライセンスファイルは./install実行後に/opt/intel/licensesに置いた気がするので間違ったことしてるような気はするんですが・・・
0756login:Penguin
03/10/16 12:15ID:4ZDPlnUpINTEL_FLEXLM_LICENSE=/some/path/to/your_license.lic
0757llaco
03/10/16 21:28ID:NNOmsNpx体験版をDLしていたため、ライセンスが切れてるだけでした。
今度から非商用版を使うことにします。
>>756
ありがとうございました。
0758login:Penguin
03/10/17 12:04ID:En50EzPk教えてえらい人
過去ログを全部読むかそこから検索しる.
0760lolo
03/10/18 11:29ID:uCSzffEf...
1824 Lines Compiled
/opt/intel/compiler70/ia32/lib/libIEPCF90.a(f90fioerr.o)(.text+0x4d3): In function `f_f77ioerr':
: undefined reference to `__ctype_b'
とエラーがでます。どなたか対処法ご存知ないですか?
過去ログでcrazy_uさんがご指摘していたlibはifcのみでも全部あるみたいです。
0761lolo
03/10/18 11:31ID:uCSzffEf...
1824 Lines Compiled
/opt/intel/compiler70/ia32/lib/libIEPCF90.a(f90fioerr.o)(.text+0x4d3): In function `f_f77ioerr':
: undefined reference to `__ctype_b'
とエラーがでます。どなたか対処法ご存知ないですか?
過去ログでcrazy_uさんがご指摘していたlibはifcのみでも全部あるみたいです。
0762lolo
03/10/18 11:37ID:uCSzffEf0763login:Penguin
03/10/18 12:49ID:IGCw3kyP0764crazy_u
03/10/18 13:12ID:7lDIA8F7古いBuildのifcを使用してませんか?
現在は,
Intel(R) Fortran Compiler for 32-bit applications, Version 7.1 Build 20030922Z
です。('ifc -V'で確認。)
これでは,/opt/intel/compiler70/ia32/lib/で 'grep _ctype_b *'としても
'_ctype_b'の文字列を含むファイルは無いようですね。
(つまり,_ctype_bという関数は無いし,これを呼ぶ関数も無い。)
ちなみに,赤帽9のglibcも4/9にupdateされているので,念のためにこちらも最新版にして試してはどうでしょう。
rpm -qa | grep glibc
glibc-2.3.2-27.9
glibc-devel-2.3.2-27.9
glibc-kernheaders-2.4-8.10
glibc-common-2.3.2-27.9
0765login:Penguin
03/10/18 21:11ID:CkgLH2F40766lolo
03/10/18 23:40ID:Z3ahupM2ifcのバージョンを調べたら
Intel(R) Fortran Compiler for 32-bit applications, Version 7.1 Build 20030307Z
Copyright (C) 1985-2003 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
GNU ld version 2.13.90.0.18 20030206
Supported emulations:
elf_i386
i386linux
と返ってきました。ifc自体、本家USのFTPサイトからではなく日本のFTPサイトから
ダウンロードしました(ダウンロードはおとといしたのですが...)。
日本とUSではFTPサイトに置いてるバージョンが違うってことなのでしょうか?
USサイトから再度ダウンロードしてみます。
ちなみにglibcは
glibc-common-2.3.2-27.9
glibc-profile-2.3.2-27.9
compat-glibc-6.2-2.1.3.2
glibc-2.3.2-27.9
glibc-devel-2.3.2-27.9
glibc-debug-2.3.2-27.9
glibc-kernheaders-2.4-8.10
glibc-utils-2.3.2-27.9
でおそらく最新のものがインストールされていると思います。
0767lolo
03/10/19 00:48ID:PaB7azw1crazy_uさんのBuildは9/22付けになってますね。もしかして私とダウンロード
したFTPサイトが違うのでしょうか?よくわかりません...
0768login:Penguin
03/10/19 01:31ID:JSi7Tbwaもちろん非商用でも。intelから来たメールをよく読めばわかるとおもわれ。
0769lolo
03/10/19 09:38ID:LtxhQsCl早速登録し、最新版をダウンロード->インストールしました。
ようやくRH9&ifcでコンパイルできました。
それから、Build20030307Zの方でもオプションで-i_dynamicalと付けて、-xWを
外すと一応コンパイルできることが判明しました。RH8&ifc7.1(Build20030307Z)
では何の問題もなくコンパイルできていたので、RH9&Build20030307Zで-xWが通らない
理由は全くわかりません。
まだまだ、私は勉強不足のようですね。
0770login:Penguin
03/10/19 14:44ID:7cV4PSHw0771login:Penguin
03/10/19 16:58ID:zu7Q35mU0772login:Penguin
03/10/19 17:20ID:/U5ZQ/Z8朴?、李?、それともチ(ry?
0773ot22
03/10/20 12:02ID:acsuXBEhどうもlibstdc++あたりのバージョンとの問題が強いようです。
i686以上でtuningしたものだと関数のentryがないといって叱られる場合が多いようです。
i486でmakeしたものだとあまり問題が生じないというのが経験則です.
P.S. 他のコンパイラですけど, glibcはこっちを使いなさいとくっついてきているのもありました.
0774login:Penguin
03/10/21 13:12ID:7H3t5fatファイル名が、「l_cc_p_7.1.006」なのですが、FreeBSDのportsは、
l_cpp_p_7.1.030を要求してきます。
l_cpp_p_7.1.030は、どうやったら手に入るのでしょうか?
0775login:Penguin
03/10/21 13:20ID:7H3t5fat自己レスです
Premierに登録すれば良かったですね。
あと、ファイル名がチョコット間違えてましたごめんなさい。
0776login:Penguin
03/10/25 05:30ID:cExatsueインテルのサイトからとってきて入れた。
ディレクトリのパーミッションが
大半 rwxrwxrwx になってることに今、気がついた。
# find ${intelcompiler} -type d | xargs chmod 755
0777login:Penguin
03/10/26 11:18ID:VW7fW/4m0778login:Penguin
03/11/02 19:17ID:MGHTobIwでも登録しないと最新版DL不可なのね。。。
0779login:Penguin
03/11/02 21:48ID:JjTRDZwI嘘!!何処に書いてるの?
0780login:Penguin
03/11/03 08:38ID:juP364vfいまURLはわからないけど、レジストするとくるメールにかいてある場所。
0781login:Penguin
03/11/03 08:41ID:juP364vfあった。ここの Intel Premier Support
When your 1-year support service expires, you will need to renew that
support at a discounted price to continue receiving those services.
と。。。よみちがえてるかな?
0782login:Penguin
03/11/03 17:54ID:8Yc9P4g+最新版は、配布物そのものでなく、'support'に後々課金されていく、つうしくみなのかね。
まあ今まで散々ばら蒔いて、そこここでiccが使われてきたから、カネ稼ぎを始めるころかもね。
違う手だけど、solaris x86でSUNがやってたね。
散々ばら蒔いてから「x86やめちゃうよ、嫌ならカネ払ってね」って。
SUNが脅しならこっちは騙しだな。
で、この辺について、intel関係者か詳しい人の降臨キボン。
0783login:Penguin
03/11/04 01:02ID:7KTVtMUTSGIのFORTRAN90コンパイラ部品をベースにGPLなコンパイラを
という話も一時期あったが,なぜかポシャったみたいに見える.
FREEなFORTRAN90,95のコンパイラが無いことは,非常に残念である.
開発や教育に使う場合には,最適化は程程でよいから,軽くて
バグの無い,FREEなコンパイラが欲しい.
0784login:Penguin
03/11/06 22:53ID:vzXLPe+jこれが一般的な数値だと思わないが,ifc8betaはまだまだ使えない...
0785login:Penguin
03/11/07 13:52ID:jL8a1oqOIntelのソフトウェアは、
・購入後一年間のテクニカルサポート付き
・購入後一年間の最新版へのアップグレード付き
だから、プレミアサポートも有料だろ。
無料版だとどうなるのかは知らない
078668 ◆Hplra7cWGo
03/11/08 22:49ID:SWFTT6ZN同意
ところではなしは変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP)
久夛良木氏は,“PSPはゲーム業界が待ち望んだ究極の携帯機”として説明。「ここまでやるかと言われるスペックを投入した」という。
発表によれば「PSP」は,曲面描画エンジン機能を有し,3Dグラフィックでゲームが楽しめる。
7.1chによるサラウンド,E3での発表以来,クリエイターたちにリクエストが高かった無線LANも搭載(802.11)。
MPEG-4(ACV)による美しい動画も楽しめるという。これによりゲーム以外の映画などでのニーズも期待する。
外部端子で将来,GPSやデジタルチューナーにも接続したいとする。
また,久夛良木氏は,繰り返し「コピープロテクトがしっかりしていること」と力説。会場に集まった開発者たちにアピールしていた。
さらに,ボタン設定なども明らかにされ,PS同様「○△□×」ボタン,R1・L1,アナログスティックが採用される。
この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
突然こんな事書いてスマソ……
GBAと比べてみてどうなんですかね?(シェアの事は抜きで)
0787login:Penguin
03/11/09 02:48ID:c7tPjf2d0788login:Penguin
03/11/09 17:58ID:RvQ6Azzq誤爆ってことかと...
0789ot22
03/11/09 18:01ID:MMYg5VhYgcc-3.5のCVSには取り込まれていますね. gfortran という名前で
F95を目指しているみたいです。
0790crazy_u
03/11/11 22:15ID:oAWQ/DMcFEMのデータ読込み部だと50〜100%遅かった。
解析部分で15%程度遅い。
最適化レベルを上げると計算が壊れる部分があるし.....
(P4で赤帽9及びItanium2で赤帽AW2.1)
正式リリース時には速くなるのか?
RedHat Enterprise Linux 3.0でIntel Compilerを動かした人はいますか?
ifc8.0 betaは動くけど,7.1は動かないんだけど他の人もそうかな?
Fedora Core 1 では正常に動作してます。
0791crazy_u
03/11/15 11:28ID:46HMbLQc(11/14にIntel Premier Supportからのメールで更新の案内有り)
0792login:Penguin
03/11/19 22:44ID:Uw9KSyAu0793FIREWELL
03/11/20 01:53ID:ZQHTsu3zAMD64対応のコードも吐いてくれたらいいのに。AMDは
AMD64のアーキテクチャーをインテルなどの他社にも無料公開
して市場拡大を目指すべきである。それが本当の恩返し。
0794login:Penguin
03/11/20 07:38ID:DOEUPilW数年前から大公開中ですが何か?
0795login:Penguin
03/11/21 02:36ID:VOn/rI5dしないということだけど、そうなの?
0796login:Penguin
03/11/21 04:23ID:N6po1X8l>しないということだけど、そうなの?
君の辞書にはそうなってるのかもしれないが、
世間一般にはそうではない。
0797login:Penguin
03/11/22 21:43ID:rUD1L6k30798login:Penguin
03/11/23 23:31ID:yv1r1wan0799login:Penguin
03/11/24 00:05ID:i0Ku7SEH0800login:Penguin
03/11/24 12:15ID:1ACrxng9ベクトル計算機のマシンコードを,32ビットのx86 CPUで実行したり、
AMD64の回路ハードウェアをわずかに改造したもので実行したり
できると思う。
トランスメタ自身が、種々のCPUをエミュレートする汎用のCPUと
その上のトランスレーターソフトを作ればいいのに。
0801login:Penguin
03/11/24 12:27ID:FjcP3KX00802login:Penguin
03/11/24 22:45ID:XFV3AcIV企業だからね。x86-64コードをCrusoe上で動かす
CMSは、AMDとトランスメタが出してたね。
商売になりそうなのはJava-Chipエミュレータかな。
0803login:Penguin
03/11/26 02:18ID:8aZUyRnyエミュレーションできれば、なにか嬉しいことがないでしょうか?
0804通りすがり
03/12/04 01:32ID:kNU/oW5D>>785さんの補足(?)
For those customers using our non-commercial products,
you can still register for product support from the Premier Support site
but the services you receive will be limited.
とあるので、何が制限されてるかは知らないけど、
登録できる様です。
0805login:Penguin
03/12/09 18:50ID:2d8A2JmZ今ダウンロードしている所です。
0806login:Penguin
03/12/10 02:06ID:QoIBA7Tiスレの上のほうの8.0betaユーザの報告ではパフォーマンスが…
というかんじだったけど。正式版での報告キボンヌ。
0807login:Penguin
03/12/10 09:02ID:sroqBqpoAMDがいくら良いCPUを作っても、コンパイラなども含めたト-タルなサポ-ト
とくに開発環境とサポ-トに関しては、金力のあるインテルが数倍上だから。。。
0808login:Penguin
03/12/10 10:08ID:TiL7MpLhRelease noteを見た感じでは、Prescot新命令対応が中心みたいですね。
Pentium4用にも-xWの他に-xNというオプションが追加されたようです。
それから今後コマンド名はifc(ifl)ではなく、ifortに変えるとか
(このバージョンでは両方使えます)
まだチューニングしていないので何とも言えないのですが、Win版で
試した限りでは、7.1より少し遅い感じがします。
-Cオプションの一部機能が動かないなど、年内出荷に無理矢理合わせ、
これからブラッシュアップしていくつもりではという印象を持ちました。
CVFの後継なのかなと思ったら、Win版はVisual.NETが入っていないと
動かないとか(これまではCVFが入っていれば動いた)。あんな重い
ソフトむやみに入れたくない!価格も重量級だし。
と言うことで4日前に発表された7.1の最終バージョンを入れ直して
しばらく様子をみようと思います。
0809login:Penguin
03/12/10 22:12ID:p/JFC5chNon-Commerical Licenseだと icc Version 8は取れないのかな?
0810login:Penguin
03/12/10 23:19ID:GiTuTJ3uメジャーバージョンアップだから
普通にintelのサイトから8.0のサポート無し版を落として
プレミアに製品の追加登録するんじゃないの?
と思ったけど、新ライセンス送付のあて先にプレミアに登録したアドレスを
指定すると、自動的にプレミアサポートに製品情報が追加されてるぽ
よくわからん文章ですまん
0811login:Penguin
03/12/11 01:40ID:5Yg2lmfhうーん、www.intel.com -> software -> Intel C Compilerとたどっていって、
非商用サポート無しを登録した後に、premirerサポート見ても追加されないんですよねぇ。
なんか手違いしているのか、あるいは反映に時間かかるのかもしれないので、
二、三日様子をみてみます。
0812809,811
03/12/11 02:17ID:5Yg2lmfh普通に version 8になってますた。メールを良く読まなかったワタクシの落ち度です。
これからなんか試してみます。
0813809,811
03/12/11 08:39ID:5Yg2lmfh手元にある Redhat Linux 9では入らず。どっかに古い Linuxの CD無いかな(つД`)
現在 isoイメージを入手出来て、VTuneを動かすのに最適な Linuxって何なんでしょうねぇ。
SuSEも見に行ってみましたが適当なイメージが見つからず、
RedHatも古いイメージは見つからず(つД`)
0814login:Penguin
03/12/11 10:43ID:NFnufR73赤帽の古いのなら
ftp://ftp.sfc.wide.ad.jp/pub/Linux/redhat/linux/
から色々取れますよん。
0815login:Penguin
03/12/11 14:36ID:LT6uuRQJダウンロード出来ねぇ。
ホンコン鯖にアクセスしたら、一度ダウンロードが始まったが、
半分位までいったところで突然ソースファイルが見つからないと叱られた。
こみ合ってるんだろうねぇ...
ところで、intelはwinな鯖を使ってるのだろうか...
何やかんやとあそこのサイトにアクセスしてるとトラブルが起こる。
0816login:Penguin
03/12/11 19:48ID:2kSMVJY9XLsoftからの案内だとコンパイラも8.0からRedhat9に対応したと
書かれているから、VTuneも近いうちに新版がでるかも。
あとfortranはimslを含んだprofessional版が近日発売と書いてあったな。
ちなみにiccってgccよりもどの辺が優れているの?
0817login:Penguin
03/12/11 20:46ID:ic2n9UX1すべて
0818login:Penguin
03/12/12 12:12ID:A4ah+nvE少なくとも価格とか入手の容易さでは負けているよね。
0819809,811
03/12/12 15:16ID:vkMOhnyzIntelコンパイラが Redhat 9に対応って書いてありましたねぇ。
VTuneはバージョン低いスギだしw
Redhat9を Kernel 2.4.18に下げたらパニックしてダメだったので、
VTune側でRedhat9に対応して頂きたい所存(切実
0820login:Penguin
03/12/13 00:32ID:6ENh9c3+ifc7に比べて遅いんだけど.
0821809,811
03/12/13 01:29ID:LS7LpJ74どうも再現性がないが、たまーにいい数字が出る。
ifc8 XS: 418.5000, S: 450.7581, M: 439.8625
ifc7 XS: 444.6562, S: 439.9207, M: 432.5538
ifc7での XSの数字がよいように見えるが
何回やってると 410くらいの数字がちらほら出るので一定してない。
明確にどっちがいいとも言えないなぁ。
0822login:Penguin
03/12/13 11:37ID:6ENh9c3+2.6Cの割に数値が低いね.win版?
0823login:Penguin
03/12/13 14:44ID:Ro2jdgnUいや、ソースを拾ってきて icc for Linux on Redhatでコンパイル。
ランキングとの比較で遅い気がして測りなおしたら icc版で 900程度出てますた。
ifc7, ifc8でも明確に差があったんで、週明けにでも書きます。
0824login:Penguin
03/12/14 04:51ID:jCkO6MoxICC用に一括置換するスクリプト組もうと思うんですが、
オプションの違いが不安なので、その辺り教えて頂けると嬉しいのですが…。
# もしかして既出?
0825809,811
03/12/14 18:47ID:w4UzkkZPiccで 900程度出たのも 姫野ベンチ98(;´д⊂ 懲りずに、今度こそ himenoBMTxpでの計測結果。
http://w3cic.riken.go.jp/HPC/HimenoBMT/program1.htm から取ってきたソースを、
オプション -O3 -tpp7 -xiMKW -Vaxlib でコンパイルしました。
測定環境は Pentium4 2.6C。単位は MFLOPS
ifc7 & Fortran77: 617
ifc8 & Fortran77: 548
gcc & Fortran77: 429
icc7(static): 602
icc8(static): 337
ifc8も icc8も性能低すぎるような。
そして、姫野ベンチのランキングに乗ってるマシンは何であんなに速いんだろ?
カーネルのチューニングとかも必要なのだろうか
0826懲りずに姫野ベンチ809
03/12/14 19:45ID:w4UzkkZPifc7 & Fortran77: 617 -> 705 MFLOPS
icc7(static): 602 -> 638 MFLOPS
http://w3cic.riken.go.jp/HPC/HimenoBMT/himenoBMTresSMALL1.pdfの、
チート無しで icc, ifc使ってるあたりで参考になりそうなのだと、
25位の Pentium4 2GHzで 750……。
小手先の改良じゃまだ追いつけないな。
何か足りないか設定変なのか(;´д⊂
0827login:Penguin
03/12/14 22:02ID:lf80yPW7私も姫野benchをwindows xpでバイナリとiflでコンパイルした物を両方
動かしてみましたが、バイナリでは600を超えるのにiflで造った方は350前後
しか出ませんでした。(ifl7.1,8.0/P4-3GHz)
やはり何か工夫が必要なのでしょうかね。
体感的にはこの数字ほどiflが遅いようには思えないのですが。
0828login:Penguin
03/12/15 08:07ID:cbcpH3vl-tpp7を-tpp6でやってごらん!
0829三つの女の子
03/12/23 11:14ID:QCWtAyCy特に make.inc の書き直し方。
MKLとどっちがよいでしょうか?
0830login:Penguin
04/01/01 01:21ID:po+KK1Hrただ、IA-64用のlibgotoはZHEGVでエラーが出る。よろしく後藤さん!!
0831login:Penguin
04/01/04 14:52ID:HKxDF7PCLAPACKもなかなか構築できんし。>>829 さん有用な情報が入手できたら教えて下さい
0832login:Penguin
04/01/04 21:59ID:60Guqh70atlasじゃだめなの?atlasはlapack+blasですよ。
0833login:Penguin
04/01/06 17:54ID:nP+rFpvw> a newly supported IA-32 Linux* distribution has been added, SuSE* Linux* 8.2.
> Refer to the Release Notes for more details.
SuSe 8.2をサポート!
これなら まぁまぁ新しいのでインストールに耐えるような
0834831
04/01/07 22:47ID:TrdAH3pz勿論atlasは使用可で、速度を求める時は良い選択肢ですが、もっとしょーもない
所で悶々としてます。
g77でビルドしたモノを使う時はg2cが必要になりますよね(←この認識正しい?)
するてえと、例えばlapack(g77)をifcから使う時 -lg2c とかついて、fortranライブラリを
fortranから使うのにg2cってのもなんだかなぁ。。。てな気分になるんですよ。
(atlasなら仕方がないってな気分になれますが)
やれrow-majorだcolumn-majorだとか言語間相違の話が面倒でfortranに移住した
(気は進まんが)んで、やるからにはfortranの世界で閉じたいなって気持で >>831 を書きました。
// しょーもない動機でスマソ。 同じ様な考えの方いらっしゃいます?
0835login:Penguin
04/01/12 01:10ID:Tb0eKosVよいものだ。だが、32ビットアドレスはもういい加減にせま過ぎる、
かといってイタニウムのシステムはコストパフォーマンスがWS並に悪い。
ではAMD64かといえば、こちらはコンパイラが高かったりまだボロい。
AMD64用のGCCもF77も大きな配列を(MALLOCなどでダイナミックに取る
のではないかぎり)まだまともに扱えないバグがコンパイラにもリンケージ
エディターにもある。なんといってもF90が無料で手にはいらない。。。
0836login:Penguin
04/01/12 01:30ID:LZPkgde+>コンパイラが高かったりまだボロい
ボロいのソースとかはある?それともまだ枯れてないっていう一般的な話?
# 断じて煽りではないです。念の為
0837login:Penguin
04/01/12 04:47ID:++QQKFNLMKL/IPPなどまで揃ってる Intelに対して、AMDの、
・AMD CodeAnalyst? Performance Analyzer
・AMD Core Math Library
あたりってどーなんですかね。
0838login:Penguin
04/01/12 13:22ID:+GCBR8oGちょい話はずれるが、それよりも鉄板なコンパイラが欲しいよね。
ライブラリはnetlibからなんとかできなくもないし
0839login:Penguin
04/01/12 15:36ID:++QQKFNLんだねー、渇望されている通り、コンパイラがしょぼい。
gcc3.3.1はちゃんと動くバイナリを吐くけど、性能があんまり劇的にいい訳でも無いし。
そういえば、Athlon64で -m64でもパフォーマンス上がらないので
疑問に思い物理レジスタの数を調べてみたら、
Pentium4: 128本
Athlon: 70
Pentium3: 60
くらいあるらしく、そりゃユーザから見えるレジスタが増えたところで
パフォーマンスにはあんま関係ないよな、と思った今日この頃。
昨今の CPUは滅茶苦茶に手強い_| ̄|○
0840login:Penguin
04/01/14 01:50ID:bxmMbzPtAUTOの配列の場合、1個あたり2GBを超える配列は取れない。
STATICの配列の場合、1個で4GBを超える配列は取れない。
STATIC配列では一個が大きくなくても、合計で4GBを超える配列は取れない。
大きなメモリ−を割り当てる唯一の方法は、MALLOCとかCALLOCなどで
動的に配列を割り当てること。Cならこれでメモリサイズの制約から
逃げるしかない。
しかしこの方法はFORTRANのみでソースを書きたい場合には
そもそも使えない。FORTRANを呼ぶCのメインルーチンの中で配列を
CでアロケートしてからFORTRANを呼ぶしかない。
0841login:Penguin
04/01/14 01:59ID:+Zlg5/9mPGIやAbsoftのF90だったら大丈夫・・・なんだよねぇ?買う価値ありかなぁ?
0842三つの女の子
04/01/14 13:54ID:j0lilwyFLAPACK と LAPACK95 のコンパイルに関しては以下のページが
参考になります。ただし、ifc (ver.7.0/7.1)でないとだめです。
ifort(ver.8.0)はまだ不安定なので build できません。
http://atlas.riken.jp/~shinkai/cactus/LinuxPCcluster.html
pgi, absoft は安定してますが、コンパイラ自体の開発速度が遅いです。
intelは開発速度が速いのとcompaqの部隊が入ったのでcompaq fortranの
know-howが投入されている面はよいのですが、ver.8.0はまだ感心しません
(自動並列化機能はまだまだ)。
IA64では itanium が良いか opteron が良いかご存じの方ご教示ください。
0843三つの女の子
04/01/14 13:57ID:j0lilwyFfortran90/95 なら allocatable 文が使えますので変数の
ダイナミックアロケーションが可能です(C言語での
MALLOCとかCALLOCなどと同じ)。
コンパイラは ifc が使用可能。
0845三つの女の子
04/01/14 22:41ID:zTMOLIO4うまく行かなかったらまた書き込んでください。
本当は自分のHPで板を作りたかったのですが、素性が分かってしまいますので…。
ifc7.1では static でリンクしないと駄目です(駄目ではないのですが -lg2c しなくても良いと言うことで)。
0846login:Penguin
04/01/15 19:28ID:ArKMzJlc<a href=843 target=_blank>> 843
配列って整数でindex付けをするので2GB or 4GBになってしまうのでしょうか?
integer*8 で配列がアクセスできるようになっているのって、あんまり聞いたことがない。
0847login:Penguin
04/01/21 14:45ID:nsDVVSKGifortはfedoraで動きますか?
0848login:Penguin
04/01/21 14:54ID:nsDVVSKGスマソ、>>790に出てました。
0849login:Penguin
04/01/22 10:06ID:Bci0KX1Jrpmを展開するところでコケる。
で、試しにver7.1の最新版1.038を入れてみたら入った。
コンパイルも無問題。実行速度はまだVer7.1が速いから
結果としてウマ〜でした。
しかし何でVer8の方が遅いのかなぁ...
0850login:Penguin
04/01/23 19:13ID:IR9RC7C4Pen4 2.4C+kernel2.6.1smpで、ifort の -parallel オプションを
指定すると10〜20%速くなる。まだifc7.1より少し遅いけど
自動並列化ってスゴイのね。Hyper-Threadではなくて
ホンモノsmpマシンなら期待できるのかな。
しかし time コマンドが smp に対応してないから user > real
とかになってしまう。他のコマンドってあります?
0851login:Penguin
04/01/24 16:31ID:Q/PIQoM00852login:Penguin
04/01/25 11:52ID:CmZotflgifc7で-parallel付けるとどうよ?
ifc8で-parallelの性能が良くなったってこと?
0853login:Penguin
04/01/25 17:55ID:qimvXVp10854login:Penguin
04/01/25 23:20ID:FZIMeuhpそら囲い込みのためにやってるのに、無理っしょw > AMD64
姫野ベンチに -parallelだとコア吐いてしぬ。
「こんな速くなるよ!」といういいサンプルないかな
0855login:Penguin
04/01/26 07:58ID:LWHgRXy60856login:Penguin
04/01/26 15:39ID:TQuitOiwプロセッサごとの user time を表示するヤツとか。
>>852
ifc7 -parallel だと、プロセスはフォークするけど実行は1cpuのみで、
topでみても cpu は合計でも最大 100% の user 時間
ifc8 -parallel だとちゃんと2cpuで実行する。topでみると cpu の state は
合わせて 170% とかになってる。
0857login:Penguin
04/01/27 12:54ID:ManW0tcR2CPUで計算している様子は無い.
0858login:Penguin
04/01/28 00:42ID:TrMecqbSifort で -parallel つけてLAPACKを作ってifc7+MKL6.0 と比較してみた。
計算は複素対称行列の対角化がメイン。で、結果はハイパースレッド、スゴッ。
ホンモノsmpマシンでも試したい、けど、おぷてろんじゃダメだろな...
==> testV7 <==
Time : 112.56 0.09 112.65 ← プログラム内の etime で計測
real 1m52.719s ← time コマンドの結果
user 1m54.605s
sys 0m0.105s
==> testV8 <==
Time : 88.08 0.40 88.48
real 1m30.275s
user 2m41.601s
sys 0m0.642s
0859login:Penguin
04/01/29 01:30ID:PQwhYO8S0860login:Penguin
04/01/29 11:44ID:6+2++KnTモノは普通のバンド計算のハミルトニアン。
で、-parallel をつけても並列実行できないケースもありますね。
コンパイラが理解できるようにソースをイジらないとダメかな。
0861login:Penguin
04/01/29 22:48ID:5ZgL/2moないならOpenMPのほうてっとり早いような。
自動並列と共存できるし。
0862login:Penguin
04/01/31 01:39ID:jAz+y1ncエルミート対称の場合はハウスホルダー法+帯2分法が使えますが。。。
そうじゃないと、ヘッセンベルグ行列と格闘しなくちゃいけなくなる。
0863login:Penguin
04/02/02 12:22ID:FGkL9Y8/プレミアにある最新パッチを当てたけど
速度はほとんど変わらなかった。
早く -xP オプションを試してみたい...
0864login:Penguin
04/02/03 09:26ID:r050Aky7「1 I とか 「I 1+I
I 1」 1+I 2」
複素数のエルミ-ト行列 (対称位置の要素は複素共役になっている.対角は実)
「1 -I
I 1」
0865login:Penguin
04/02/04 12:49ID:v2Gz3VMd発見した人いない?
0866login:Penguin
04/02/04 18:30ID:Uh+JCxfwP4のsmp環境で変な値になって計算が終了してしまう。
0867login:Penguin
04/02/04 21:08ID:v2Gz3VMdそれは良くある。シリアル計算で経験した人居ない?
特にifc7.0と7.1の差とかで。
0868login:Penguin
04/02/04 23:41ID:x9P5bcIJ俺もifc7.0はSMP環境で自作コードでよくコケた覚えあり。
ifc7.1や8.0では今のところ問題は出ていないです。
バージョンの差で思い出したが
Linux版よりWin版の方が速いことが多い。
0869login:Penguin
04/02/05 23:54ID:6NWo9Dvqコンパイラの性能のせいだな。
0870login:Penguin
04/02/11 16:59ID:SOp8ep6lreal(8) A(16384,16384)
でエラーになってしまいます。
配列のサイズを 2147483647 バイト以上に
とることはできないのでしょうか?
0871login:Penguin
04/02/11 17:58ID:/3PgTqY30872login:Penguin
04/02/12 03:20ID:e8ytX48lOpenMPでプログラム書いているんだけど,イマイチしっくりこない.
Segmentation faultでコケる.
大体,シリアルのコードで-openmpのオプションを入れるだけで
Segmentation faultってのが悲しい...
一般的な原因って何?
0873login:Penguin
04/02/12 05:59ID:/VNVhUc8コンパイルオプションに"-MT" つけてる?
とりあえずコンパイルオプション熟読
・コンパイルの際に並列化前のプロファイルを用いている
とりあえずコンパイルの際にそのプロファイルを利用しないようにする
# 以下ついでに
・"parallel"の位置が変
妙なところにつけると、逐次処理する必要があるコードまで間違って並列化される
・初期化済みの変数に"private"を指定している
初期化された変数を並列化されたそれぞれのスレッドに個別に割り当てるには"first private"
・並列化の対象とするループの中身がおかしい
"private"にする必要がある場合は、必ず記述する。
ループ内で使用する変数をチェック。各スレッドが同じ共有変数に書き込んでいない?
並列化領域内で呼び出している関数をチェック。静的変数、etc
ホットスポットなら、関数の展開、変数のメモリ上の配置の考慮は重要
ループ内での条件分岐もできるだけ避ける。
for(i=0;i<last;i++)...をfor(i=last-1; i>=0; i--)...とかやると実行コード自体は短くなっても、
実際の処理速度は低下する可能性あり
ポインタのオナニー的乱用も最適化の障害となりうる
生兵法は怪我のもと!
自動並列化が手っ取り早いという人もいるけど、比較的単純なループしか自動並列化されない模様。
経験的にOpenMPなどを使って手動で並列化したほうが数倍の性能がでるし、気分的にもスッキリ。
また、コンパイラによる構文解析が不十分で、バグることもある。
# openmp文を指定してないなら必要ないと思うけど。とりあえず
# 大学の教員や学生だとこの辺、結構疎かったりするし
0874login:Penguin
04/02/12 15:37ID:Evk0eIh9やはりイタニュームにしなければダメなんでしょうか。
オプテロン+ifortで2Gの壁を越えられるのかな。
0875872
04/02/13 19:52ID:jUuueHLP先生と呼んでいいですか?
配列で,動的割付けにしたら自動並列化(-parallel)の計算が出来た.
が,激オソ.ifc7もifc8も
Openmp化に挑戦するも,ホットスポットが複雑で並列化できていない.
firstprivateは勉強になりました>>873
0876875
04/02/16 20:45ID:NS7IhB+Lこのあたりifcは並列化の判定って的確に行われていない気がする.
0877login:Penguin
04/02/16 23:06ID:+xYbDhBU遅くなるでしょそりゃ。
単純なループなら、ifcでベクトル化効くでしょ、1CPUで。
それを、並列化すると、CPUやメモリが競合する。その辺のオーバヘッドを
吸収できるぐらいループが非常に長くないと並列化しても遅いよ。
単純なループだとメモリバンド幅が速度を決めてるから、2CPUで計算すると
1CPUあたりのメモリバンド幅はむしろ小さい。そして、そのオーバーヘッドが
あるからね。Xeon Dualじゃ2つのCPUがフルに動いたらメモリバンド幅は足らない。
世の中のPCクラスタがDualが多いのはコストの問題。本当はほとんどの人がXeonじゃなくて
Pen4の1CPUで組みたいはず。
と言うわけで、多くの場合並列化して速くなるのはメモリバンド幅がボトルネックに
ならないアルゴリズムかもしくは金に糸目をつけない高メモリバンド幅のベクトル機
です。
0878login:Penguin
04/02/16 23:32ID:MjKToWaK31段パイプラインのプレスコットでHTを切って使うのが最強ですか?
0879login:Penguin
04/02/17 01:15ID:2WX86e6p検証中だけどなんかぷれすこっと最強っぽ
0880876
04/02/17 02:08ID:M3p9TlaGIntelのコンパイラは自動並列化の時に,並列化した方が速いか否かの
判定をやってないんじゃないかということです.
‘並列化できるところはすべて並列化’これじゃ自動並列化の意味はないよ.
0881877
04/02/17 07:10ID:DFESNBGHそれはそうでしょ。
自動並列といってもコンパイラが、自分のシステム(CPUやメモリ)の速度を
考慮しながら並列化するほどインテリジェンスじゃないです。
0882877
04/02/17 07:27ID:DFESNBGH>‘並列化できるところはすべて並列化’
たぶんこれに近いことしてると思うよ。すべては言い過ぎかもしれないけど。
その辺の微妙なとことろはコンパイラのバージョンによりけりだから
いまいち好きじゃない。だから、自動並列化の意味はないよって意見に賛成です。
個人的には、MPIでプロセス並列のみにして計算部分は単純にするほうが速いと思う。
共有メモリでOpenMP、分散メモリでMPIのハイブリッド並列しても全部MPIより返って
遅くなることの方が多いし。OpenMPや自動並列の実装は、各社まだまだです。
0883876
04/02/18 00:59ID:SlIfMtFY自動並列化のコンパイラ,ちゃんとしているところはちゃんとしていると思う.
NEC,IBM,自社専用のコンパイラだが.
PGIはどうなんだろう.x86系のコンパイラでがんばっている.
0884877
04/02/18 03:15ID:c50dLcC0私はスパコン系では、IBM以外のコンパイラをほとんど使用していますが、
まだまだなものが多いです。NECも。(マイナーバージョンアップで並列されないループ
ができてしまい、10倍近く遅くなった経験あり。
高々、マイナーバージョンアップで。。。。解決策は次のバージョンアップを待つしかなかった。)
ちなみに、NECの自動並列はOpenMPベースじゃないらしい。
自動並列やめて、OpenMPやMPIをガリガリ書こうよ。
その方が速い。ガリガリ並列を書く人を最近はほとんど見かけない。
0885login:Penguin
04/02/19 00:31ID:zGWyY5ITttp://japan.cnet.com/news/ent/story/0,2000047623,20064378,00.htm
私は計算屋のタマゴ以前な者で、今の認識(このスレで勉強させてもらいました)は
Intel(x86) → コンパイラ最高・メモリ空間小さいのが残念
AMD → 64bitCPUお手頃・コンパイラがイマイチなのが残念
てな感じなのでこのニュースは朗報と受け止めていますが、このスレの先生方は
どう感じてらっしゃるでしょうか?
ひょっとして数値計算に限ってはItaniumやPowerPCなんかのお大尽WSは用済みになる?
0886876
04/02/19 23:07ID:f+dLyAwKNEC,SXシリーズの自動並列化コンパイラは評判が良いのだが・・・
>>885
私にとっちゃ,2005年の新しいCPUなんてまだ先の話.
今,何が良いのかが問題.
Pen4+Linux+ifcとOpteron+Linux+PGI
どっちのコストパフォーマンスが良いか?
私は前者.メモリの上限が実状2GBまでという問題も,
PCクラスタなので克服できる.
XeonはDualなので使いやすいが,FSB533でメモリバンド幅が狭いことが難点.
計算には向かないと思う.
0887877
04/02/20 01:15ID:1CBoErdxNEC SXの自動並列は844に書いたように良くないですよ。
ただ、自動並列の中では一番まともかもしれない。
私は、自動並列はその件があって以来、ほとんど使いません。
OpenMPやMPIで書いてます。がんばれば、自動並列よりも高速です(それが楽しいわけだが
私も前者ですね。安定性を取ります。そして、PC本体以上のお金をネットワークに
注ぎ込む。Infinibandかmyrinet、金が余りすぎていたらQsNetかな。
いずれにせよ、大規模クラスタはPC本体よりネットワークに金がかかる。
ギガビットイーサじゃ16台以上のクラスタでお話になりません。
0888login:Penguin
04/02/20 17:31ID:II/TPAcBifcでコンパイルしたコードが高速に動きますように、な〜むぅ〜。
-O3 -xW -tpp7 でオッケーかしらん。
0889877
04/02/20 21:10ID:1CBoErdx暇があったら、-fast(-staticと-ipo)も付けてみてください。
さらに暇があったら、GCCでの結果も希望。
さらに金があったらPGIコンパイラでの結果を希望。
0890login:Penguin
04/02/21 04:06ID:38g5+MVb32bitOSではどんな結果になるんだろ
ttp://www.spec.org/cpu2000/results/res2004q1/
0891876
04/02/21 14:30ID:8HsAQALQキャッシュミスしてしまうような計算だと2割ほど3.4Ghzの方が速く,
逆に,キャッシュミスしないような配列を取ると2割,Prescottの方が速い.
キャッシュミス版
Pen4 3.4Ghz 222.965Mflops
Prescott 3.2Ghz 181.81Mflops
キャッシュミス無し
Pen4 3.4Ghz 847.457Mflops
Prescott 3.2Ghz 1047.120Mflops
0892876
04/02/21 19:55ID:8HsAQALQhimenoベンチ,small版でテスト.
Pen4 3.4Ghz 801.47 Mflops
Prescott 3.2Ghz 1494.31 Mflops
こんなに差が出るものなのか?
コンパイラはifc7で,オプションは,
-O3 -tpp7 -axW -Vaxlib -w -static
です.
0893877
04/02/21 23:08ID:jfxu6FCfおお!素晴らしい。姫野ベンチの比較ありがとうございます。
PC Wa○chに載ってる比較よりも、姫野ベンチの方がとっても参考になります。
Prescottはキャッシュが大きいのでキャッシュミス無しは速い。
逆に言うとキャッシュが大きくレイテンシが大きいので
キャッシュミスした時のペナルティも大きい。
予想通りですね。
0894877
04/02/21 23:11ID:jfxu6FCfhimenoベンチは、キャッシュ容量が大きい方が有利なので
傾向は正しいけど、1.86倍も高速なのは驚きですね。クロックも低いのに。
プレスコット最適化オプション-xWNはどうですか?
また、姫野ベンチは-tpp6の方が速いです。
時間があったらトライしてみてください。
0895876
04/02/22 12:45ID:iR88Nu4w確かにPrescottの-xNを使ってみたいところでしたが,残念ながら
2003年8月版のifc7.1でSSE3の対応していませんでした.
とりあえず,-tpp6で行った結果です.今回は,3.2XEも追加します.
オプションいずれも,-O3 -tpp6 -axW -xW -Vaxlib -static
[email protected] 992.42 Mflops
[email protected] 1464.85 Mflops
[email protected] 1046.39 Mflops
となりました.Himenoベンチは単精度計算なので,確かに-tpp6の方が速くなるのですが,
Prescottではほとんど変わらないのが興味深いです.
また[email protected]が遅すぎる感がします.L3-cacheとはいえ,2MBの本領が発揮されていない気がします.
0896877
04/02/22 13:05ID:E0CmsZKJ早速のご報告ありがとうございます。
しかも、3.2XEまで付けてくださいまして。お金持ちなのですね。
3.2XEはあまり良くないですね。3.4GHzと比較してわずか50MFLOPSしか変わらない。
これで、5万以上の価格差があると考えてしまいます。L-3はレイテンシがかなり遅いんでしょうね、
Prescottの大容量L-2が1.4倍ものスコアを出しているのがそれを物語ってる気がします。
0897login:Penguin
04/02/22 22:06ID:RIN1wHYBicc8.0 を Debian/sid に入れた。
rpm がへんだ、という理由で、
install.sh が止まる。
rpm の deb はちゃんと入っているので、install.sh を変更。
- rpm -q rpm &> /dev/null
+ dpkg -s rpm &> /dev/null
- GLIBC="$(rpm -qa 2> /dev/null | grep '^glibc-[[:digit:]]' | cut -d'-' -f2)"
+ GLIBC="$(dpkg -l 2> /dev/null | grep '^glibc-[[:digit:]]' | cut -d'-' -f2)"
-DEFAULTOPTIONS='-U --replacefiles'
+DEFAULTOPTIONS='-Uvh --replacepkgs --replacefiles --nodeps'
gcc の "方言" が原因でコンパイルが止まることは、
もうほとんどないようだ。
xmame を
-xK -O3 -rcd -ipo -ipo_obj で
コンパイルしてみた。
とても速い。びっくり。
0898877
04/03/02 19:42ID:ZpErCZadhimenobmtxp_s.fを悪名高きifc8で検証しました.
コンパイルオプション-NPを付加してみました.
-O3 -tpp7 -axWNP -Vaxlib -static
MFLOPS: 1478.510 time(s): 50.11000
となるのに対して,-tpp6にすると
-O3 -tpp6 -axWNP -Vaxlib -static
MFLOPS: 601.8895 time(s): 61.56000
と,とんでもない結果となる.(3回行ったが傾向は同じ)
恐るべし・・・
0899877
04/03/03 01:13ID:kXEuxeA0どうでもいいけど 877は私です。
-NP オプションの結果ありがとうございます。
すごいですね、この結果!
姫野ベンチにおいては
Prescott以前では、-ttp6の方が速かったのに、
Prescottでは、-tpp7の方が速い。
Pentium4オプションの-tpp7で速い、Prescottは真のPentium4ですね。
コンパイルオプションをもう少し頑張れば、1.5GFLOPS超えますね。
既にOperonがかなわない領域です。
ホントに恐るべしです!
-NPによるSSE3効果と、CPUが-tpp7を真に理解できている効果ですね。
0900login:Penguin
04/03/05 05:12ID:Nw2Qktp70901login:Penguin
04/03/05 12:41ID:kgNxzR7r数値計算な皆様はどんなライブラリを使ってらっしゃるのでしょうか?
私は MKL+FFTW(既存のものとの互換用)+netlib みたいな体制ですが、
Absoft附属のIMSLみたく、suiteになっているのがちょっぴり羨しい今日この頃
# NAG高杉
0902login:Penguin
04/03/05 20:35ID:xegoVzMG続かないといわれても、姫野ベンチの報告はもうでてるわけだし。
各人のコードの結果を出してもあんまり参考にならないでしょ?
ちなみにわたすのコードもやっぱりPrescott+ifc8でずば抜けて速いでつ。
0903login:Penguin
04/03/05 23:09ID:FPCPfxtsおれんとこのコードではNorthWood比で5%くらいしか速くならなかった。
姫野ベンチだけの瞬間最大風速かと思ってたよ。
ちなみにPrescottでもifc7の方が速かった。
0904876
04/03/06 00:07ID:Z82muOURコードによって変わるのは当たり前のことだと思う.
要は自分のコードが速くなってくれるかどうかが一番重要なのよ.
ただ先人の評判を受けて,コードを見直すというのもまた賢いかも...
0905login:Penguin
04/03/06 15:52ID:5qmKzvec姫野ベンチ以外にもベンチは沢山あるし、
実用アプリケーションだって山ほどあるでしょ?
無いとは思うが、ifcが姫野ベンチチューニングした可能性だってあるわけだし(w
そういう意味で他の人の評価は知りたい
0906login:Penguin
04/03/06 16:29ID:ElyP7wq7SSE3の水平加算が効いてるのかな?
0907876
04/03/06 21:59ID:Z82muOURそれは無いよ.
でもバイナリバージョンのが何でコンパイルされているか知ってる人いない?
absoftのものだとずっと思っているんだけど.勝手な想像で.
0908login:Penguin
04/03/06 22:46ID:bRkosRDcバイナリバージョンって姫野ベンチWINDOWS版の?
いまstringsしてみたけどCompaq Visual Fortranぽい
0909907
04/03/06 23:48ID:Z82muOURムム.
言われてみれば,確かにソースファイルの方にも
Visual Fortran用のオプションがあったが・・・
Visual Fortranで試したんだけど,バイナリ版の値と違うことがあって違うと思ってしまった.
0910login:Penguin
04/03/07 00:24ID:G3X0GupN決まってしまうような気がする。
0912login:Penguin
04/03/07 02:12ID:G3X0GupN0913login:Penguin
04/03/07 09:19ID:HTsVo8S6ちなみに姫野ベンチはstreamベンチとあんまり相関なかった記憶があるけど
streamはメモリ帯域測定ベンチマークね
0914877
04/03/07 19:46ID:xbMHGdvr同じマザーや、メモリを使って、姫野ベンチを測定すれば、
メモリバンド幅は同じでしょ、northwoodでもprescottでも。
だから、キャッシュのレイテンシの話になっていると思うのですが。
streamもメモリバンド測定ベンチと言われているが、ようは使い方。
同じメモリバンド幅で、CPUを変えて測定すればレイテンシの影響が測定できる、
メモリバンド幅も変わってしまうような環境間で使えば、
それは、メモリバンド幅を相対的に測るベンチとなるんでは?
0915login:Penguin
04/03/07 20:26ID:HTsVo8S6そうなんだ。
895と同じ3種類の環境でstreamやったらCPU変えても結果まったく変わんなかったけど
もしかして使い方間違ってるんかな。
メモリはDDR400ね。
Function Rate (MB/s) Avg time Min time Max time
Copy: 320.0000 0.1125 0.1000 0.2000
Scale: 320.0000 0.1250 0.1000 0.2000
Add: 480.0000 0.1625 0.1000 0.2000
Triad: 480.0000 0.1000 0.1000 0.1000
0916login:Penguin
04/03/07 20:33ID:HTsVo8S6だれか知ってる人がいたら教えてください。
0917login:Penguin
04/03/08 18:07ID:y866kTB2速くならないのか考察してみたヤシはいないの?
今んとこ姫野ベンチ以外に具体例が無いから、いまいち信用できん。
速くなったケースではどんな問題を解いてる?
0918login:Penguin
04/03/08 18:41ID:4MF2nt8+水平加算でマトリックス系は全般的に速いんでない?
元々メモリ帯域は広かったし。
0919login:Penguin
04/03/08 19:45ID:y866kTB2メモリ帯域が変わらないのに速くなったってことは、
プリフェッチまわりが単純なマトリックス演算向けに
チューニングされたとか、そういうことかなあ。
0920login:Penguin
04/03/09 07:44ID:gY50bzfCライブラリをリンクするとき怒られまう。
もしかして32bit用のOSにしないといけないんですか?
0921login:Penguin
04/03/09 12:10ID:CLV88Ryc質問するならエラーメッセージくらい(ry
RH9でifc7が動かなかった問題と同じなら、動きそうなバージョンの
glibcを持ってきてそっちにリンクさせれば行けるかも。
http://softwareforums.intel.com/ids/board/message?board.id=11&message.id=34
0922login:Penguin
04/03/09 20:29ID:kiQ4+HHfリンカにi386アーキテクチャだよって教えてやればよかったはず。
うろ覚えだが、-Xlinker -melf_i386 とかでどうよ?
0923login:Penguin
04/03/15 13:23ID:8aCHZpBX今から登録するんで、7.1のダウンロードができるかどうかわからんですが、、、
偉い人教えて下さらないでしょうか?
0924877
04/03/16 23:35ID:3osCDUTp7.1と8は共存可能なので、両方をインストールして
安定した方を常用するのがベストだと思います。
0926login:Penguin
04/03/23 17:41ID:MZPvskmd0927jj
04/03/31 12:02ID:7a9Jd4Ebこちらが最適な掲示板のようなので,Intel Fortran Ver. 7.1について教えてください.
これまで,Pentium(初代)の古いLinux機(debian 3.0, kernel 2.2.20,libc2.2.5)に
IFC7.1をインストールし,普通に使えておりました.
MPICHなども動いています.
が,新しいPentium4,3.0GHzのPCに,やはりDebianをインストール,
(先述のPC共々,stableの最新の状態です)
同じファイルからIFC7.1をインストール(rpm→deb)しましたが,
コンパイルができないという現象が出ました.
コンパイルは,write文ひとつのものでもできず,
「Compiler Internal Error」というものが発生します.
もちろん,同じプログラムが前述のPCでは通ります.
OSの状態は,パッケージも含めほぼ同じで,CPUやらが違うだけです.
(キャラクタベースで計算のため,余分なモノもいれていない)
何か考えられる原因がありましたら,ご教授頂けないでしょうか?
0928jj
04/03/31 13:12ID:7a9Jd4Eb(確認ですが,pentium1機では普通に動いて,MPICHなども使えています)
ifc test.f90 -axiMKW
とすると,エラーメッセージが下記のように変わりました.
program TT
4 Lines Compiled
*Compiler Internal Error* : Please report to Intel(R) Corporation
compilation aborted for tt.f90 (code 1)
0929jj
04/03/31 22:19ID:7a9Jd4Ebカーネルを2.4,24にアップデートして無事解決しました.
(Pentium1機では動いていたのが謎ですが)
0930login:Penguin
04/03/31 22:22ID:NtEOVCsnオブジェクトを吐こうとしますよね。
コンパイルオプションで 66Mhz Pen 用の
オブジェクトにさせてはどうでしょうか。
また、4行は大きいので 男はだまって
END 文。だけではどうでしょう。
0931login:Penguin
04/05/03 18:06ID:OjQ7fltM0932login:Penguin
04/05/04 00:20ID:rW1+GBOA0933login:Penguin
04/05/08 11:56ID:006/DMWDでも自作コードだとPen4 2.8Ghzに1割以上負けちゃうんだよな〜
なかなか扱いが難しい.
それと3.0Ghz程度にオーバークロックしてもhimenobmtの数値が
ほとんど上がらない傾向にあるんだけど,なんでだか分かる人います?
そんな経験ないっすか?
0934crazy_u
04/05/08 15:40ID:2NlHAOCNv8.0でコンパイルするとI/Oが多い部分が極端に遅いので,マニュアルを調べてみたら
-assume nobuffered_io
がデフォルトだった。
-assume buffered_io
にしたら速くなった。I/Oが多い部分でv8.0は遅いと感じてる人は試してみると良いと思います。
FEM解析のソフト(チューニング済)では,IA64用に関しては
v8.0(l_fc_pc_8[1].0.039_pl044.1)は
v7.1(l_fc_pc_7[1].1.040),v8.0(l_fc_pc_8[1].0.046)よりも速かったです。
(自宅にHP ZX6000 1.3GHz(中古)が来たので色々試している最中です。)
0935login:Penguin
04/05/09 22:53ID:gV+1zjGH姫野ベンチは、演算も重要だがそれ以上にメモリ周りが効いてくる。
プレスコットで姫野ベンチが早いのはL2大容量(+SSE3)と思ってますが、
オーバークロックしてメモリの周波数が下がったら、それらの恩恵は
薄まるのでは?
オーバークロックしてメモリの周波数が下がってない?
あと、sサイズだとプレスコットではキャッシュインしている可能性がある。
キャッシュインしたら、オーバークロックしてメモリの周波数が上がったとしても、
そんなにスコアはあがらないと思う。
姫野ベンチはメモリ-CPU間を計っているようなもんだからなぁ。。。
0936crazy_u
04/05/20 23:59ID:A5bDFvnHItanium2 1.3GHz (zx1 chipset)
efc7.1, Build 20040310
block size: usr sys wallclock % : GFLOPS: 理論性能値比
mb=1:313.470u 0.243s 5:14.11 99.8%: 1.061: 20.41%
mb=2:128.245u 0.247s 2:08.56 99.9%: 2.593: 49.87%
mb=3:129.956u 0.237s 2:10.26 99.9%: 2.559: 49.27%
mb=4: 78.585u 0.242s 1:18.86 99.9%: 4.228: 81.23%
mb=5: 82.121u 0.228s 1:22.38 99.9%: 4.047: 77.83%
mb=6: 86.212u 0.245s 1:26.46 99.9%: 3.856: 74.15%
Itanium2 1.3GHz (zx1 chipset)
ifort8.0, Build 20040101 Package ID: l_fc_pc_8.0.039_pl044.1
mb=1:315.175u 0.241s 5:15.86 99.8%: 1.055: 20.30%
mb=2:130.405u 0.236s 2:10.72 99.9%: 2.550: 49.04%
mb=3:131.009u 0.235s 2:11.59 99.7%: 2.534; 48.72%
mb=4: 83.629u 0.250s 1:24.41 99.3%: 3.950; 75.95%
mb=5: 84.566u 0.229s 1:24.84 99.9%: 3.930: 75.57%
mb=6: 90.751u 0.237s 1:31.05 99.9%: 3.662: 70.41%
Itanium2 1.3GHz (zx1 chipset)
ifort8.0, Build 20040416 Package ID: l_fc_pc_8.0.046
mb=1:540.660u 0.232s 9:01.71 99.8%: 0.615: 11.84%
mb=2:129.862u 0.234s 2:10.15 99.9%: 2.562: 49.26%
mb=3:130.882u 0.242s 2:11.19 99.9%: 2.541: 48.87%
mb=4: 83.520u 0.241s 1:24.06 99.6%: 3.966: 76.27%
mb=5: 85.637u 0.236s 1:25.89 99.9%: 3.882: 74.65%
mb=6: 89.692u 0.240s 1:29.93 99.9%: 3.707: 71.29%
異様にmb=1の場合が遅い!!
0937crazy_u
04/05/21 00:00ID:3JbcJqkUPentium4 3.06GHz (i850E chipset)
ifc7.1, Build 20040310
mb=1:488.470u 0.560s 8:09.40 99.9%: 0.681: 22.26%
mb=2:218.320u 0.540s 3:38.97 99.9% 1.523: 49.76%
mb=3:159.510u 0.610s 2:40.51 99.7%: 2.077: 67.88%
mb=4:139.200u 0.500s 2:21.07 99.0%: 2.363: 77.23%
mb=5:176.180u 0.550s 2:57.01 99.8%: 1.883: 61.55%
mb=6:180.060u 0.550s 3:00.61 99.9%: 1.846: 60.32%
0938crazy_u
04/05/21 00:06ID:3JbcJqkUIA64に関してはifort8.0, Build 20040101 Package ID: l_fc_pc_8.0.039_pl044.1が
他のversionよりも1割ほど速かったです。
OSはRHEL3.0ASです。
RHEL3.0AS_update2ではglibc_develのバグでifort8.0はリンクできません(IA64)。
0939login:Penguin
04/05/23 02:15ID:luj+XkrJforrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
test_prog(※←プログラム名です。) 08530327 Unknown Unknown Unknown
Stack trace terminated abnormally.
となるのですがこれはベクトル化不可能と考えてよいのでしょうか。
0940login:Penguin
04/05/29 02:18ID:ltoFE3kC以前出始めの頃に、コンパイルの間違いと性能の劣化で、しばらく手を出さないで
置いたのだが、どうですか?
0941crazy_u
04/05/29 03:03ID:f7tpPT3Av7.1用にチューニングしたコードではv8.0は性能が全然でません。
それまでVectorizedされていた部分が,のきなみPartial vectorizedになってしまって
全く×です。使い物になりません。
v8.0でVectorizedになるように書換えるのはあまりにも多くの作業が必要で(数値計算ライブラリが50万ラインある)やってられません。
ですから,
IA32: v7.1
IA64: v8.0
で使用してます。
Prescott coreを使用している人の情報をお願いします。
0942login:Penguin
04/06/10 10:46ID:SdhbSpW1>今回評価したAbsoft社のFortranは、一部のプログラムでは
>GNU Fortranより低い性能しか出せませんでしたが、
おいおい
0943login:Penguin
04/06/18 11:17ID:wHS4VoNnBLASとかの中身が省略されているものなんでしょうか?
今までのMKLだとコンパイル(リンカ)が通ってたプログラムが定義されてない関数が残ってるっていうエラーはいて止まる。
それ以前にライブラリ自体が見つからない。libmkl_p4.aなんかはlibmkl_p4.soにファイル名が変更されてたけど・・・
0944login:Penguin
04/06/19 17:05ID:hcBGH92pScaLapackをサポートしたらしい。
#
インテルのIA32の64ビット拡張アーキテクチャー向きのコンパイラは
いつでるのだろうか? それはAMD64用にはうまく動かないように
なっているのだろうか? はたして。。。
0945login:Penguin
04/06/20 12:40ID:VDbqbQOfなんかいろいろと変化がある模様。
私はとりあえずコンパイル時に
ifort source.for /opt/intel_fc..../lib/32/libmkl_lapack.a /opt/intel_fc..../lib/32/libmkl_ia32.a /opt/intel_fc..../lib/32/libguide.a
としてうまくいっている様子。
場合によっては-staticオプションが必要かも。
コンパイラーのオプションがDec Fortranと違いすぎ。
誰か簡単な一覧作ってくれ。
0946945
04/06/20 19:00ID:1lntWs6/Intelのサイトのどっかにmklの使い方のドキュメントがあったはず。
それより誰か実行時デバッグのオプション教えてくれ。
0947login:Penguin
04/06/22 00:44ID:4JCCOPeW0948login:Penguin
04/06/22 00:49ID:4JCCOPeWコンパイルするコンパイラってない?
0949login:Penguin
04/06/22 00:58ID:eaI6uk3j0950login:Penguin
04/06/22 08:19ID:Fmm7hwssコンパイラは知らないけど、ライブラリかなんかは出してなかったっけ?
0951login:Penguin
04/06/22 18:15ID:fOI6gFpmう〜ん、ifort でコンパイルしたやつもはしるけど激オソ。
行列の対角化のルーティンだと Opteron 1.4G の速さは
Northwood 3G の半分くらい。ifort の x86-64版が出ると
差は縮まるのかな。
0952login:Penguin
04/06/22 21:58ID:js8bRpl7あることはあるけど…
0953login:Penguin
04/06/23 10:19ID:Hm7j1sae0954login:Penguin
04/06/23 16:18ID:Hm7j1saeVer.7の方がVer.8よりも高速ということなんで過去に入手していた
Intel(R) Fortran Compiler for 32-bit applications, Version 7.1 Build 20030307Z
をインストールしたんですが...
>>761のような症状が出てしまいました.そこで,>>766のような対処をしようと思うのですが.
パッチが見つかりません.Premier Supportには登録してあるのですが,なぜかCコンパイラのアップデートしかでてこないのです.
#Cコンパイラの非商用版
どこか,Premier Support以外でパッチを落すことが可能なサイトがあれば,教えていただけないでしょうか?
また,Intelにクレームを送りたいのですが,メールアドレスを御存じの方もいらっしゃれば教えていただけないでしょうか?
よろしくお願いします.
ちなみに,Ver.8は以下のような構成になっています.
Intel(R) Fortran Compiler for 32-bit applications, Version 8.0 Build 20031231Z Package ID: l_fc_pc_8.0.039
0955login:Penguin
04/06/23 18:46ID:0yt+eUt60956crazy_u
04/06/23 20:14ID:E8xxt/69Premier Supportに入ると"What's New"にまず入りますが,
左のリストの"File Downloads"に入ってProduct欄で
"Intel(R) Fortran Compiler for Linux"
か
"Intel(R) C++ Compier for Linux"
か
"All"
を選択して"Display File List"ボタンを押すと2004年1月からのが現れる.
最新のFortran v7.1はl_fc_pc_7.1.040.tar (3/17/2004)
最新のC++ v7.1はl_cc_pc_7.1.038.tar (5/21/2004)
0957957
04/06/23 20:39ID:Hm7j1sae>>956
さっそくにレスありがとうございます.
>>956さんがおっしゃるとおりにすると,C++コンパイラの更新情報は出てくるのですが,
Fortranの方が出てこないのです.Fortranの方も登録してあるのですが...
#現に, 3月の時点では件のパッチのお知らせがメールで届いているんです.
じつをいうと,4月でメールアドレスが変更になっていて,それをPremier Support
の個人情報に反映させてはいるのですが,それが原因なのかもしれません.
いずれにせよ,>>955さんから教えていただいたアドレスに問い合わせを出してみようと
思います.
#英語で書くのが欝出し...
0958login:Penguin
04/06/25 11:10ID:KGqHK0Vacompaq Fortranで -fpeみたいなの。
ユーザーズガイドでは見あたりませんでした。
0959955
04/06/29 12:51ID:MmwrCOQy下のに必要な分(XXとか名前とか)をいれて送るよろし
Dear Intel premier support:
I registered Intel Fortran Compiler for Linux XX month ago.
But, I could not find it in the product list on Premier Site.
Can I update the software?
Regards,
あなたの名前
0960login:Penguin
04/06/29 18:58ID:0kjj/IXpDO I=1,3
K_DASH(I,1)=KV(I,1)-KV(4,1)
ENDDO
上のような計算をベクトル化やSSE等で高速化するにはどうすればよいですか?
自動ベクトル化してくれるように、ベクトル化するように明示的に指示すればよいのか、
それとも、そもそもこういったループはベクトル化できないのかアドバイスをください。
0961crazy_u
04/06/29 22:42ID:rev7DWWTベクトル化されるが,
loop長が3だったらベクトル化しないで,手でloop unrollingする方が良い。
ベクトル化したいならマニュアルのコンパイルオプションの項をよく読めば分かる。
この手の演算はメモリーへの書き込み速度がボトルネックになるので,積和演算ほどは高速化されない。
私は,以下のようにしてる(Pentium4 Northwood用)
FFLAGS=-tpp7 -xW -unroll16 -O3 -prefetch -scalar_rep -prec_div -auto -fno-alias -fno-fnalias -ip -lib_inline -nobss_init -Zp8 -lowercase -Vaxlib -vec_report3 -V
0962login:Penguin
04/06/30 01:15ID:SFMofoeJ0963login:Penguin
04/06/30 16:00ID:AiTFd2p9以下によれば、コンバイラは7-9月期になるそうだ。
ttp://www.itmedia.co.jp/enterprise/articles/0406/29/news070.html?nc30
0964login:Penguin
04/06/30 18:15ID:NHxw14f6Noconaがえらく早い&安いで登場しちゃって困惑してます。
>>885-887 と若干かぶりますが、今から非クラスタ構成な数値計算マシンを導入
するなら、「ちょい待ち」を差し引いてもコンパイラの観点でNocona有利なのでしょうか?
それとも初物ということで見送りが吉?
識者の方々の御意見を伺いたく存じます。
0965login:Penguin
04/06/30 22:40ID:kw1wLLxoお、うちもほぼ同じ状況(^^;で、うちはもうちょっと新Xeon関係のベンチが出揃うまで待ちとなりますた。
個人的にはOpteron希望なんですが、数値計算関係でガチで比較してるサイトがあったら教えてください。
0966login:Penguin
04/07/02 03:21ID:iy/dn6d5インテルのコンパイラで何か不自由がありますか?
性能はインテルの物よりも落ちますか? (CPUクロックが同等の場合)
0967957
04/07/04 12:44ID:LOPpPOnOありがとうございます.なんと御礼を申してよいものやら...
さっそくに,コピペして送ります.
多謝
0968crazy_u
04/07/08 22:04ID:2IJ/hjjI試した人がいたら情報をお願いします。極めて高性能ならMKLを導入してみようと思います。
0969名無しさん@そうだ選挙に行こう
04/07/11 16:09ID:v7VsnVj5現在製品版「Intel Fortran Compiler 8.0 for Linux」と
「Intel c++ Compiler 8.0 for Linux」のインストールをしております。
XLSOFTの日本語マニュアルにはライセンスはCD-ROMの中についているとありますが、
それぞれのコンパイラの付属マニュアルにはWebで登録してライセンスを取得して
ください、とあります。
C++のインストールの際、実際CD-ROMの中のライセンスらしきファイル
(CTA EULA for Linux C Compiler (8_x).RTF)では
インストール途中のライセンス認識させる画面で弾かれてしまいました。
やはりWebからユーザ登録してライセンスを取得しなければいけないのでしょうか?
インストール経験者の方などいらっしゃいましたら、どうかお教えください。
0970969
04/07/11 16:10ID:v7VsnVj5ご容赦ください。
0971名無しさん@そうだ選挙に行こう
04/07/11 17:22ID:FyG8UizM0972名無しさん@そうだ選挙に行こう
04/07/11 17:59ID:XEz7xY/pl_cpp_xxxxxxxx.lic
l_for_xxxxxxxx.lic
の様な感じだった気がする。
0973login:Penguin
04/07/12 03:56ID:CLt2NmVs>Webからユーザ登録してライセンスを取得しなければいけないのでしょうか?
うん
0974login:Penguin
04/07/13 01:14ID:H9mTzxBuありがとうございました。
確かにオンライン登録してから送られてくるライセンスが必要でした。
本当に助かりました。
0975login:Penguin
04/07/13 12:48ID:s0dP6oksa はできるんだがなあ、何が悪いんだろう
0976login:Penguin
04/07/14 17:02ID:Ex/vFHL60977975
04/07/16 12:52ID:Ef8V7ImJなんだけどね、gcc,g77 じゃできるので、不思議。でも
checking for Fortran 77 libraries... -lm" -L/usr/local/intel/compiler70/ia32/lib -lm -L/usr/lib -lintrins -lIEPCF90 -lF90 -limf -lirc -lcxa -lunwind
checking for dummy main to link with Fortran 77 libraries... unknown
configure: WARNING: *** Couldn't figure out how to link C and Fortran; switching to --disable-fortran.
ってあるのが、心配。
0978login:Penguin
04/07/17 12:12ID:7WjCCLlIlibtool-1.5で作り直さないと。
0979login:Penguin
04/07/22 19:58ID:8TePabnRMKL7が出ました。クラスタ向きにScalapackを含んでいます。
0980login:Penguin
04/07/23 00:13ID:dVzh8xyu> 64ビット拡張モードをサポートしたコンパイラが出ました。
EMT64サポートキター!
で、誰かOp持ってる人、IntelコンパイラのOpでの性能がどんな感じか、レポートしていただけないでしょうか。
0981login:Penguin
04/07/23 01:23ID:iqzxVk2zその吐いたコードがきちんと性能良く正しく動くのか、などを。
0982login:Penguin
04/07/23 01:59ID:+7xif8t40983login:Penguin
04/07/23 17:07ID:rcNLsHmWAthlon64 3000+でテストしました.
Himeno benchで
S 711 MFlops L 640 MFlops
となりました。オプションによる動作がEMT64とどうも違いそうな予感
0984login:Penguin
04/07/24 14:10ID:cb1s8kNZむぅ。これだと同じコンパイラで32bitコード吐かせた時よりだいぶ遅くないっすか?
0985login:Penguin
04/07/25 09:47ID:WiMWDyG2レス数が950を超えています。1000を超えると書き込みができなくなります。