インテルC++コンパイラ9.0発表!
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/06/16(木) 00:54:568.0と8.1は糞だったが9.0は実行速度もアプし、コンパイル時間も短くなった。
インテラーな人は来いノシ
0153デフォルトの名無しさん
2005/07/17(日) 09:24:240154デフォルトの名無しさん
2005/07/17(日) 09:43:10そういうこと? どっちもデフォの状態として
VC : char : signed , 'a' : unsigned
ICC : char : signed , 'a' : signed
のような気がするんだけど。
半角アルファベットだと差は無いけど、漢字とかをシフトして
両者の違いに気がついた
0155148
2005/07/17(日) 15:22:56VC++ .NET2003では、char はデフォルトでは signed char のようです。
/J オプションで unsigned char になるようですね。
ICCでも、この点は同じオプションで指定できるということのようですね。
今のところ、VC++ IDEベースで、ICCを使おうと考えているので、
プロジェクトファイルを VC →ICC へ変更して使えば、
コンパイルオプションは、そのまま引き継がれそうです。
0156デフォルトの名無しさん
2005/07/17(日) 16:04:07ICCはsigned short っぽい動作をするのではないか。
VCはunsigned short。前出のスイッチの問題じゃないと思う
0157148
2005/07/18(月) 22:59:49環境は、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でのコンパイルですが、一部のレジスタ変数で警告がでる他はコンパイル時間も速く、思ったより快適でした。
0158148
2005/07/18(月) 23:01:44画像処理結果で算出される浮動小数点パラメータですが、VC++ .NET2003の結果と
ICCの結果は、数値演算レベルでは完全に一致はしませんでした。
SIMD命令関係で、丸め込まれているだけかも知れません。
画像処理結果として、影響がでる範囲ではありませんでしたので、今回の用途では問題にはなりません。
正直、画像処理アルゴリズム側のソースは、Cレベルの記述でも、もっと最適化できると思われる
レベルのソースでかなり悲惨な内容です。グレースケール画像自体を float で持っていたりして
内容的にも浮動小数点演算の固まりのようなソースなので、
こういう状態のソースには ICC は強いのかも知れません。orz
0159デフォルトの名無しさん
2005/07/18(月) 23:41:34>数値演算レベルでは完全に一致はしませんでした。
そう、違う。よく比較してみると結構違ってたりするので注意が必要。
0160デフォルトの名無しさん
2005/07/19(火) 00:00:56おれはコンパイル時間かかるは実行性能落ちるわで散々。
今んところ導入は見送っているよ
>Cレベルの記述でも、もっと最適化できると思われる
得てしてコンパイラの最適化ってのはこんなもんでしょうねぇ
おれんところのはやはり画像処理系だけど、手でがりがりにチューニングしている。
もちろんSIMDなんかも自前で使っている。この状態だとVCの方がいい結果を出す
0161デフォルトの名無しさん
2005/07/19(火) 07:39:32SSEを使用しない場合__intel_cpu_indicator = 1(というか8bit以内)
じゃないといけないのでは?
-1だと、SSE使用のパスに分岐してしまうような。
0162デフォルトの名無しさん
2005/07/19(火) 09:18:29>>142に
>先にIntelチェックをしてから、CPUの機能をチェックしているので
とあるのでSSEチェックよりも前の話かと思ったんだけど…?
0163デフォルトの名無しさん
2005/07/19(火) 10:57:05>(拡張命令を)使わないなら
>__intel_cpu_indicator = -1;
ここが間違いではないかと言っているのです。
あと、拡張命令を使う場合も-512(0xfffffe00)だとまずいです。理由は(ry
0164デフォルトの名無しさん
2005/07/20(水) 06:39:49オリジナルの__intel_cpu_indicator_initみると、CPUの認識で
__intel_cpu_indicatorに入れる値はSSE2以降が0x400、SSE3以降が0x800と
なるみたいですね。
0165デフォルトの名無しさん
2005/07/24(日) 14:28:550166デフォルトの名無しさん
2005/07/24(日) 17:21:540167デフォルトの名無しさん
2005/07/31(日) 23:10:130168デフォルトの名無しさん
2005/08/02(火) 00:50:270169デフォルトの名無しさん
2005/08/04(木) 03:22:240170デフォルトの名無しさん
2005/08/04(木) 23:07:49おせーてつかーさい。
0171デフォルトの名無しさん
2005/08/06(土) 21:11:310172デフォルトの名無しさん
2005/08/30(火) 09:36:340173デフォルトの名無しさん
2005/08/31(水) 08:57:130174デフォルトの名無しさん
2005/09/01(木) 08:46:09intelチェックが外れただけだったりするんだろうか
0175デフォルトの名無しさん
2005/09/01(木) 16:20:11差分を検討汁!
0176デフォルトの名無しさん
2005/09/01(木) 18:46:27外れていないわけだが
0177デフォルトの名無しさん
2005/09/01(木) 19:05:100178デフォルトの名無しさん
2005/09/01(木) 19:19:14>C:\ fc a.txt b.txt > c.txt
とするとc.txtにa.txtとb.txtの違いが保存される。
バイナリーファイルの比較も出来る。
0179デフォルトの名無しさん
2005/09/01(木) 21:45:060180デフォルトの名無しさん
2005/09/02(金) 00:53:37プログラマは専ブラ使わないのねw
0181デフォルトの名無しさん
2005/09/21(水) 21:15:14じゃんじゃん書いてやれ。
0182デフォルトの名無しさん
2005/09/21(水) 22:44:12ユソパ丁ヲ
0183デフォルトの名無しさん
2005/10/06(木) 14:38:250184デフォルトの名無しさん
2005/11/06(日) 16:34:49ライバルのICCで最適化する必要が有るじゃダメだろ。
gccで最適化ってマカー並みだな。
0185デフォルトの名無しさん
2005/11/07(月) 12:21:460186デフォルトの名無しさん
2005/11/07(月) 13:30:37Windows版がないようだけど。
0187デフォルトの名無しさん
2005/11/07(月) 22:33:580188デフォルトの名無しさん
2005/11/07(月) 22:48:50最適化コンパイラ作るにはそれなりの人材と資金がいるから大変なんだよ。
IntelもCompaq(DEC)などからかき集めてきたみたいだし。
AMDも自社のCPU用に最適化した数値演算ライブラリ(AMCL)なら出してるけどね。
0189デフォルトの名無しさん
2005/11/08(火) 13:58:46大して代わり映えのしないものしか作れないと
いうのも問題だ。
0190デフォルトの名無しさん
2005/11/09(水) 08:02:250191デフォルトの名無しさん
2005/11/11(金) 17:24:29自動並列化オプションでコンパイルしてスコアを伸ばしているね。
http://www.spec.org/cpu2000/results/res2005q4/cpu2000-20050906-04678.html
Intelなどの他のコンパイラにも自動並列化機能はあったと思うけど、
SPECfp2000で使われているのって見たことないな。
0192デフォルトの名無しさん
2005/11/12(土) 03:10:12リンカに__intel_cpu_indicator_initは既にあるといわれてしまうんだけど
どうして?
0193デフォルトの名無しさん
2005/11/12(土) 03:37:500194デフォルトの名無しさん
2005/11/12(土) 04:13:510195デフォルトの名無しさん
2005/11/12(土) 06:40:59/FORCEオプション付けてないというオチじゃねーだろうな
0196デフォルトの名無しさん
2005/12/02(金) 14:10:190197デフォルトの名無しさん
2005/12/05(月) 15:33:30Where is a valid FLEXlm license for this product?
Enter path to directory or file, or port@host for counted licenses, or just press 'Enter' to exit :
というメッセージが出るのですがこれは.licファイルのことではないのでしょうか?
.licファイルを指定しても同じメッセージが出てきて先に進めません。よろしくお願いします。
0198デフォルトの名無しさん
2005/12/06(火) 18:19:12.licファイルをc:\においても駄目?
パスに日本語やスペースが入ったりすると駄目だったような気がする。
0199デフォルトの名無しさん
2005/12/11(日) 01:40:24アンケート結果を公表すると言ってたのはどうなったんだ?
インテル嘘付いてる?
まだか?
0200ハーピィ
2005/12/24(土) 01:07:150201デフォルトの名無しさん
2006/01/10(火) 06:04:460202デフォルトの名無しさん
2006/01/16(月) 05:09:11ファイルサイズが、ipoを無効にしている場合と比べて、
およそ800倍になってしまった上に、そのライブラリを
リンクすると内部エラーが起こる。
同じ症状の人はいないか?
0203デフォルトの名無しさん
2006/01/16(月) 05:51:05<´ 天狗じゃ、天狗の仕業じゃ! >
⌒ v'⌒ヽr -、_ ,r v'⌒ヽr ' ⌒
// // ///:: < _,ノ`' 、ヽ、_ ノ ;;;ヽ //
///// /:::: (y○')`ヽ) ( ´(y○') ;;| /
// //,|::: ( ( / ヽ) )+ ;| /
/ // |::: + ) )|~ ̄ ̄~.|( ( ;;;|// ////
/// :|:: ( (||||! i: |||! !| |) ) ;;;|// ///
////|:::: + U | |||| !! !!||| :U ;;; ;;;| ///
////|::::: | |!!||l ll|| !! !!| | ;;;;;;| ////
// / ヽ::::: | ! || | ||!!| ;;;;;;/// //
// // ゝ:::::::: : | `ー----−' |__////
0204デフォルトの名無しさん
2006/01/26(木) 10:20:02したら、メンバテンプレートでエラー。
まさか、対応してない?
0205デフォルトの名無しさん
2006/01/26(木) 14:27:04再現する最小のコードきぼんにゅ
0206デフォルトの名無しさん
2006/02/04(土) 07:07:40普通速くならないっすか?
0207デフォルトの名無しさん
2006/02/04(土) 11:59:420208デフォルトの名無しさん
2006/02/04(土) 23:29:57そうなん?
単にライブラリ無いとこでも動けるようにするってだけじゃん?
速度は関係ないような。いやむしろ遅くなるのかな
0209デフォルトの名無しさん
2006/02/17(金) 17:06:280210デフォルトの名無しさん
2006/02/17(金) 17:47:49/QaxK
のようなもの
0211デフォルトの名無しさん
2006/02/17(金) 18:06:32自分で組み込み関数使って書いた方がいいと思う。
0212デフォルトの名無しさん
2006/02/19(日) 14:31:32嫌な奴だな。
0213デフォルトの名無しさん
2006/02/20(月) 07:12:460214デフォルトの名無しさん
2006/02/20(月) 17:18:160215>∀<)っ-{}@{}@{}@- ◆Pu/ODYSSEY
2006/02/20(月) 17:23:000216デフォルトの名無しさん
2006/02/20(月) 17:29:260217デフォルトの名無しさん
2006/03/03(金) 22:00:44Fatal Error : This program was not built to run on the processor in your system.
って出て動かないぜ!
orz
0218デフォルトの名無しさん
2006/03/04(土) 07:59:48-fastは/QxP /O3 /Qipo /Qprec-div-と等価なのでPentium4+SSE3でコンパイルされる。
/QxPを使用するプロセッサに応じて変更すべし。
詳しくはicl /?で。
0219デフォルトの名無しさん
2006/03/08(水) 06:53:440220デフォルトの名無しさん
2006/03/08(水) 07:30:310221デフォルトの名無しさん
2006/03/14(火) 22:59:230222デフォルトの名無しさん
2006/03/16(木) 00:31:530223http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 22:36:51もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
0224デフォルトの名無しさん
2006/03/26(日) 20:37:150225デフォルトの名無しさん
2006/04/02(日) 06:25:04どこに書けばよいのでしょうか?
0226225
2006/04/02(日) 06:34:220227225
2006/04/02(日) 06:39:430228デフォルトの名無しさん
2006/04/02(日) 08:13:010229225
2006/04/02(日) 08:45:420230デフォルトの名無しさん
2006/04/02(日) 16:39:23俺も詳しいやり方は知らね
0231デフォルトの名無しさん
2006/04/03(月) 00:23:100232デフォルトの名無しさん
2006/04/20(木) 00:42:193/2リリースのでVS2005に対応したぽいけど、統合環境に組み込めるのかな?
リリースノートにはcommand-lineだけとか書いてあるように見える・・・
VS2005の強化機能は使いたいけど、ちゃんと組み込めるんだろうか
0233デフォルトの名無しさん
2006/04/20(木) 18:53:46ttp://www.xlsoft.com/jp/products/intel/support/intel_faq/cpp/windows/sb/xl-02162006-1.htm
>インテル コンパイラー 9.0 Windows 版は、Microsoft Visual Studio 2005 をサポート
>します。このサポートはコマンドラインからのコンパイルのみが対象です。
>
>Visual Studio 2005 IDE (統合開発環境) への統合機能は、近日中にリリース予定
>のバージョン 9.1 にてサポートする予定です。
0234デフォルトの名無しさん
2006/04/20(木) 22:32:59�d。
そうかー9.1まで待ちかー。
でも上の方見ると、普通にVC2005の方が強力に見える・・・
OpenMPもサポートしたしねえVC。
これでMPIもサポートし出したら立つ瀬無いな。
0235デフォルトの名無しさん
2006/05/10(水) 23:25:100236デフォルトの名無しさん
2006/05/11(木) 11:45:39Core2最適化オプション/QxTが追加された。
0237デフォルトの名無しさん
2006/05/12(金) 11:01:590238デフォルトの名無しさん
2006/05/12(金) 22:31:02命令セットが増えたわけでもなし、いったいどこが変わっているのだろう。
今、9.0.22使っているけどライセンスが切れているのでもし十分な効果があるのならまた買わないと。
0239デフォルトの名無しさん
2006/05/14(日) 08:11:59それは無理難題を
0240デフォルトの名無しさん
2006/06/24(土) 20:45:31http://www.digit-life.com/articles2/cpu/rmma-yonah.html Table 7
こういうのに合せて並べ変えしたり、命令を変更したりするとか
0241デフォルトの名無しさん
2006/08/13(日) 17:54:440242デフォルトの名無しさん
2006/10/19(木) 17:28:17'保守'
0243デフォルトの名無しさん
2006/12/20(水) 01:28:37デバッグ情報が壊れてリンクできないとエラーをはくのだができてる人います?
0244デフォルトの名無しさん
2006/12/20(水) 03:53:410245デフォルトの名無しさん
2006/12/21(木) 11:06:13できてるよ
0246デフォルトの名無しさん
2007/02/03(土) 04:53:440247デフォルトの名無しさん
2007/03/24(土) 09:28:18LNK 1103エラーでました。
プロジェクトのプロパティ->C/C++->最適化
のオプションを、最大限の最適化(/Ox)で、出なくなりました。
0248デフォルトの名無しさん
2007/04/09(月) 08:04:130249デフォルトの名無しさん
2007/04/09(月) 08:08:230250デフォルトの名無しさん
2007/04/09(月) 13:40:390251デフォルトの名無しさん
2007/04/12(木) 18:51:11何が違うのでしょうか?
0252デフォルトの名無しさん
2007/04/12(木) 19:22:31実行時にそのCPUがサポートしていない命令が含まれていた場合は当然動かない。
-ax 指定したCPU用に最適化したコードの他にIA-32汎用のコードも含め、実行時にどちらかを使う。
とりあえず全てのIA-32系CPUで実行可能なプログラムができる。
■ このスレッドは過去ログ倉庫に格納されています