インテルC++コンパイラ9.0発表!

■ このスレッドは過去ログ倉庫に格納されています
2005/06/16(木) 00:54:56
結構前からインテルのFTPサイトからダウソ出来たがようやく正式に出荷だ。
8.0と8.1は糞だったが9.0は実行速度もアプし、コンパイル時間も短くなった。
インテラーな人は来いノシ
2005/06/26(日) 06:05:38
athlon64などAMDのプロセッサで使用した際の最適化は他のコンパイラと比較してどうなのでしょうか?
2005/06/26(日) 10:16:27
3DNow!叩かないからUnko
SSEはおまけ程度だし
2005/06/26(日) 10:37:46
そこで PathScaleですよ
2005/06/26(日) 16:59:53
久々に進んでると思ったら('A`)

>>76
ムキになるほど心当たりがあるってことだろ
釣られるんじゃね
2005/06/26(日) 17:59:00
IA64スレでちとやってたけど、ICはVCと単純に入れ替えただけじゃあ
さほどうまみが無いという結論になりますた。

この上にある単精度演算の優位性と、あとは組み込みSIMD関数
を使った時の自動命令スケジューリングが命のようです。
2005/06/26(日) 18:26:01
工作員が入り込んでいるようですね。
2005/06/26(日) 18:39:03
VS2005 beta2手に入れたので、Apache2.0.54 Win32をビルドして
ab.exeで速度をはかってみました。
やり方はhttp://pc8.2ch.net/test/read.cgi/mysv/1048494944/

icc8.1と比べVS2005は12%ダウンですた。

>>82
君はどこの工作員?
2005/06/26(日) 18:50:01
>>83
どっちもコンパイルオプションキボンヌ
2005/06/26(日) 19:01:51
両方ともApacheに入っていた同じプロジェクトファイル使っていて
速度に関するオプションは/O2だけかと思います。
8685
垢版 |
2005/06/26(日) 19:02:15
>>84
2005/06/26(日) 19:43:55
>>85
もし暇で面倒でなかったら、どちらも最大全力ガチンコ勝負させてみてくれい。
広域最適化やガイドオプチ、インテルの方はQax系も…めんどうだなorzわがままスマソ

8885
垢版 |
2005/06/26(日) 21:00:53
>>84
ごめん逆。12%アップの間違い。
iccとvsでapcacheのディレクトリをそれぞれ作ったんだけど
それぞれ逆のディレクトリにビルドしてしまったorz
2005/06/26(日) 21:43:51
>>88
逆って……またひとつインテルだめぽ伝説がorz
2005/06/26(日) 22:10:32
>>74
使ってもいないのに、文句たれているやつが一番キモイと思います。
9185
垢版 |
2005/06/26(日) 22:16:49
>>87
あまりにもプロジェクト数が多いので、オプション書き直すのが大変です。
すみませんが、ご自分でお試しください。
2005/06/26(日) 22:49:28
8.1から9.0でほとんど違いはないけど、アセンブラ出力してみると
微妙に違う。依存関係のある演算はなるべく間をおくようになっている。
例えばこんな感じ。

addpsxmm2, xmm4
mulpsxmm2, xmm7
por  xmm3, xmm1

addpsxmm2, xmm4
por  xmm3, xmm1
mulpsxmm2, xmm7

CPUのスケジューラでやってくれそうなことだけど、効果あるのかな?
2005/06/26(日) 23:29:19
>>92
効果があるなんてもんじゃない。

例えば手動で組むときもそれやんないとCの汎用ルーチンより
遅くなることも珍しくない

つーか今までやってなかったのか?
2005/06/26(日) 23:31:35
>>92
>>93は、オウトオブオーダーをCPUがやってくれたとしても
さらに効果あるよ、ということ。オレの実経験上の話だけど。
2005/06/27(月) 02:23:09

      ,.ィ , - 、._     、
.      ,イ/ l/       ̄ ̄`ヽ!__
     ト/ |' {              `ヽ.            ,ヘ
    N│ ヽ. `                 ヽ         /ヽ /  ∨
   N.ヽ.ヽ、            ,        }    l\/  `′
.  ヽヽ.\         ,.ィイハ       |   _|
   ヾニー __ _ -=_彡ソノ u_\ヽ、   |  \   
.      ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ   > インテルのコンパイラが速いというのは
.       l    ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__   アポーが写真屋の一部のフィルターの処理だけ比べて
       ゙iー- イ'__ ヽ、..___ノ   トr‐'    /    Pen4より速いと宣伝するのと同じくらい信用出来ないことなんだよ!
       l   `___,.、     u ./│    /_ 
.        ヽ.  }z‐r--|     /  ト,        |  ,、
           >、`ー-- '  ./  / |ヽ     l/ ヽ   ,ヘ
      _,./| ヽ`ー--‐ _´.. ‐''´   ./  \、       \/ ヽ/
-‐ '''"  ̄ /  :|   ,ゝ=<      /    | `'''‐- 、.._
     /   !./l;';';';';';';\    ./    │   _
      _,> '´|l. ミ:ゝ、;';';_/,´\  ./|._ , --、 | i´!⌒!l  r:,=i   
.     |     |:.l. /';';';';';|=  ヽ/:.| .|l⌒l lニ._ | ゙ー=':| |. L._」 ))
      l.    |:.:.l./';';';';';';'!    /:.:.| i´|.ー‐' | / |    |. !   l
.     l.   |:.:.:.!';';';';';';';'|  /:.:.:.:!.|"'|.   l'  │-==:|. ! ==l   ,. -‐;
     l   |:.:.:.:l;';';';';';';';| /:.:.:.:.:| i=!ー=;: l   |    l. |   | /   //
       l  |:.:.:.:.:l;';';';';';';'|/:.:.:.:.:.:.!│ l    l、 :|    | } _|,.{::  7 ))
        l  |:.:.:.:.:.:l;';';';';'/:.:.:.:.:.:.:.:| |__,.ヽ、__,. ヽ._」 ー=:::レ'  ::::::|;   7
.      l |:.:.:.:.:.:.l;';';'/:.:.:.:.:.:.:.:.:.|. \:::::\::::: ヽ  ::::::!′ :::|   .:/
2005/06/27(月) 14:02:00
3DNowとかAMD系の命令は使えますか?
2005/06/27(月) 21:00:42
9.0は警告が少なくなったような気がするが。
2005/06/28(火) 22:09:50
インテルのコンパイラに変えたら
20パーセントも速くなりました。
やっぱりハイパースレッディングに対応させたのが良いですね。
こんなに素晴らしいコンパイラを提供出来るインテルは
凄いと思います。

と、一度言ってみたい。
2005/06/28(火) 22:20:42
>>98
それチョウチン記事と一緒
2005/06/28(火) 23:38:32
>>98
一部ループが/Qparallelで90%ほど速くなりましたが。Opteronで
2005/06/29(水) 00:00:43
nandatte-
2005/06/29(水) 00:05:33
2回ワラタ
2005/06/29(水) 02:01:01
>>100
演算量に対しメモリアクセスの少ないループなら有効ですかね?
↓みたいな。

for(i=0;i<100000000;i++)
 a[i] = sin(b[i]) + cos(b[i]);
2005/06/29(水) 08:58:54
わかった!
for(i=0;i<100000000;i++);
これが
i=100000000;
に最適化されたんじゃねーの?
2005/06/29(水) 19:12:13
>>103
それでは、Qparallelは有効になりません。
ループ内におけるメモリアクセスの割合がまだ大きいです。

a[i] = sin(i%123) + cos(i%456);
このくらいやらないとw
2005/06/29(水) 20:01:46
三角関数は周期関数だから
2005/06/29(水) 20:42:26
C++で、for文で宣言された変数のスコープってどうなっていますか?
forブロックの中、それとも外のブロック?
2005/06/29(水) 20:51:40
設定出来る
109デフォルトの名無しさん
垢版 |
2005/06/29(水) 21:23:29
AMD、インテルを米独禁法違反で提訴
http://www.amd.com/jp-ja/Corporate/VirtualPressRoom/0,,51_104_543~99722,00.html

インテルは、ソフトウェア・プログラムを機械が読み取れる言語に翻訳するコンパイラを
設計する際に、AMDプロセッサ搭載コンピュータ上でプログラムを実行した場合は性能が
低下するようにした
2005/06/29(水) 22:54:42
>>109
if(AMD){
 遅いコード;
} else {
 速いコード;
}
ってコード吐き出すのかね?(ワラタ)
2005/06/30(木) 00:37:16
安藤のCPUで速かったら、別の意味で凄いな。
というか、それならぜひとも買ってみたいぞ。
2005/06/30(木) 00:38:48
もしやバイナリーのサイズが恐ろしく巨大なのは
対AMDのコードが挿入されているとかw
2005/06/30(木) 00:58:59
とにかく、インテルのコンパイラはAMDに対応しているわけだ。
114デフォルトの名無しさん
垢版 |
2005/06/30(木) 09:18:59
このスレ読むとiccって一部の評判ほど高速化しない様だけど
http://www.drk7.jp/MT/archives/000772.html
こういう情報もあるわけで
結局どうなんですか賢者様
2005/06/30(木) 11:29:45
>>114
他のコンパイラもそんなにタコでもない、元の比較対象か状況が
あまりにも特殊か、どこか間違えてるんじゃない?
2005/06/30(木) 12:37:32
>>114
自分で確認すりゃいいじゃん。
2005/06/30(木) 13:10:53
よく分からないがそのベンチマークは一カ所からのリダイレクトを計っている
だけか?
2005/06/30(木) 13:46:16
人リ〒ノレ
2005/06/30(木) 15:45:36
>>116
自分の場合、とりあえず動作する環境構築は出来たとしても、
パフォーマンスに影響を与える色々な設定を
あまり熟知していないので、自分の比較検証なんてアテになりません。
2005/06/30(木) 16:09:14
その環境でも比較することは出来る。
パフォーマンスに影響を与える色々な設定をあまり熟知していないなら、
そういう使い方が自分の使い方になるわけだから、
それで比較してみれば良い。それで十分。
自分なりに検証してみることが重要。
121デフォルトの名無しさん
垢版 |
2005/07/08(金) 18:43:54
アップデートあげ

Intel® C++ Compiler 9.0 for Windows* product update is now available for download.
The package id is w_cc_c_9.0.020 IA32 Compiler Build 20050624Z , Itanium Compiler Build 20050628 ,
Intel(R) C++ compiler for EM64T-based applications, Version 9.0 Build 20050623.
2005/07/08(金) 22:24:36
何か良くなった?
2005/07/08(金) 22:40:15
    r‐┐            r‐┐        r‐┐
    |_|.    __   .__|  |__         .|  |
    | ̄| | ̄!'´.  `ヽ |__  __|          |  |
    |  | |. .r"⌒ヽ .|  |  |.    ___   |  |
    |  | |  |   |  |  |  |  ,r''"   .`ヽ |  |
    |  | |  |   |  |  |  !__i'. ,r"⌒ヽ  i|  |
    |_| |_|   |_|  !、___   _ ̄ ̄ __.,|
                       !  !、 ̄ ̄,―,
                   ゝ、_  ̄ _ノ
                       ̄ ̄

  ∩∩ High performance and low price            ∩
  (7ヌ)                              (/ /
 / /                 ∧_∧            ||
/ /  ∧_∧     ∧_∧  _(´∀` )   ∧_∧   ||
\ \( ´∀`)―--( ´∀` ) ̄      ⌒ヽ(´∀` ) //
  \       /⌒   ⌒ ̄ヽ、Itanium/~⌒    ⌒ /
   |      |ー、      / ̄|    //`i Xeon   /
   |Celeron| |Pentium/ (ミ   ミ)  |    |
   |    | |     | /      \ |    |
   |    |  )    /   /\   \|       ヽ
   /   ノ | /  ヽ ヽ、_/)  (\    ) ゝ  |
   |  |  | /   /|   / レ   \`ー ' |  |  /

2005/07/13(水) 00:58:43
インテルコンパイラ、インストールがわかりにくい
おまけにIEがデフォブラウザじゃないとインストールできない
125デフォルトの名無しさん
垢版 |
2005/07/13(水) 03:10:48
dual CPU,ハイパースレッディング環境で main thread の他に演算 
作業用スレッドを 4個作って処理させています。 4個のスレッドがそれぞれ 
異なる4つの(論理)CPU に割り当てられた時はとても速く動作するのですが、 
同じ CPU に2つのスレッドが割り当てられたりすると、1つのCPUが遊んで 
しまい、処理が遅くなってしまう事があります。このような事を防ぎ、 
確実に異なる CPU にスレッドを割り当てたいのですが、よい方法は 
ありませんでしょうか?お詳しい方がいらっしゃいましたらぜひご教授 
よろしくお願いいたします。 

2005/07/13(水) 05:04:56
>>124
直接、setup.exe起動すればいいのでは?
2005/07/13(水) 05:19:45
>>125
http://www.intel.com/cd/ids/developer/asmo-na/eng/dc/threading/knowledgebase/43838.htm
2005/07/13(水) 08:39:26
>>125
WinだとSetAffinityMaskとか割り振りようのAPIがある。実際そういうコード組んでる
2005/07/13(水) 08:45:11
>>126
ダウンロードしたやつのインストールの話なんだが、直にsetup
叩いてもうまくいかなかった。デフォブラウザがOperaだと実際
インストールが途中で失敗する。仕方ないのでIEに戻したよorz
ネスケとかだとどうかな?
2005/07/13(水) 08:54:04
>>128
Affinityのマスクbitがどの論理CPUを示しているのわからない。
127にあるように、Affinityを変えるごとにAPIC IDを確認していくのが確実。
2005/07/13(水) 10:25:32
>>130
>>125は分散させたいのでは。
どの論理CPUかは、前から割り振られてんじゃないの?
2005/07/13(水) 10:59:19
2つのスレッドをそれぞれ別の物理プロセッサに割り当てたい
といっていると思うのだけど。
2005/07/13(水) 12:23:00
4個のスレッドを4個の論理CPUに分けたいのかと思った。
そうかなるほど、どの論理CPUがどの物理CPUかはわからんのか。
2005/07/13(水) 18:59:15
>>132
同じ物理CPUでも別の論理CPUなら、さほど酷いことには
ならないんじゃない? 物理CPUまで別のときに比べて
どれほどうまみがあるかはものによると思うけど
2005/07/14(木) 05:01:26
>>134
2つのスレッドがビジーであれば、スレッドは1つずつ論理プロセッサに
勝手に割り当てられる。
2005/07/14(木) 08:39:46
>同じ CPU に2つのスレッドが割り当てられたりすると、
これが
1・同じ物理 CPU に2つのスレッドが別の論理CPUに割り当て
2・同じ論理 CPU に2つのスレッドが同時に割り当て
どっちだ??
2005/07/14(木) 12:52:37
                         .,Å
                      .r-‐i'''''''''''i''''‐-、
                    o| o! .o  i o !o
                    .|\__|`‐´`‐/|__/|
                     |_, ─''''''''''''─ ,、 /
                    、-'      u   -、  
                  / U          0 \
                 /          /     i
                 |   ● ,,.   .,, ●      | 
      __   .      !    (_人__)        ノ
  /´ ̄       `!.      丶_   u        U ノ
  |  `にこ匸'_ノ .       '-、、,,,,,,_______,,,,,,、、-'
  ノ u  {                 _.. -―| :{   ,/ /   \
. / l   | __  / ̄ ̄`>'´   ノ'    ´ {、    \
/ |/     {'´    `ヽ. " ̄\ U `ヽ.    __,,.. -‐丶 u  ヽ
| / ヾ、..  }      u' 〉、    }    `ー''´  /´ ̄ `ヽ '" ̄\
! :}  )「` ノ、     ノ l\"´_,,ニ=-― <´  ヽ{  ノ(   `、  |
l   、_,/j `ー一''"   },  ノ ,  '''''""  \   ヽ ⌒ヾ      v  |
ヽ   _         /   } {. { l ┌n‐く  ヽ/ ``\        ノ
  `¨´    `¨¨¨¨´ ̄`{ 0  `'^┴'ー┘|ヾ    }、 u'   `  --‐r'′ キングヤッタス!!

2005/07/15(金) 10:41:33
もうインテルコンパイラの話題は無いのか…オレのお試し期間ももうすぐ終了だぁ
139デフォルトの名無しさん
垢版 |
2005/07/15(金) 13:03:46
http://www.itmedia.co.jp/news/articles/0507/14/news031.html
2005/07/15(金) 13:47:47
>プログラムが真正のAMD製マイクロプロセッサを探知した場合には

AMDなんて探知していない。
Intel以外は全部だめ。
2005/07/15(金) 14:04:39
おれんとこじゃPen系でもVC8の吐き出したやつに負けるからどうでもいいが、

でもクラッシュはホントかね。別のコードパスが実行されるって、
両方持って得る香具師ステップして確かめたことある?

たとえばQaxNだと北林かそうで無いかで分けるから結果そうなるんじゃないのか。
クラッシュとかしたらソフト出荷できないからかえってコンパイラの信頼落ちるだろ?
2005/07/15(金) 14:27:27
>>141
先にIntelチェックをしてから、CPUの機能をチェックしているので
北森だろうがなんだろうが関係ないです。

うちはAthlon64だけど、全体的にVC8よりICCの方が速いですね。
もちろんIntelチェックを行わないよう細工しています。
2005/07/15(金) 14:57:45
あのEXEのでかさはマジでインテル以外の遅いコードパスが
入ってるからなのか? 信じられん

細工の詳細キボンヌ
2005/07/15(金) 16:57:19
どうせなら This program is only on Intel CPU Sorry! とか出して
止まっちゃうほうが潔いね。英語への突っ込みは無しねorz
2005/07/15(金) 17:25:12
>>143
↓をmain()のあるソースに加えて、linkオプションに/FORCEを付ける。

extern int __intel_cpu_indicator;
void __intel_cpu_indicator_init(void)
{



拡張命令使うなら
__intel_cpu_indicator = -512;
使わないなら
__intel_cpu_indicator = -1;
}
2005/07/15(金) 17:47:29
>>145
ありがと。マジなんか…

どっちでAMDでも最適化コードが使われるようになるの?
__intel_cpu_indicator = -512;
__intel_cpu_indicator = -1;

あと、ホントにそのチェック外しても大丈夫なんかね?

インテル固有オペコードとかを使っているのを他のCPUで
実行させたときにおかしくならないようにする為の細工じゃないのか
2005/07/15(金) 18:43:22
普通に考えりゃ
__intel_cpu_indicator = -512;
っすねorz
2005/07/16(土) 23:37:29
MFCのクラス(CBitmap等)を含むVC++ .NET2003で作成された
クラスライブラリを、そのままインテルコンパイラで
コンパイルできるのでしょうか?

ソース的には、ベクトル、行列演算、三角関数等の浮動小数点演算を含む
動画画像処理系のソースなんですが、コンパイラによりどの程度の
速度差が生まれるのか興味があります。
業務に使っているPCなので、体験版・試用版のプログラムは入れられない事に
社内規約上なっていて、インテルコンパイラでコンパイルできるのであれば
購入して試してみたいと思っています。
2005/07/17(日) 00:45:45
>>148
望む情報かどうかは分からないけど

VC:'a':無符号
ICC:'a':符号あり

でした。スイッチとかあるかもしれないけど、両方のコンパイラで
同じ動作させるには何がしかの苦労はあるんじゃないかな

互換性は高い方だと思いますが。

>体験版・試用版のプログラムは入れられない事に

体験版入れて、気に入ったらそのまま製品版ライセンスを
購入できるのでは? XLsoftに聞いてみたらいいと思う。

性能アップしたらリポートキボンヌ
150148
垢版 |
2005/07/17(日) 01:32:51
>>149

ありがとうございます。なるほど。互換性も含めて確認してみたいですね。
60日間、体験版として使った後に、気に入ったら製品版ライセンスを取得して
ライセンスファイルを取得・指定すれば、即製品版になるという事のようですね。

月曜日に出社するので、試してみます。
現状の会社のPCはデュアルXeon 3.06GHzなので、SSE2/3 を含め、
デュアルコアだけでなくHT/マルチCPU環境で、
インテルコンパイラがどんな仕事をしてくれるか、楽しみです。
(大きな期待はしていません。)

結果などは、何か解りしだい書きますね。
2005/07/17(日) 01:45:51
>>150
追記

9のインストールは先に8のインストールが必要でかなり分かりにくい
(おまけのその8がまともに動かない明らかにエラーのある
バージョンに先祖がえり起こしてるw)

そこから9へアップするのはプレミアサポートへの登録がさらに
必要だったと思う(無料だけど)

他に、体験版は30日だった気がする。IEもデフォのブラウザで必要。
じゃあガンバッテ
2005/07/17(日) 07:58:07
>>149
すくなくともVCにはcharをunsigned charにするオプションが在る。
2005/07/17(日) 09:24:24
ICCにもある。/Jオプション
2005/07/17(日) 09:43:10
>>152 >>153
そういうこと? どっちもデフォの状態として

VC : char : signed , 'a' : unsigned
ICC : char : signed , 'a' : signed

のような気がするんだけど。

半角アルファベットだと差は無いけど、漢字とかをシフトして
両者の違いに気がついた
155148
垢版 |
2005/07/17(日) 15:22:56
>>154

VC++ .NET2003では、char はデフォルトでは signed char のようです。
/J オプションで unsigned char になるようですね。

ICCでも、この点は同じオプションで指定できるということのようですね。

今のところ、VC++ IDEベースで、ICCを使おうと考えているので、
プロジェクトファイルを VC →ICC へ変更して使えば、
コンパイルオプションは、そのまま引き継がれそうです。
2005/07/17(日) 16:04:07
charは同じだけど、'あ'って全角の文字定数を書くと、
ICCはsigned short っぽい動作をするのではないか。
VCはunsigned short。前出のスイッチの問題じゃないと思う
157148
垢版 |
2005/07/18(月) 22:59:49
とりあえず、速報ですが、ICC Ver9.0(30日間試用版)をダウンロードして試してみました。
環境は、Xeon 3.06GHz × 2 / Windows XP Pro/ 32bitの環境で、HTはONです。

従来、VC++ .NET 2003で平均35ms程度かかっていた画像処理タスク関数処理時間
(NTSC同期フレーム処理)が、平均23ms程度に高速化できました。
オフライン処理でbmpファイルを1000枚読ませて処理される場合などでも、明らかに速度差があります。
期待以上の結果でした。

基本的にVC++ .NET2003のIDE環境で、プロジェクトファイルをICC形式へコンバートしているので、
VC++ .NET2003のコンパイラと広域最適化、組み込み関数、Pentium4コードなどの最適化オプションは同一です。

ただし、ICC向けに拡張されている項目では「Pentium4 なんとか SSE3」にしています。
ループ処理の自動並列化(スレッド化?)の項目は、有効にすると例外処理で落ちるようになりましたので、設定していません。

VC++ .NET2003と共通のSIMD SSE、SSE2コードを使うかどうかの設定は、SSE2にすると微妙に速度が落ちたので、両社ともSSEコードで使うようにしています。

コンパイルオプションなどは、後日書ければと思います。

実行ファイルサイズですが、リリース版で

VC++ .NET 2003 418KByte
ICC 622KByte

という結果になりました。
今回、画像処理アルゴリズムは、Static Linkライブラリ化して、分割コンパイルで
リングバッファリングなどをしている メインタスクとリンクして使うようにしていますが、
画像処理アルゴリズムだけ ICC でコンパイルし、メインタスクはVC++ .NET2003で
コンパイルすると、リンクは通り、実行ファイルは作成されるものの、実行すると例外処理で落ちる状態となりました。

現在は、メインタスクもアルゴリズム側も、ICC でコンパイルしています。

ICCでのコンパイルですが、一部のレジスタ変数で警告がでる他はコンパイル時間も速く、思ったより快適でした。
158148
垢版 |
2005/07/18(月) 23:01:44
↑の全角の文字定数問題!? は、まだ確認していません。

画像処理結果で算出される浮動小数点パラメータですが、VC++ .NET2003の結果と
ICCの結果は、数値演算レベルでは完全に一致はしませんでした。
SIMD命令関係で、丸め込まれているだけかも知れません。
画像処理結果として、影響がでる範囲ではありませんでしたので、今回の用途では問題にはなりません。

正直、画像処理アルゴリズム側のソースは、Cレベルの記述でも、もっと最適化できると思われる
レベルのソースでかなり悲惨な内容です。グレースケール画像自体を float で持っていたりして
内容的にも浮動小数点演算の固まりのようなソースなので、
こういう状態のソースには ICC は強いのかも知れません。orz
2005/07/18(月) 23:41:34
>浮動小数点パラメータですが、VC++ .NET2003の結果とICCの結果は、
>数値演算レベルでは完全に一致はしませんでした。
そう、違う。よく比較してみると結構違ってたりするので注意が必要。
2005/07/19(火) 00:00:56
効果ある人もいるんだ…ウラヤマスイ

おれはコンパイル時間かかるは実行性能落ちるわで散々。
今んところ導入は見送っているよ

>Cレベルの記述でも、もっと最適化できると思われる
得てしてコンパイラの最適化ってのはこんなもんでしょうねぇ

おれんところのはやはり画像処理系だけど、手でがりがりにチューニングしている。
もちろんSIMDなんかも自前で使っている。この状態だとVCの方がいい結果を出す
2005/07/19(火) 07:39:32
>>145
SSEを使用しない場合__intel_cpu_indicator = 1(というか8bit以内)
じゃないといけないのでは?
-1だと、SSE使用のパスに分岐してしまうような。
2005/07/19(火) 09:18:29
>>161
>>142
>先にIntelチェックをしてから、CPUの機能をチェックしているので
とあるのでSSEチェックよりも前の話かと思ったんだけど…?
2005/07/19(火) 10:57:05
>>162
>(拡張命令を)使わないなら
>__intel_cpu_indicator = -1;
ここが間違いではないかと言っているのです。

あと、拡張命令を使う場合も-512(0xfffffe00)だとまずいです。理由は(ry
2005/07/20(水) 06:39:49
>>163
オリジナルの__intel_cpu_indicator_initみると、CPUの認識で
__intel_cpu_indicatorに入れる値はSSE2以降が0x400、SSE3以降が0x800と
なるみたいですね。
2005/07/24(日) 14:28:55
バージョンごとに変えてきていたりして。
2005/07/24(日) 17:21:54
うひゃあ、こりゃ使えんなあ
2005/07/31(日) 23:10:13
毎日毎日文句言ってintelチェック無しのを送ってもらった
2005/08/02(火) 00:50:27
AMD乙
169デフォルトの名無しさん
垢版 |
2005/08/04(木) 03:22:24
アップデートあげ
170デフォルトの名無しさん
垢版 |
2005/08/04(木) 23:07:49
ねえ、VC8って何のこと。.NET2005のこと?
おせーてつかーさい。
2005/08/06(土) 21:11:31
http://ads.slashdot.jp/banner/fxbn3002ja.gif?1123329845250
172デフォルトの名無しさん
垢版 |
2005/08/30(火) 09:36:34
ICCではVCの __assume() みたいなこと出来ないんですか?
2005/08/31(水) 08:57:13
使えます
2005/09/01(木) 08:46:09
なあ、最新版はAMD対応って書いてあるんだが
intelチェックが外れただけだったりするんだろうか
175デフォルトの名無しさん
垢版 |
2005/09/01(木) 16:20:11
バイナリーをfcコマンドで比較して
差分を検討汁!
2005/09/01(木) 18:46:27
>>174
外れていないわけだが
■ このスレッドは過去ログ倉庫に格納されています