intel compiler for Linux
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/11/29 17:53ID:5k7yf0aiintel 社の Web ページ
URL:<http://developer.intel.com/software/products/eval/>
の、"Non-Commercial Unsupported Software(非商用、サポート無し)" から、
RedHat系Linux 6.2 または 7.1 に対応した IA-32 や IA-64向きの
最適化C++,Fortran9x用のコンパイラ(version 5.0.1) が無料で
ダウンロードできるようになっています。
(詳しいライセンス条件は、ダウンロード時に表示される文書を
参照してください。)
intel 自身が作ってますので、インテル系のCPUの資源を活用できる
実行ファイルが生成されるます。(AMD の Athlon も Pentium III と
みなしてコンパイルオプションを選べばMMX機能などを使うことが可能です。)
以下は、「無料永続版」を入手した後で、それを実際に使えるようにする
ための設定方法の記述です。
C++ と fortran9x を両方ともインストールする例を書いていますが、
どちらかだけしか必要ない場合は、片方を省略することができます。
例は RedHat6.2 系統向けになっていますが、7.x 向けの場合でも大体同様です。
(Web ページからダウンロードしてくるファイルが違うだけです。)
ダウンロードする際に入力したメールアドレスにインストール時に必要となる
ライセンスキー情報が送られてきます。
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掲示板に行っても「そんなスレありません」
でしたので。
■ このスレッドは過去ログ倉庫に格納されています