インテルC++コンパイラ9.0発表!
■ このスレッドは過去ログ倉庫に格納されています
結構前からインテルのFTPサイトからダウソ出来たがようやく正式に出荷だ。 8.0と8.1は糞だったが9.0は実行速度もアプし、コンパイル時間も短くなった。 インテラーな人は来いノシ AMD C++ コンパイラ1.0発表 www.amd.com/us-en/Processors/Develop/compiler/download.html AMD Core Math Library (ACML) ttp://developer.amd.com/acml.aspx 7.0購入組みだが、9.0も無料でアップグレードできるとは。 メール着てびっくり。 効果あった人いる? 速くなったとか小さくなったとか ためしたところ速度は8とほとんど変わらない。 吐き出すexeは相変わらずでかいし、その割りに速度はVCシリーズ とトントンかチト負けてる。 もうちょっと頑張って欲しいんだが、使い方が悪いのかな…? VC6だとオバカなので IntelCの方が断然早いけど、VC7は賢いのでそんなにかわらない。 でも DualCore に対応したのが大きいと思う。。 VC8のほうが賢いと思う(こっちはまだバグがあるけど) >でも DualCore に対応したのが大きいと思う これはどんなアプリで速くなる?(今までのHT対応の うたい文句とは別のことをするの?) AMDプロセッサにも対応しましたね。 というかIntelチェックをはずしただけか。 だれかインテルコンパイラのすばらしさを語ってくれ。 MSCってSSEのパック命令を吐いてくれる? IntelC++は使ってくれるけど。 >>18 よく知らないけどVC(MSC?)ではSSE関係のビルトインは使ったことは無い。 そもそも無いのかもしれない。 VCでSIMD使いたかったら_asmで直に記述だけど、 ICのSSEビルトイン命令は_asmよりもいいことある? >>19 iclはSSEを意識してプログラミングしなくても、必要とあれば勝手に SSE命令を使ってくれるんじゃなかたっけ? >>20 それはVC7,8にもスイッチある。/arch:sse だったっけ? 体感できるほど実感はなかったけど…。 ICの/Qxオプションで体感するほど性能アップを感じた人いますか? VC++7.0(.NET 2002)には無いぽ /Qxオプションよりも/Qaxオプションの方が良いぽ >>21 自作プログラムはほとんど速度を要求しないものばかりで 体感云々は感じないけど、姫野ベンチとかはある程度効果があったよ。 icl 9.0 EM64T(-QxW -Qipo -O3)とcl 8.0 x64(-O2 -favor:AMD64)で 10%強くらいの違い。 よくわかってないんだけど、IntelC++コンパイラって Linuxでしか使わなくていいよね?Winなら現行と次のVCあれば問題ないよね? TK2003のVC7には/arch:sse,sse2オプションあるよ。 >/Qxオプションよりも/Qaxオプションの方が良いぽ /Qx /Qax どっちも性能アップを体感できなかった… Qaxは動作する CPUを選ばなくなる代わりに、事前判別のオーバーヘッド&EXEがでかく なるデメリットあるよね? まあ、どっちにしろ早くならないわけだが。 いままでSIMD系を自動で利用する機能で効果あったためしが無いんだわ。 VC,ICともに。 そもそも_asmで直にSIMD書いても、相当がんばって命令順序の最適化を やらないと大抵はCのSIMD無しのコードに負けちゃう。(それだけ 通常のコンパイル結果が優れているんだろう) まあだからこそ手作業で、コンパイル結果より高性能なSIMDのコードを 書き上げることは価値があるんだけどね。 SSE,SSE2を自動で使って幸せになった香具師、語ってくれ! >>24 ICはVCほど高くないし(余計なもの付いてないし)、性能出るなら 導入したいと思ってるんだが、あんなにでかい&VC比で大して速く ないじゃあしょうがない… インテルのサイトにIC導入で幸せになった企業の成功談義が載ってる の見たことあるけど、ほんとかよって感じ >>26 WinXP x64、Opteron246、姫野ベンチの配列サイズはMiddle。 MSC Version 14.00.50215.44 for 80x86 /O2 687.5[MFLOPS] /O2 /arch:SSE /arch:SSE2 407.5[MFLOPS] ICC Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019 /Qipo /O3 877.6[MFLOPS] /Qipo /QxW /O3 1021.6[MFLOPS] icl9.0、AMDに対応という割には/QxNが相変わらず使えないんだが。 >>28 >/O2 /arch:SSE /arch:SSE2 407.5[MFLOPS] VCだとSSE2使って性能落ちるんかい! ICが優秀な場合もあるんだねえ〜。あ、でもICにipo(グローバル最適化?) つけるんならVC8にも/GL,/LTGCつけてあげてよ。 さらにガイドオプティマイズ組み合わせればSSEはともかく結果ひっくり返るかもよ。 >>29 MSC Version 14.00.50215.44 for 80x86 /O2 /GL 689.7[MFLOPS] (/LTGCは無いみたい) ちなみにVC6(Version 12.00.8804) /O2 880.5[MFLOPS] >>30 /GLはコンパイル時に、/LTGCはリンク時に付けます(両方必要) ただ、IDEのプロパティからプログラム全体の最適化でリンク時のコード生成を 選んだのならどっちもついてると思う。 >VC8 /O2 /GL 689.7[MFLOPS] >VC6 /O2 880.5[MFLOPS] 何かが間違ってる気もしますが、こちらの実感としても VC6のサイズオプティマイズ(O1)が一番バランスいいという ケースもあるので、プログラムの性質によってはそういう 結果になるのかも…うーむ。 EXEのサイズはやっぱりICの方がかなり大きい? > MSC Version 14.00.50215.44 for 80x86 これって何についてくるコンパイラ? VS2005? ICCは実行ファイルでかい。かなりインライン展開とかループの アンロールとか多いのではなかろうかと思っている。 ところでICC9.0ってANSI/ISO C++に完全準拠したの?以前は説明に例外事項 が出ていたけど9.0のマニュアルにはそうしたことは出てないんですが。 とりあえずドライストーンをコンパイルして試そうぜ。 イソテルとマイクロンフトの結果も出てるから比較しやすいじゃんぐ。 ttp://pcweb.mycom.co.jp/special/2005/compiler/menu.html >ttp://pcweb.mycom.co.jp/special/2005/compiler/menu.html この記事大丈夫か? ICCがVC必須とかデバッガがIDE上で動くとか 平気で書いてるが… ベンチマークもいいけど、皆の作成している、現実的な状況での 有用性を知りたい。 Windows版は文字通りコンパイラだけでリンカが付属してないから少なくともVC++が必要だぞ。 >>37 xilink6.exeはリンカじゃなかったのか…? Qipoの面倒だけ見て後はVCのリンカへ丸投げか。 まあ、今はMSからVCただでダウンロードできるからいいのか。 >>34 アンロールはデフォルトでオフになっているようです。 >>39 じゃあ何であんなにでっかいんでしょうねぇ? 下手するとVCのデバッグビルドにも匹敵するような 大きさのEXEを吐かないか? サイズは少々でかくても速ければいいんだが、 VC++に比べて今一つなんだよなぁ。 でかさを相殺するほどは早くないんだよねえ。 VCに負ける場合もあるし(っていうかICが勝ってる実感ほとんどないんよ) ならばHTやマルチプロセッサ環境(ICの得意分野?)で圧倒的に 役に立ってるよ!って香具師いたら、リポートキボンヌ >>40 でかいって、10倍や100倍になってしまうの? 倍くらいの大きさで速くなるのなら別にいいと思う。 >>39 デフォルトでQunrollですよ、8.1/9,0は。 >>43 倍にもならないです。プログラムによってICCが出力するファイルがMSCより 小さくなることもあります。 さすがに10倍にはならないけど、VC++で120KB程度ならICCでは 340-400KBくらいにはなる。3-4倍くらいかな。それで10秒かかる計算が 9秒で終わるようになっても嬉しくないわけで、投資する価値があるかと。 ただ、小数計算が多いと整数並みに速くはなるみたいだから そういう処理が多い人は効果を実感できるんじゃないかな。 >>43 >>44 各種最適化オプション(高速化のため)を組み合わせると VCの2〜3倍、ものによっては4倍近くならない? >倍にもならないです。プログラムによってICCが出力するファイルがMSCより >小さくなることもあります。 小さくなる事例は見たこと無いなあ…どのぐらいの規模なの? こちらのはVCで600〜800KB(Ox,GLなど)がICで2MB(Qipo,Qax)近くなる (デバッグ情報は含んでない、念のため) >>46 Qaxつかったらファイルサイズが大きくなるのは当たり前では? 2種類のコードが含まれるわけでしょ。 MSCのオプションを/Ox /GL、ICCを/Qipo /O3(SSE使わない)でコンパイルして 速度とファイルサイズを比較した方がいいとおもうけど。 >>46 http://www5e.biglobe.ne.jp/ ~liquor/raytrace/ ここのソースをコンパイルしたらICCがMSCよりファイルサイズが 小さくなったのであのように書きました。 >47にならって、 ICC9.0 Build 20050430Z(/Qipo /O3)がファイルサイズ61440byte、実行時間942[ms] MSC14.・・・(/GL /Ox)が90112byte、実行時間953[ms] >>47 こっちとしてはコンパイラの得意技使ってでも高性能たたき出して 欲しいんいだわ。サイズ2倍3倍になってもコンスタントに2割3割 速くなればうれしい状況もあるし。 Qaxはずしてサイズ縮まったとしてもVCと比べて似たような結果になるだけだ ったらICを検討する価値ない。(確かに縮まるがVCよりはこっちのケースでは 数百キロでかい) あと、Qaxをはずしたコードが早くなったらそれこそ笑っちゃうじゃない。 だからQaxをつけた状態でVCに比して速度的に? だったらIC何やってんの? って思う。実際今そう。 >>48 検証ありがとう^^; 実行時間は1%じゃ誤差の範囲かなあ。吐かれたコードのキャッシュへの たまたまの乗り具合で変動しちゃうこともあるし。 ファイルサイズについては良いですね。 総じてこういうケースなら ICをサイズ最適化用のコンパイラとして評価することもできるんだけど、 いかんせんこっちのケースではどうしようもない。 ベンチじゃなくて、ご自身がご飯食べているコードで幸せになりましたか? そういう生の声が聞きたい。 >>48 >http://www5e.biglobe.ne.jp/ ~liquor/raytrace/ ソース見てみましたが、これじゃサイズとして参考にならないと思う。 文句ばかり言って気を悪くしたらごめんなさい。 プログラムが小さすぎて、EXEにくっつくランタイムの大きさとかの差が もろに出てしまってるのでは? VC8のランタイムは、VC6,7(ICはこっちを使ってるでしょ?)に比べてかなり 大きいような気がする。 Aviutlプラグインフィルタ自作していますが、VS2003付属のコンパイラ より3割ほど速くなりました。 ICCはとてもいいコンパイラですね。 >>51 指定オプションおしえて あと、プログラムは浮動少数使いまくり? >>52 VSのオプション設定に加えたのは/fastだけ。 単精度使いまくりです。 Ogg Vorbisの最適化やってるけどサイズはGCCとICLではあまり差が出ない。 最もSSE最適化を使っているのでP3以上のCPU専用コードでビルドしていて SSE非対応CPU用のコードを含んでいないせいかもしれない。 速度の方はやっぱりICLが速いけど手動SSE最適化を進めるとGCCとの差が短くなる傾向にある。 8.1と9.0では有意な速度差は見られなかった。 >>53 総じて ・でかい ・ある程度規模のあるアプリでは速度差はあまり無い ・浮動小数演算に向いている かな。今のところ >>54 >GCCとICLではあまり差が出ない。 GCCとICはどっちもVCよりかなりでかいとどこかで見た気がする。 LINUX? >手動SSE最適化を進めるとGCCとの差が短くなる傾向にある。 それでもICLの方が早いの? 相当がんばれば手動SSEの方が早くなると思う。まあ、それやっちゃうと ICはいらんがな。 SSE無しと比べてどのくらい早いですか? 24分59秒の曲をAthlonXP 1700+でエンコードした場合 GCC SSE最適化なし 2分53秒09 8.6657倍 GCC SSE最適化あり 2分31秒97 9.8700倍 ICL SSE最適化あり 2分29秒00 10.0667倍 GCC 手動最適化 1分28秒99 16.8555倍 ICL 手動最適化 1分18秒27 19.0533倍 GCCとICLの自動SSE最適化であまり差が無いのはAthlonでの傾向だと思う。 ICLの手動最適化ではプロファイラを使用した2パスコンパイルを実施している。 ICLは基本性能に加えて 小数点演算のSSE/SSE2によるレジスタオペレーション(GCCでもできる) ベクタライズ化 が優れているんだけどコンパイラによる自動ベクタライズ化では単純な処理しか できなくてシャッフルを使ったデータの組み換えや条件分岐の置換などは無理。 VC7に関してはあまり使ってないのでよくわからないけど以前見た感じでは SSEビルトイン命令の最適化が今ひとつだった。 >自動ベクタライズ化では単純な処理 そうそう。出力見ていてベクトル化が成功したとか出ると おおーっ、と感動したが、該当するソースを見てみると なんだこれか、これはどうでもいいよ、みたいな。 簡単なものしか成功しないみたいだった。 >>58 >GCC SSE最適化なし 2分53秒09 8.6657倍 >ICL SSE最適化あり 2分29秒00 10.0667倍 おお、早くなってますね! モノによっては効くんだ、ICLのSSE最適化。 VC8での性能も知りたいところだなあ。VC8はガイドプロファイリングオプティマイズ がかなり賢いから、もしそういうの好きだったら競争させて見てはどうかな >>50 >VC8のランタイムは、VC6,7(ICはこっちを使ってるでしょ?)に比べてかなり ICL、MSCともに同じコマンドプロンプト上で実行しているので インクルードファイル、ライブラリともに同じものを使っていると思います。 >>63 例えばレイトレベンチではなくて、 #include "stdio.h" main(){ printf("hello"); } だったら似通ったサイズになりますか? さすがにこれだけだと、生成コードに大差は無いでしょうから。 それだけ小さいと、main()以外のものが多すぎて比較にならない希ガス。 リリースビルドで変更箇所/O1 /OPT:NOWIN98のみ icc9.0:28672バイト vc.net2002:27648バイト インテルだめぽ orz >>65 >それだけ小さいと、main()以外のものが多すぎて比較にならない希ガス。 むしろそれが狙い。これやって大きさが変わるようなら、63殿の状況で ICがVCとは違うものを引っ張ってきている可能性大 >>66 もしかして64に対する返信? ほとんど変わらないんだったら、 http://www5e.biglobe.ne.jp/ ~liquor/raytrace/ に対してはインテル優秀と言えるのでは。 何でだめぽなの? ICL8.1(windows) を利用しているのですが sleep 文を使うとそんな命令はありませんと 怒られてしまいます。 intel compiler には sleep 文は無いのでしょうか? もしくは適当なヘッダファイルを include する必要があるのでしょうか? ご存知の方がいらっしゃいましたら、ご教授よろしくお願いいたしますm(__)m >>68 <Windows.h>にはSleep関数がある。 >>69 ありがとうございます!Sleep を使用する事にします。 次の質問は、「Sleep(10)しても10秒止まってくれないのは何ででしょう」かな? 誰か、HTかマルチプロセッサ環境で、ループの自動並列化が 役に立った香具師いるかい? どんなアプリかも教えてほしい 二日ぶりのレスがそれかよ〜 手放しでほめてるやつんなんていないんじゃない? athlon64などAMDのプロセッサで使用した際の最適化は他のコンパイラと比較してどうなのでしょうか? 3DNow!叩かないからUnko SSEはおまけ程度だし 久々に進んでると思ったら('A`) >>76 ムキになるほど心当たりがあるってことだろ 釣られるんじゃね IA64スレでちとやってたけど、ICはVCと単純に入れ替えただけじゃあ さほどうまみが無いという結論になりますた。 この上にある単精度演算の優位性と、あとは組み込みSIMD関数 を使った時の自動命令スケジューリングが命のようです。 VS2005 beta2手に入れたので、Apache2.0.54 Win32をビルドして ab.exeで速度をはかってみました。 やり方はhttp://pc8.2ch.net/test/read.cgi/mysv/1048494944/ icc8.1と比べVS2005は12%ダウンですた。 >>82 君はどこの工作員? 両方ともApacheに入っていた同じプロジェクトファイル使っていて 速度に関するオプションは/O2だけかと思います。 >>85 もし暇で面倒でなかったら、どちらも最大全力ガチンコ勝負させてみてくれい。 広域最適化やガイドオプチ、インテルの方はQax系も…めんどうだなorzわがままスマソ >>84 ごめん逆。12%アップの間違い。 iccとvsでapcacheのディレクトリをそれぞれ作ったんだけど それぞれ逆のディレクトリにビルドしてしまったorz >>88 逆って……またひとつインテルだめぽ伝説がorz >>74 使ってもいないのに、文句たれているやつが一番キモイと思います。 >>87 あまりにもプロジェクト数が多いので、オプション書き直すのが大変です。 すみませんが、ご自分でお試しください。 8.1から9.0でほとんど違いはないけど、アセンブラ出力してみると 微妙に違う。依存関係のある演算はなるべく間をおくようになっている。 例えばこんな感じ。 addpsxmm2, xmm4 mulpsxmm2, xmm7 por xmm3, xmm1 ↓ addpsxmm2, xmm4 por xmm3, xmm1 mulpsxmm2, xmm7 CPUのスケジューラでやってくれそうなことだけど、効果あるのかな? >>92 効果があるなんてもんじゃない。 例えば手動で組むときもそれやんないとCの汎用ルーチンより 遅くなることも珍しくない つーか今までやってなかったのか? >>92 >>93 は、オウトオブオーダーをCPUがやってくれたとしても さらに効果あるよ、ということ。オレの実経験上の話だけど。 ,.ィ , - 、._ 、 . ,イ/ 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;';';'/:.:.:.:.:.:.:.:.:.|. \:::::\::::: ヽ ::::::!′ :::| .:/ インテルのコンパイラに変えたら 20パーセントも速くなりました。 やっぱりハイパースレッディングに対応させたのが良いですね。 こんなに素晴らしいコンパイラを提供出来るインテルは 凄いと思います。 と、一度言ってみたい。 >>98 一部ループが/Qparallelで90%ほど速くなりましたが。Opteronで >>100 演算量に対しメモリアクセスの少ないループなら有効ですかね? ↓みたいな。 for(i=0;i<100000000;i++) a[i] = sin(b[i]) + cos(b[i]); わかった! for(i=0;i<100000000;i++); これが i=100000000; に最適化されたんじゃねーの? >>103 それでは、Qparallelは有効になりません。 ループ内におけるメモリアクセスの割合がまだ大きいです。 a[i] = sin(i%123) + cos(i%456); このくらいやらないとw C++で、for文で宣言された変数のスコープってどうなっていますか? forブロックの中、それとも外のブロック? AMD、インテルを米独禁法違反で提訴 http://www.amd.com/jp-ja/Corporate/VirtualPressRoom/0,,51_104_543 ~99722,00.html インテルは、ソフトウェア・プログラムを機械が読み取れる言語に翻訳するコンパイラを 設計する際に、AMDプロセッサ搭載コンピュータ上でプログラムを実行した場合は性能が 低下するようにした >>109 if(AMD){ 遅いコード; } else { 速いコード; } ってコード吐き出すのかね?(ワラタ) 安藤のCPUで速かったら、別の意味で凄いな。 というか、それならぜひとも買ってみたいぞ。 もしやバイナリーのサイズが恐ろしく巨大なのは 対AMDのコードが挿入されているとかw とにかく、インテルのコンパイラはAMDに対応しているわけだ。 このスレ読むとiccって一部の評判ほど高速化しない様だけど http://www.drk7.jp/MT/archives/000772.html こういう情報もあるわけで 結局どうなんですか賢者様 >>114 他のコンパイラもそんなにタコでもない、元の比較対象か状況が あまりにも特殊か、どこか間違えてるんじゃない? よく分からないがそのベンチマークは一カ所からのリダイレクトを計っている だけか? >>116 自分の場合、とりあえず動作する環境構築は出来たとしても、 パフォーマンスに影響を与える色々な設定を あまり熟知していないので、自分の比較検証なんてアテになりません。 その環境でも比較することは出来る。 パフォーマンスに影響を与える色々な設定をあまり熟知していないなら、 そういう使い方が自分の使い方になるわけだから、 それで比較してみれば良い。それで十分。 自分なりに検証してみることが重要。 アップデートあげ 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. r‐┐ r‐┐ r‐┐ |_|. __ .__| |__ .| | | ̄| | ̄!'´. `ヽ |__ __| | | | | |. .r"⌒ヽ .| | |. ___ | | | | | | | | | | ,r''" .`ヽ | | | | | | | | | !__i'. ,r"⌒ヽ i| | |_| |_| |_| !、___ _ ̄ ̄ __.,| ! !、 ̄ ̄,―, ゝ、_  ̄ _ノ  ̄ ̄ ∩∩ High performance and low price ∩ (7ヌ) (/ / / / ∧_∧ || / / ∧_∧ ∧_∧ _(´∀` ) ∧_∧ || \ \( ´∀`)―--( ´∀` ) ̄ ⌒ヽ(´∀` ) // \ /⌒ ⌒ ̄ヽ、Itanium/~⌒ ⌒ / | |ー、 / ̄| //`i Xeon / |Celeron| |Pentium/ (ミ ミ) | | | | | | / \ | | | | ) / /\ \| ヽ / ノ | / ヽ ヽ、_/) (\ ) ゝ | | | | / /| / レ \`ー ' | | / インテルコンパイラ、インストールがわかりにくい おまけにIEがデフォブラウザじゃないとインストールできない dual CPU,ハイパースレッディング環境で main thread の他に演算 作業用スレッドを 4個作って処理させています。 4個のスレッドがそれぞれ 異なる4つの(論理)CPU に割り当てられた時はとても速く動作するのですが、 同じ CPU に2つのスレッドが割り当てられたりすると、1つのCPUが遊んで しまい、処理が遅くなってしまう事があります。このような事を防ぎ、 確実に異なる CPU にスレッドを割り当てたいのですが、よい方法は ありませんでしょうか?お詳しい方がいらっしゃいましたらぜひご教授 よろしくお願いいたします。 >>124 直接、setup.exe起動すればいいのでは? >>125 WinだとSetAffinityMaskとか割り振りようのAPIがある。実際そういうコード組んでる >>126 ダウンロードしたやつのインストールの話なんだが、直にsetup 叩いてもうまくいかなかった。デフォブラウザがOperaだと実際 インストールが途中で失敗する。仕方ないのでIEに戻したよorz ネスケとかだとどうかな? >>128 Affinityのマスクbitがどの論理CPUを示しているのわからない。 127にあるように、Affinityを変えるごとにAPIC IDを確認していくのが確実。 >>130 >>125 は分散させたいのでは。 どの論理CPUかは、前から割り振られてんじゃないの? 2つのスレッドをそれぞれ別の物理プロセッサに割り当てたい といっていると思うのだけど。 4個のスレッドを4個の論理CPUに分けたいのかと思った。 そうかなるほど、どの論理CPUがどの物理CPUかはわからんのか。 >>132 同じ物理CPUでも別の論理CPUなら、さほど酷いことには ならないんじゃない? 物理CPUまで別のときに比べて どれほどうまみがあるかはものによると思うけど >>134 2つのスレッドがビジーであれば、スレッドは1つずつ論理プロセッサに 勝手に割り当てられる。 >同じ CPU に2つのスレッドが割り当てられたりすると、 これが 1・同じ物理 CPU に2つのスレッドが別の論理CPUに割り当て 2・同じ論理 CPU に2つのスレッドが同時に割り当て どっちだ?? .,Å .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'′ キングヤッタス!! もうインテルコンパイラの話題は無いのか…オレのお試し期間ももうすぐ終了だぁ >プログラムが真正のAMD製マイクロプロセッサを探知した場合には AMDなんて探知していない。 Intel以外は全部だめ。 おれんとこじゃPen系でもVC8の吐き出したやつに負けるからどうでもいいが、 でもクラッシュはホントかね。別のコードパスが実行されるって、 両方持って得る香具師ステップして確かめたことある? たとえばQaxNだと北林かそうで無いかで分けるから結果そうなるんじゃないのか。 クラッシュとかしたらソフト出荷できないからかえってコンパイラの信頼落ちるだろ? >>141 先にIntelチェックをしてから、CPUの機能をチェックしているので 北森だろうがなんだろうが関係ないです。 うちはAthlon64だけど、全体的にVC8よりICCの方が速いですね。 もちろんIntelチェックを行わないよう細工しています。 あのEXEのでかさはマジでインテル以外の遅いコードパスが 入ってるからなのか? 信じられん 細工の詳細キボンヌ どうせなら This program is only on Intel CPU Sorry! とか出して 止まっちゃうほうが潔いね。英語への突っ込みは無しねorz >>143 ↓をmain()のあるソースに加えて、linkオプションに/FORCEを付ける。 extern int __intel_cpu_indicator; void __intel_cpu_indicator_init(void) { ・ ・ ・ 拡張命令使うなら __intel_cpu_indicator = -512; 使わないなら __intel_cpu_indicator = -1; } >>145 ありがと。マジなんか… どっちでAMDでも最適化コードが使われるようになるの? __intel_cpu_indicator = -512; __intel_cpu_indicator = -1; あと、ホントにそのチェック外しても大丈夫なんかね? インテル固有オペコードとかを使っているのを他のCPUで 実行させたときにおかしくならないようにする為の細工じゃないのか 普通に考えりゃ __intel_cpu_indicator = -512; っすねorz MFCのクラス(CBitmap等)を含むVC++ .NET2003で作成された クラスライブラリを、そのままインテルコンパイラで コンパイルできるのでしょうか? ソース的には、ベクトル、行列演算、三角関数等の浮動小数点演算を含む 動画画像処理系のソースなんですが、コンパイラによりどの程度の 速度差が生まれるのか興味があります。 業務に使っているPCなので、体験版・試用版のプログラムは入れられない事に 社内規約上なっていて、インテルコンパイラでコンパイルできるのであれば 購入して試してみたいと思っています。 >>148 望む情報かどうかは分からないけど VC:'a':無符号 ICC:'a':符号あり でした。スイッチとかあるかもしれないけど、両方のコンパイラで 同じ動作させるには何がしかの苦労はあるんじゃないかな 互換性は高い方だと思いますが。 >体験版・試用版のプログラムは入れられない事に 体験版入れて、気に入ったらそのまま製品版ライセンスを 購入できるのでは? XLsoftに聞いてみたらいいと思う。 性能アップしたらリポートキボンヌ >>149 ありがとうございます。なるほど。互換性も含めて確認してみたいですね。 60日間、体験版として使った後に、気に入ったら製品版ライセンスを取得して ライセンスファイルを取得・指定すれば、即製品版になるという事のようですね。 月曜日に出社するので、試してみます。 現状の会社のPCはデュアルXeon 3.06GHzなので、SSE2/3 を含め、 デュアルコアだけでなくHT/マルチCPU環境で、 インテルコンパイラがどんな仕事をしてくれるか、楽しみです。 (大きな期待はしていません。) 結果などは、何か解りしだい書きますね。 >>150 追記 9のインストールは先に8のインストールが必要でかなり分かりにくい (おまけのその8がまともに動かない明らかにエラーのある バージョンに先祖がえり起こしてるw) そこから9へアップするのはプレミアサポートへの登録がさらに 必要だったと思う(無料だけど) 他に、体験版は30日だった気がする。IEもデフォのブラウザで必要。 じゃあガンバッテ >>149 すくなくともVCにはcharをunsigned charにするオプションが在る。 >>152 >>153 そういうこと? どっちもデフォの状態として VC : char : signed , 'a' : unsigned ICC : char : signed , 'a' : signed のような気がするんだけど。 半角アルファベットだと差は無いけど、漢字とかをシフトして 両者の違いに気がついた >>154 VC++ .NET2003では、char はデフォルトでは signed char のようです。 /J オプションで unsigned char になるようですね。 ICCでも、この点は同じオプションで指定できるということのようですね。 今のところ、VC++ IDEベースで、ICCを使おうと考えているので、 プロジェクトファイルを VC →ICC へ変更して使えば、 コンパイルオプションは、そのまま引き継がれそうです。 charは同じだけど、'あ'って全角の文字定数を書くと、 ICCはsigned short っぽい動作をするのではないか。 VCはunsigned short。前出のスイッチの問題じゃないと思う とりあえず、速報ですが、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でのコンパイルですが、一部のレジスタ変数で警告がでる他はコンパイル時間も速く、思ったより快適でした。 ↑の全角の文字定数問題!? は、まだ確認していません。 画像処理結果で算出される浮動小数点パラメータですが、VC++ .NET2003の結果と ICCの結果は、数値演算レベルでは完全に一致はしませんでした。 SIMD命令関係で、丸め込まれているだけかも知れません。 画像処理結果として、影響がでる範囲ではありませんでしたので、今回の用途では問題にはなりません。 正直、画像処理アルゴリズム側のソースは、Cレベルの記述でも、もっと最適化できると思われる レベルのソースでかなり悲惨な内容です。グレースケール画像自体を float で持っていたりして 内容的にも浮動小数点演算の固まりのようなソースなので、 こういう状態のソースには ICC は強いのかも知れません。orz >浮動小数点パラメータですが、VC++ .NET2003の結果とICCの結果は、 >数値演算レベルでは完全に一致はしませんでした。 そう、違う。よく比較してみると結構違ってたりするので注意が必要。 効果ある人もいるんだ…ウラヤマスイ おれはコンパイル時間かかるは実行性能落ちるわで散々。 今んところ導入は見送っているよ >Cレベルの記述でも、もっと最適化できると思われる 得てしてコンパイラの最適化ってのはこんなもんでしょうねぇ おれんところのはやはり画像処理系だけど、手でがりがりにチューニングしている。 もちろんSIMDなんかも自前で使っている。この状態だとVCの方がいい結果を出す >>145 SSEを使用しない場合__intel_cpu_indicator = 1(というか8bit以内) じゃないといけないのでは? -1だと、SSE使用のパスに分岐してしまうような。 >>161 >>142 に >先にIntelチェックをしてから、CPUの機能をチェックしているので とあるのでSSEチェックよりも前の話かと思ったんだけど…? >>162 >(拡張命令を)使わないなら >__intel_cpu_indicator = -1; ここが間違いではないかと言っているのです。 あと、拡張命令を使う場合も-512(0xfffffe00)だとまずいです。理由は(ry >>163 オリジナルの__intel_cpu_indicator_initみると、CPUの認識で __intel_cpu_indicatorに入れる値はSSE2以降が0x400、SSE3以降が0x800と なるみたいですね。 毎日毎日文句言ってintelチェック無しのを送ってもらった ねえ、VC8って何のこと。.NET2005のこと? おせーてつかーさい。 ICCではVCの __assume() みたいなこと出来ないんですか? なあ、最新版はAMD対応って書いてあるんだが intelチェックが外れただけだったりするんだろうか バイナリーをfcコマンドで比較して 差分を検討汁! fc:ファイルとファイルを比較するコマンド >C:\ fc a.txt b.txt > c.txt とするとc.txtにa.txtとb.txtの違いが保存される。 バイナリーファイルの比較も出来る。 pc8が復活して久々に見に来たけど、ぜんぜん話題が進んでない。 プログラマは専ブラ使わないのねw インテルから評価版のアンケート来てるぞ。 じゃんじゃん書いてやれ。 AMDも自社製品向けの最適化コンパイラ出せばいいのに。 ライバルのICCで最適化する必要が有るじゃダメだろ。 gccで最適化ってマカー並みだな。 PathScaleだっけか、Opteron最適化を売りにしているよね。 Windows版がないようだけど。 >>184 最適化コンパイラ作るにはそれなりの人材と資金がいるから大変なんだよ。 IntelもCompaq(DEC)などからかき集めてきたみたいだし。 AMDも自社のCPU用に最適化した数値演算ライブラリ(AMCL)なら出してるけどね。 それなりの人材と資金を投入しても他社のものと 大して代わり映えのしないものしか作れないと いうのも問題だ。 Opteron上でSolaris 10 + Sun Studio 10という開発環境を使うというのはどうでしょう? SunはOpteron機のSPECfp2000計測に 自動並列化オプションでコンパイルしてスコアを伸ばしているね。 http://www.spec.org/cpu2000/results/res2005q4/cpu2000-20050906-04678.html Intelなどの他のコンパイラにも自動並列化機能はあったと思うけど、 SPECfp2000で使われているのって見たことないな。 >>145 リンカに__intel_cpu_indicator_initは既にあるといわれてしまうんだけど どうして? ふつーは__intel_cpu_indicator_initが既にあるから >>192 /FORCEオプション付けてないというオチじゃねーだろうな インストール時に Where 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ファイルを指定しても同じメッセージが出てきて先に進めません。よろしくお願いします。 >>197 .licファイルをc:\においても駄目? パスに日本語やスペースが入ったりすると駄目だったような気がする。 そーいえばさぁ、12月ごろに アンケート結果を公表すると言ってたのはどうなったんだ? インテル嘘付いてる? まだか? なぜに、sseの組み込み関数があるとベクトル化してくれないの? ipoを有効にして、スタティックライブラリを作成したんだが、 ファイルサイズが、ipoを無効にしている場合と比べて、 およそ800倍になってしまった上に、そのライブラリを リンクすると内部エラーが起こる。 同じ症状の人はいないか? )、._人_人__,.イ.、._人_人_人 <´ 天狗じゃ、天狗の仕業じゃ! > ⌒ v'⌒ヽr -、_ ,r v'⌒ヽr ' ⌒ // // ///:: < _,ノ`' 、ヽ、_ ノ ;;;ヽ // ///// /:::: (y○')`ヽ) ( ´(y○') ;;| / // //,|::: ( ( / ヽ) )+ ;| / / // |::: + ) )|~ ̄ ̄~.|( ( ;;;|// //// /// :|:: ( (||||! i: |||! !| |) ) ;;;|// /// ////|:::: + U | |||| !! !!||| :U ;;; ;;;| /// ////|::::: | |!!||l ll|| !! !!| | ;;;;;;| //// // / ヽ::::: | ! || | ||!!| ;;;;;;/// // // // ゝ:::::::: : | `ー----−' |__//// VC7で通ってたソース。これで、リビルド したら、メンバテンプレートでエラー。 まさか、対応してない? -staticを付けると逆に遅くなった・・・ 普通速くならないっすか? >普通速くならないっすか? そうなん? 単にライブラリ無いとこでも動けるようにするってだけじゃん? 速度は関係ないような。いやむしろ遅くなるのかな sseを使用するように支持するにはどんなオプションをつければいいのでしょうか? CPU指定ぐらいだと精度をみるかぎり、x87の方使われてるよね 自分で組み込み関数使って書いた方がいいと思う。 -fastでコンパイルすると Fatal Error : This program was not built to run on the processor in your system. って出て動かないぜ! orz >>217 -fastは/QxP /O3 /Qipo /Qprec-div-と等価なのでPentium4+SSE3でコンパイルされる。 /QxPを使用するプロセッサに応じて変更すべし。 詳しくはicl /?で。 ICC9をItanium上で使用しているのですがsleep()関数を利用するためにはどのヘッダをインクルードすればよいのでしょうか オプションって内容が重複してると効果ないorまずい? -O0と-O3両方つけてコンパイルしたものとオプションの順番変えたものの比較してくれ TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ? fedora core 4 でインストールしているのですが、インクルードファイルの場所を追加したいのですが どこに書けばよいのでしょうか? 環境変数INCLUDEに追加してみたのですが、インクルードすべきファイルが見つからないというエラーになってしまいます なお、直接コンパイル時に -I オプションで指定してやると、問題なくコンパイルできます。 直接コンパイル時に-Iオプションで指定してやるといいんじゃないか .specsのどっかに、デフォルトのオプションを追加できるよ 俺も詳しいやり方は知らね 常にオプションが追加されても構わないのであれば icc.cfg ファイルに書くとか。 ちと質問。 3/2リリースのでVS2005に対応したぽいけど、統合環境に組み込めるのかな? リリースノートにはcommand-lineだけとか書いてあるように見える・・・ VS2005の強化機能は使いたいけど、ちゃんと組み込めるんだろうか >>232 ttp://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 にてサポートする予定です。 >>233 d。 そうかー9.1まで待ちかー。 でも上の方見ると、普通にVC2005の方が強力に見える・・・ OpenMPもサポートしたしねえVC。 これでMPIもサポートし出したら立つ瀬無いな。 9.1ダウンロードできるね。 Core2最適化オプション/QxTが追加された。 CoreDuo対応やOpenMPの強化とあるけれど 命令セットが増えたわけでもなし、いったいどこが変わっているのだろう。 今、9.0.22使っているけどライセンスが切れているのでもし十分な効果があるのならまた買わないと。 環境変数でF_UFMTENDIAN=big とするのと、オプションで -convert big_endian とするのは全く同一なんですか? ICC9.1とVS2005SP1の組み合わせでデバッグ版のビルドが デバッグ情報が壊れてリンクできないとエラーをはくのだができてる人います? >>243 LNK 1103エラーでました。 プロジェクトのプロパティ->C/C++->最適化 のオプションを、最大限の最適化(/Ox)で、出なくなりました。 Opteronで、SSEを利用するよう指示するにはどうしたらよいのでしょうか? つかコンパイラくらい無償で提供しろ。このけちんぼが〜 コンパイルオプションの-xWと-xaWの違いがよく分かりません 何が違うのでしょうか? -x 指定したCPU(-xWの場合は Pentium 4)固有の命令を無条件に使用して最適化を行う。 実行時にそのCPUがサポートしていない命令が含まれていた場合は当然動かない。 -ax 指定したCPU用に最適化したコードの他にIA-32汎用のコードも含め、実行時にどちらかを使う。 とりあえず全てのIA-32系CPUで実行可能なプログラムができる。 valarrayをfloatで使おうとすると、 valarray<float> x; x=x+1.0; の様な計算でも error: no operator "+" matches these operands operand types are: std::valarray<float> + double というエラーが出てしまうのですが、 すべて x=x+float(1.0); としてやる以外解決法はないのでしょうか? Linux版はFedora Core 6やRed Hat Enterprise Linux 5でも使えますか? 64bitマシンで16bitの浮動小数点を扱うことはできないでしょうか? >>258 そういう型を自分で実装すれば、当然扱えます。 #寡聞にして、そんなに狭い浮動小数点数は知りませんが。 質問者の目的も汲み取れない馬鹿な子が来た。 たぶんシェーダで扱うデータのプリプロセッシングかポストプロセッシングでもやりたいんだろ。 お前は同じことを二度繰り返して言われたいのかと。 ただのスレ違いにGPU云々シェーダ云々、頭の程度が知れる。 お前は同じことを二度繰り返して言われたいのかと。 意図を汲み取れない無能さを棚にあげて逆上なんざ、頭の程度が知れる。 バージョンが変わるたびに浮動小数点演算結果が微妙に変わるの何とかしてくれ? >>270 そういう問題じゃなくて、 最適化による演算順序変更の影響では? C99のrestrict修飾子は使えないのでしょうか? >>273 > Note: The icpc command uses the same compiler options as the icc com- > mand. Invoking the compiler using icpc compiles .c, and .i files as > C++. Invoking the compiler using icc compiles .c and .i files as C. > Using icpc always links in C++ libraries. Using icc only links in C++ > libraries if C++ source is provided on the command line. icpcを使うとabsは型に自動的にあわされちゃうの? >>275 icpcでは常にC++としてコンパイルするので、そういうabsが宣言されていればそうなる。 MKLのベクトル化されたsinなどと、単にSSEを使うよう指定してmath.hのsinなどを使うのとでは 何が違うのでしょうか? math.hのsin()はSSEを使うわけではないだろ。 ダウンロードのリンク: Product for IA-32 (39.2 MB) Product for IA-32/Intel(R) 64 (66.6 MB) Product for Intel(R) 64 (34.8 MB) Product for IA-64 (61.7 MB) Installation Guide (40 KB) Release Notes (39 KB) Intel(R) 64とIA-64の違いを教えてください >>281 ググレカs(ry Intel 64 CoreとかPentium D、最近のPentium 4が対応しているIA-32上位互換の64ビット拡張命令セット。 ちょっと前までは「EM64T」と呼ばれていたもの。 AMD風に言うと「AMD64」(ちょっと違うが) IA-64 前評判は結構良かったのに、結局あんまり売れなかったね。 Itanium root権限なしで、ユーザーが自分のホームディレクトリにインストールすることは可能? Linux版の話か? 多分可能なんじゃね? ただ、.rcファイルをユーザー権限で編集できればの話だが Unix版でインクルードパスを追加したいのですが、どれを設定すればよいのでしょうか? シェルはbashです。 export CPATH=hoge/huge/hage か export C_INCLUDE_PATH=hoge/huge/hage export CPLUS_INCLUDE_PATH=hoge/huge/hage か icc -I hoge/huge/hage foo.c インテル コンパイラー 10.0 プロ版がリリースされました。 次の製品をお持ちのお客様はアップグレードが可能です。 ・インテル C++ コンパイラー ・インテル Fortran コンパイラー ・インテル MKL ライブラリー ・インテル IPP ライブラリー ・インテル TBB ライブラリー 最新のツールを低価格で使用できるチャンスです! 詳細はこちら: ttp://www.xlsoft.com/jp/products/intel/compilers/comp10_upgrade.html だってさ。 >>289 いや大学内や、企業内は有料 自宅で仕事と関係ない非商用のことをやる場合にのみ無償 TTBのサンプルプログラムはどこかにありませんか? 大学の研究室とかで使う場合は無料じゃないよ じゃなきゃアカデミック版の意味がない ttp://www.intel.com/cd/software/products/asmo-na/eng/219692.htm > Q. I am a student. Can I use the non-commercial product for my class projects? > A. Yes. However, the licenses provided include limited support and are not renewable. > > Q. I am a professor. Can I use the non-commercial product as part of the coursework I teach? > A. No. Teaching is a profession and you are getting compensated for it. > You may, however, qualify for the academic license. > Q. I am engaged in academic research. Can I use the non-commercial product? > A. If you, as an individual, are receiving any form of compensation for the research project > (i.e., you receive a salary, or funding, etc.), you do not qualify for a non-commercial use license. > However, you may qualify for the academic license 学生が勉強で使うなら非商用版のライセンス(無料)でおk。ただしインテルのサポートはなし。 授業に使ったり、給料等の対価を受けている研究には非商用版は使えない。 論文には教授の名前がつくんだから微妙な気がせんでもない ライブラリのパスを追加したいのですが、どの環境変数に追加すればよいのでしょうか? OSはFedora6です。 >>298 つ マニュアル Intel(R) C++ Compiler Documentation →Building Applications →Compiling →Modifying Compilation Environment →Setting Environment Variables #include <iostream> template <class Type> class foo{ public: int x; foo(){x=0;} }; void main(void){ foo<float> f; int n=100; float *a=new float[n]; float *b=new float[n]; float *c=new float[n]; for (int i=0;i<n;i++){a[i]=rand();b[i]=rand();} for (int i=0;i<n;i++){c[i]=a[i]+b[i];} delete[] a,b,c; } これをver10で-xOを使ってコンパイルするとベクトル化されるのに、 #include <iostream> template <class Type> class foo{ public: int x; foo(){x=0;} ~foo(){} }; void main(void){ foo<float> f; int n=100; float *a=new float[n]; float *b=new float[n]; float *c=new float[n]; for (int i=0;i<n;i++){a[i]=rand();b[i]=rand();} for (int i=0;i<n;i++){c[i]=a[i]+b[i];} delete[] a,b,c; } これだと、ベクトル化されないのは何がいけないのでしょうか?CPUはAthlon64、OSはFC6です。 ver9では問題ありませんでした。 foo(){x=0;} この時点で読む気が失せた。 >>301 そんなことより、 delete[] a,b,c; これ初めてみたんだけど、いいのか? カンマ演算子で最後にcだけ開放されるってオチじゃないのか? fのデストラクタを呼ぶタイミングがアレだからじゃね? コンパイラ様が実行順序をややこしく考えなくていいように考慮しろと。 >>302 (delete[] a), b, c;で、aしか削除されない。 10.0の日本語マニュアルが来てるのでageとくか 9.0でQaxKが使えなくなったのに 10.0で復活させるとは。 ドカーン! 隊長!大変であります。 1がカウントされていないのに誤爆してしまいました。 何じゃ腰抜けが もっと大きな声で話せ! わしゃ耳が遠いんじゃ operands are evaluated in unspecified order このwarningって何を意味してるの? オペランドは明示されずに評価されてる。 どういう意味? 評価の順番が不定だから気をつけてねっていってるんでしょ 例えば、foo = func(bar) + func(baz)なんて文脈で、func(bar)が先に呼ばれる保証はないという警告。 つーか、警告だっけ? remark(注釈)だったと思うけど。 # 結構余計なお世話ではあるw JavaやC#から移行してきた人が嵌っちゃうかもしれないだろ。 9.0と9.1でベクトル化のされ方が 全然違うのだが Intel C++ Software Development Tool Suite for Linux ttp://www.xlsoft.com/jp/products/intel/compilers/mid/index.html これってサポート買わなくても商用で使えますか? 自動ベクトル化を使うにはVCって選択肢は無いな。 SIMD Intrinsicsの扱いもICCのが上。 非SIMDではどっこいかVCの方が若干いいことがあるし、 64ビットになるとICCは冴えないな。 とりあえずx86/WinAPIネイティヴで個人で開発やるならVSのPro版単体よりはStandard+ICCのほうがおすすめ。 もちろん金があるならお好きな構成で。 で、必要なところだけICCを使う。 >>332 計算の主要部分がベクトル化されれば、その程度あがるかも。 gccは全然ベクトル化してくれないからね >>332 なんとなく深夜の通販番組かとおもたw ボブ「ジョン。暗い顔してどうしたんだい?」 ジョン「やぁボブ。実はシュミレーションソフトの速度がなかなか上がらなくて悩んでるんだ…」 ボブ「そんなときはこれ!『インテルコンパイラー』さ!『インテルコンパイラー』でコンパイル しなおすだけで計算時間がなんと約1/2にもなるんだ!」 <以下略> >>335 今ならパフォーマンスライブラリをお付けして、なんと驚きの(ry デバッガでローカル変数んところが いきなり空欄になっちゃって何も表示されなくなることがあるんだけど何なの? そうだったのか デバッガ起動すると VCのデバッガが動いて、そいつはiccを考慮なんぞしてないから 変数が表示されなかったりすることがあるということなのか ぐぬぬ・・・ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 【インテル コンパイラー 11.0 】日英バージョン同時発売! Visual Studio 2008、OpenMP 3.0、インテル Core i7 プロセッサー対応 http://www.xlsoft.com/jp/products/intel/index.html?i1119 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 平素よりインテル製品をご愛顧頂き、誠にありがとうございます。 この度発売致しましたバージョン 11.0 の最新情報をお届けさせて頂きます。 【1】◎注目: インテル コンパイラー バージョン 11.0 の豊富な新機能 -------------------------------------------------------------------- 1. Visual Studio 2008 をサポート (日本語環境) 2. 日本語/英語版を 1 パッケージで提供 3. インテル Core i7 プロセッサー用最適化オプションを追加 4. OpenMP 3.0 対応、自動ベクトル化、自動並列化でマルチコアを強力サポート 5. Fortran 2003 機能サポートを拡張 6. 新しい -xHost オプションによりパフォーマンスを向上 7. VALARRAY のハイパフォーマンスな実装 8. インテル Atom プロセッサー向けの C++ サポート 9. デフォルトのコンパイルで SSE2 をベクトル化 10. Linux でインテル デバッガーを提供 バージョン 11.0 は上記新機能のほか、業界ベンチマークが実証する 優れたパフォーマンスを提供します。新バージョンをぜひご確認ください。 IPPでスレたってないかなと検索かけたらVIPPERスレだらけで泣いた。 11.0からプロ一択になるんだよな、判りやすくていいが。 AMDプロセッサで動かすとわざと遅くするバグは治っているのでしょうか? Oを指定すれば回避できるんじゃないかな。-axOWPTとか。 >>347 俺もそれ気になってる つかその理由だけで使うのを見送ってる >>351 AMD対応オプションってありましたっけ? あるなら考えるかも つかIntelはあのチョンボで相当な機会損失をしてると思う >>351 それって最新のVer.11でも使えるんですかね? オプションがだいぶ変わっているんですが。 インテルコンパイラw_cproc_p_11.0.066.exe のインストールで There is not enough on drive C:\ to extract this package. とエラーが出てインストールできない。 調べると、 xkeymacs と SendToBackのどちらかがバックグラウンドで動いてると(当然両方動いて手もNG)起こるエラーであることが判明しました。 OSはWinXP SP3、C:\ドライブは20GB以上の空き、あとProgram Filesはwinnt.sifを使ってXPインストール時にD:\に設定してました。 はやくVS Integrationのバグ直してください 夏はスカートはきたいなぁっておもうけど 俺がはくときもいだけだから我慢してる。 家ではズボンはいてない。 クロックの向上あきらめて、マルチコアにせざるを得なくなって、コンパイラ側の負担が大きくなってるのにあの価格はない罠 あらかじめVがS必要で、他人のふんどしで相撲とるアプリなのにボッタクリ。 MSが、ソフトウェアメーカなのに無償コンパイラを出してることを考えると、ひどすぎる。 開発ツールで稼ごうなんて、まるで10年以上前のFPGAメーカだな。 AMDが自社コンパイラ出せば、一気に価格崩壊するんだが、 なんでここ今時、CPUメーカのくせにコンパイラ作れないの。 結局リバースエンジでパクッただけで何のビジョンも持ってないって証拠自ら公言してるに等しいのな。 >コンパイラ側の負担が大きくなってるのにあの価格はない罠 需要があるから、それなりの値段でも売れるんです。 >>369 痛いのはお前、 開発ツールで金稼ぐなんて発想は10年前の発想 むしろ開発ツールを無償配布したり、格安販売して、敷居を低くするのが今流 ただし、全部競合他社、競合製品があった。Xilinx と アルテラとか、SHxとARMみたいにな。 Intelだって、AMDがまともなコンパイラ出せば、コンパイラは無償配布するだろ。今のIntelの会社規模だと、 それぐらいの社会責任は負わされて当然。現在でもクラック対策してないに等しいしな。 今のiccにはmklもippもtbbも含まれているのだが、それらの価値は認められないのかな? >>371 あのさ、開発ツールって書いただろ。VTuneごと含めて当然 ほかのCPU開発ツールとか触ったことないの? あと、FPGAなんか、アプリで飯食ってるEDA会社のOver 300万の製品を機能縮小して無償製品にバンドルしてる。 >>372 その通り。 お前らはチップ販売で儲けろと。姑息な商売するんじゃねぇと >>375 俺も11.1使ってるんで詳しく教えて 金払ってでもICCのメリットを享受したい人が買えばいいんでないかい? 自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L 名言集 その2 『お前が規制系キャップ取れるか審査してやるよ』 http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★ > 36 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:31:30.02 ID:PVAf+dux0 > >>33 > キャップとコテハンの違いは何? > 46 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:38:05.34 ID:PVAf+dux0 > >>45 > その回答では落ちるなw > 答えは教えないがw > 50 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:41:29.96 ID:PVAf+dux0 > Q.キャップとコテハンの違いは何? > A.2ちゃんねるのボランティアの登録制度 > それがお前の答えかw > 52 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:43:10.06 ID:PVAf+dux0 > まぁ、どうせ正解が出るわけもないし、次の問題。 > 君が思う面白いスレはどんなの? ---------------------------------------------- この自動焼人 ★メールマガジンの配信停止をご希望される方は http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/ にて自動焼人 ★までご連絡ください バグフィックス11.1はようやく出たね Parallel Composerのほうは日本語使うとエラーが出るみたいだな。 Parallel Studio と HPCがあるけど、 これって混在出来るのか? 今HPC使ってるんだが、コンパイラとVtuneはHPCさえあればよくて、 スレッドチェッカーのみInspectorに乗り換えるのがいいのかね? ゆくゆくはHPCは終息してParallel Studioに統合されるのだろうか? ParallelStudioは日本語化されてないので、 インストールするとVSのプロパティが英語化されてしまって面食らう。 日本語化されてるHPCインスコしてる人ならなおさらうわッって感じだな。 それで困るかと言えば困らないんだが、 日本語化されてるVSの中でインテルがらみだけ英語ってのはちょっと気持ち悪いな。。ビジュアル的に。 Windows 7 64 bit版には対応しているのでしょうか? インテルコンパイラかどうかで処理をifdefを使って分けたいのですが、 何かdefineされていないでしょうか? ____ / \ /\ キリッ . / (ー) (ー)\ すべての処理はアセンブラで書ける ! / ⌒(__人__)⌒ \ | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. いつになったらwin版の無償ライセンス提供開始するんだよ リンカが付いてなくて、Visual C++が必要なのはなぜた。 MS社からの圧力があるのかね、それに屈してるのかね。 >>397 プロシージャー間最適化(IPO)とかリンカでガンガン最適化するよ。 インテルチップに最適化されたマシン語を構築するコンパイラと違って リンカはOSに依存するからCPUメーカーが作るには相応しくない。 最近のIntelC++は前よりコンパイルが速くなったような気がする。 インテルコンパイラをWindows上で使っています。 コマンドプロンプトを表示させた際に、iclを呼び出せるようにしたいのですが、 パスを通す以外に、環境変数には何を設定したらいいのでしょうか? >>402 iclvars.batを実行すればいいと思うよ。 >>402 コマンドプロンプトを開いた際に自動的に実行させる方法はありますか? >>404 こういうコマンドプロンプトのショートカットを作ればいいよ。 C:\Windows\system32\cmd.exe /k"%ICPP_COMPILER11%\bin\iclvars.bat" ia32 フォルダの右クリックでコマンドプロンプトを呼び出せるようにしているので、 そこから開いたときでも、可能な方法はありませんか? autoexec.batみたいなものはないのでしょうか? コンピュータの管理のユーザーにログオンスクリプトの指定ができるからそこで。 >>407 ドメインで運用している場合、どこで設定すればいいのでしょうか? インテルコンパイラの最適化ってCPUに固有? 販売間近のnehalem-ex用の最適化も可能なのかな? インテルのコンパイラは1年間のバージョンがアップ無償。最新プロセッサに対応したバージョンがリリースされる。 サンクス nehalem-exが出たらすぐに対応バージョンがリリースになると思って良い? それともしばらくかかる? これってgccが入ってないとインストールできないの? そこまで些細な速度UP求めてるって どんなソフト書いてるんだ? そこまで要求するなら、Vtuneも使いたくなるだろうからXLでもIntelでも講習受けた方がいいと思うよ。 IPPを使ってJPEGファイルを読み込むサンプルはどこかにありませんか? >>420 ttp://www.xlsoft.com/jp/products/intel/support/intel_faq/libraries/ipp/sb/cs-010653.htm#5 Windows版のIntel C++を買ったんだけど、VTuneも欲しくなって来て、 そう思い始めると、スレッドチェッカーも欲しくなって来た。 VTune、スレッドチェッカーと合わせて、Parallel Studioも評価版を 使ってみてるんだけど、20万出して前者を買うか、10万出して後者を 買うか超悩む。前者は30日で評価しきれるボリュームじゃないし、 後者は使いやすいけど、大分物足りない感じ。 Visual Studio 2010もランチされるし、予算厳しいんだよな。 ちなみに個人開発者です。 gccのmarch=nativeに相当するオプションはないの? マニュアルDL出来るんだから、自分で調べればいいのに。 >>427 それってAMDだとうまくいかないよね>< Redistributable Librariesなしで単体で配布できる実行ファイルを作成する方法を教えてください static版のライブラリをリンクするだけで実行できるだろ? IPP、MKLを使ってる場合も同じ。 TBBを使うなら無理。 あと、並列デバッガ拡張がONになってる場合も無理。 おいおい正気か、何でIntel C++使ってんの? 真面目な話しをすると、リンカーの入力設定でライブラリの指定をするだけなんだが、 Intel C++自体が、C++、VC++の基本知識のある人でないと使うの難しいと思うぞ。 言っておくけど、どのライブラリがスタティック版、ダイナミック版、スタブ版とかは、 マニュアルで確認するしかないぞ。 >>436 -staticと-i-staticで事が足りるね。 SSR ってのを買わないと マイナーアップデートも手に入らないの? 初年度分のSSは、購入した時点で1年分付いてて、 初年度分のSS期間を過ぎた場合はSSRしないと手に入らないよ。 それよりか、初年度SSでメジャーアップデートに対応してない Parallel Studioが、VS2010対応でマイナーで済むかどうかが怖い。 Intel C++ Proとは別に、Parallel Studio買ったばかりだからなぁ・・・。 マイナーアップデートにもお金を取るって さすがインテル様ですね。 っていうか最近そういうの増えてるのかな。 どこぞのヘルプ作成ソフトでもサポート契約しないと アップデートすら手に入らないようだし。 Windows 使ってるけど全然問題ないんですけど。 >>439 ICCとparallel studioを同時に持つ必要はどうなのかな? こんな住み分けかと思ってた。 case VTuneが必要 ICC+VTune case MKLを使う ICC else Parallel Studio 出来ればVTuneとスレッドチェッカーの両方が欲しいんだけど、 個人開発者的に、予算がそれを許さないだけの話しだよ。 あと、わざわざC++ ProなのはMKLが必要なのもあるけど、Parallel Comporser のICLはローカライズされてない(もちろんヘルプも)ってのと、 メジャーアップデートの権利、プレミアサポートの権利が有償 ってのもあるね。 オレは既に無償でプレミアサポート受けてるし。 IDEがついてると安く使えるのにな。 Win版もデバッガ込みでEclipseに対応してくれないかな http://sx.intel.com/default.aspx ここから買うことできるんだな。 インテルコンパイラなら $599 だから 6万円以下で買えるのか。 -xSSE4.2と-xHostで、出来たバイナリのサイズが違うのですが、なぜなのでしょうか? おい、4月にIntel C++、5月にParallel Studioを買ったオレの立場はどうなるんだぜ? 試しに Mac に入れてみたが、確かに結構速さを実感出来たが、 妙なエラーでビルドの度にコードをコピペしなくてはいけなくて困る。 そこら辺解決したなら、学割は安いから買うつもりなのだが。 >>451 Visual Studio 2010が発売間近にも関わらず、それを見ずにIntel コンパイラ買うお前が悪い。 Visual Studioのコードで不十分だからIntelコンパイラ買うんだろうが。 >>447 6月末でここからは買えなくなって 完全にリセラーからぼったくり価格で買うしかなくなってるのか… icc 11.1.072 と gcc 4.4.x の非互換 __builtin_fpclassify() があって、 仕事にならない… icc 11.1.x と gcc 4.4.x の非互換は、 CXXFLAGS=-gxx-name=/usr/bin/g++-4.3 で回避できました。 よかったー >>455 gccみたいな糞コンパイラを使って仕事なんざすんなアホ アップル、インテル、マイクロソフト、グーグルは日本人から金を巻き上げ 白人を豊かにするためのシステムです ubuntu10.04でicc 11.1を使っています。 sudo icc とすると、 sudo: icc: command not found と出てしまいます。 /root/.bashrc に環境変数を書き込んでも結果は同じでした。 openmpiのインストールでsudoでiccを実行できる必要があるのですが、 どこを設定すれば、sudoでiccを実行できるようになるのでしょうか? よろしくお願いします。 円高のせいで日本での価格がどんどん割高になっていくな >>464 なんでだよ 円高=輸入が安い、だろ 円安の時に高くなるのはわかるが >>465 円高なのに日本円で固定されてるから割高になってるって意味だろ バージョン XE 12.0 のポイント 以下がインテルR C++ コンパイラー XE 12.0 の新しい機能です。 ・インテルR Cilk? Plus。インテルR C++ コンパイラー向けのこの言語拡張を使用することで、新規および既存のソフトウェアを簡単に並列化できます。 ・ガイド付き自動並列化 ・C++0x からの機能 ?右辺値参照 ?標準的なアトミック演算 ?“Windows* C++” モードでの C99 の 16 進浮動小数点定数のサポート ?右角括弧 ?拡張 friend 宣言 ?混在した文字列リテラルの結合 ?long long のサポート ?可変引数マクロ ?スタティック・アサーション ?auto 型変数 ?extern テンプレート ?_func_ 事前定義済み指定子 ?式の型宣言 (decltype) ?ユニバーサル文字名 ?強い型付けの列挙型 ?ラムダ ・より高速でやや精度が低い算術ライブラリー関数を使用するためのオプション ・プロセッサーのモデルや製造元に関係なく一貫した結果を返す算術ライブラリー関数を使用するためのオプション アップグレードはどうかしらないけど 新規購入時の価格は少し下がってるな ubuntu10.10にOpenMPIとgccをapt-getでiccをインテルのインストーラを使ってインストールしました。 mpiccは、現在gccを使ってコンパイルします。これをiccを使ってコンパイルするようにするには、 どの設定で、切り替えればよいのでしょうか? 日本語になってないね 問題はないけど、解釈するのにワンテンポ遅れてしまうから気になるかも。 インテルのコンパイラ買ったんけど、起動しない。。。 助けて。。 ヴィジュアルフォートラン買ったはずなのにヴィジュアルスタジオしか 起動しない。しかも、ソリューションとかわけわかんねぇし。。。 VisualStudioはMSの製品だ。 インテルの製品であるインテルコンパイラはVisualStudioと連携する形で使うようになっている。 どうせXLsoftから買ったんだろうから、使い方はXLsoftに聞け。 >>475 Visual Studio上でFortranのコンパイラが使えるようになってるんだよ。 別にコマンドラインからでも使えるけど。 ていうか何でFortranの方にはVSが付いてるのにC++の方には無いんだ。 C++も単体で使えるようにしてくれよ。 Fortran(単体製品)に付いてるのは、Visual Studio 2008 Shellだけでしょ??? オレはVS2008 Pro、VS2010 Pro持った上で、Intel C++ Studio XE 2011なので、 Fortranのことは良く分からないけど、C++の場合はShellだけあってもしょうがないと思うが? Intel C++ Studio XE 2011の英語版が欲しいんですが、 日本からだとxlsoftで買うしかないのでしょうか? アメリカの通販に問い合わせてみたところ 日本へは売れないと返事が返ってきたのですが。 どうでもいいけど、英語版が欲しいんじゃなくて、 ドル建てで買いたいってことじゃないのか? XLSoftなんかを通したくないということなら大いに同意^H情する。 ドル建てだと5万円程度で買えちゃうからな。 英語版って言っても日本語版として使えるし。 Intel C++ Studio XE 2011 for Windows 1499$ XLSoft経由 \20550(税込み) ドル建てと比較すると割高だけど、現状はサポート使い放題なんだよね。 インシデント制のVisual Studio(MSDN)と比較すると、実は結構お買い得な気がする。 もちろん、サポートなんて使わないって人や、ネイティブに英語出来る人には 無駄な出費だと思うけど、XLSoft経由だとほとんどパススルーに近い状態でIntelの サポート受けられるし、要望も出し放題なので、大分サポート酷使してるよ。 数千円くらいXLSoftにお布施するから、さっさと日本語化して欲しい。 C++ Composer XE 2011は既に日本語化されとるが? Inspector、Amplifierの部分はされてないけど、 無印Parallel Studioも込みで前バージョンの流れもあるし、 ローカライズはされないだろうね。 最初のリリースが遅いだけで、後は全部同期的にリリースされてるだろ 特別アップグレード時のサポート残存期間がちゃんと残るようになったり、 地味にライセンス緩くなってるんだが、何だか盛り上がらないな。 バージョンアップの度に、コントロールパネルのシステムの設定で環境変数を設定しなおしているのですが、 スタートアップになんらかのバッチファイルを入れておくことによって、環境変数を設定することはできないでしょうか? SETコマンドだと、そのバッチファイル内でしか、設定した環境変数が有効でありません。 Windows起動中永続的に効果のある設定方法を教えてください。 >>492 よくJavaで使われる手法だと、 JAVA_HOME="C:\Program Files\Java\jdk1.6.0_20" PATH=%JAVA_HOME%\bin;(略… みたいに使われてるけど こういう事? >>492 IDE設定から得られる、IPP_xxxとかMKL_xxxとかを使わずに、環境変数に直書きとか、 プロパティシートに直書きしてビルドしようとしてる? (IDE設定依存は、それはそれでトラブル起こるけど) IDEを使う場合も使わない場合も、ICLのバージョンに依存する話しになるし、 もうちょい詳しい話を書いたら? ICL11.xまでと12.xでは大分構成が違うし、VS2008までとVS2010ではやはり大分事情が違うよ。 C++ Composer 2011 XEのトライアルを落として試してみたんだが、プロジェクト内のヘッダーファイルだけ認識してくれない。。。 コマンドラインを見る感じ、ヘッダーファイル(.h)だけ渡されてないっぽい。cppのファイルは全部渡されてるんだけど。 VS2010です。誰か助けてくだしあ その通りです。#includeでエラー。VCなら問題ないんですが。。。 正確には、foo.cppがfoo.hをincludeしているとして、foo.hが見つからないと言われる感じです。 もちろんfoo.hは同じプロジェクト内にちゃんとありますし、VCでならコンパイル通ります。 >>499 全角文字を含むパスにプロジェクトを置いてるだろ 俺もそれで嵌ったw しかし盛り上がらんな。 教えて系も基本的に聞きっ放しで、消息絶つし。 コンパイラ本体の問題じゃないけど、VCが十分優秀なのは間違いないけど、 IPPの存在はデカイと思うんだけどな。MKLは使う機会がほとんど無いので何とも言えんけど。 Inspector及びVTuneに関しては、殆どの開発プロセスにおいて、タダ乗り出来ちゃうから 金出さないってのもありそうだね。 VC6までは、Pro版でもなんちゃってプロファイラが付いてたからいいけど、それ以降ICL (と言うかVTune)導入するまで結構困ったんだけど、ハードウェアの進歩に甘えて、 みんなチューニングしないってのが、最近の傾向なの? Vtuneを使うような用途は限られるんじゃないかな? パフォーマンスが必要な部分は、MKLやIPPが使えればさらにVtuneの出番が減るんじゃないかな。 IPP は米Intel経由でダウンロード版だと 2万円以下だし TBB はオープンソースでソース開示義務もないみたいだし。 コンパイラだと数% 違うか違わないかぐらいなんじゃない。 マイナーアップデートが SSR 不要ならもう少し採用企業も増えそうだけど。 >>504 チューニングの意味が既に分かってないんじゃ? >>505 TBBのオープンソース版はGPLv2だよ。 GPLv2 with Runtime Exception だから ソースコードに変更を加えない限り ソースコードの開示義務はないってことらしいけど。 キャンペーン期間中に Intel IPP を買って Inte C++ Studio XE にアップグレードすれば 600ドルで済んじゃうのか。 すみませんインテルコンパイラで GCCの__attribute__((noinline)) のように部分的なインライン禁止を指示したいのですが インテルコンパイラだとどのようにすればいいか ご存じの方がいたら教えていただけないでしょうか よろしくお願いします intelのcilkPlusの配列構文がちょっと気持ち悪い。 void func(double * dest, double const * src, double ratio) { for (int i = 0; i < NUM_COUNT; ++i) { dest[i] = src[i] * ratio; } } が void func(double dest[NUM_COUNT], double const src[NUM_COUNT], double ratio) { dest[:] = src[:] * ratio; } で済むらしいが…… Photoshop/Illustrator/InDesign では Intel Compiler 使ってるようだな。 libmmd.dll とか入ってる。 icc12の評価版を拾ってみたのだけど、-x系のオプションがアルファベット一文字の羅列じゃなくなっているな。 前はアルファベットだけ覚えて-xPTとかやってたけど、今度は-xsse4.2とか-xssse3とか。 慣れればいいんだけど、面倒ではあるな。 #include <iostream> #include <cstdlib> using namespace std; int main(void){ int a[100]; #pragma omp parallel for for (int i=0;i<100;i++) { a[i]=i*i; } system("pwd"); return 0; } このプログラムを icpc test.cpp -openmp でコンパイルして動かそうとすると、プログラムが終了しません g++ test.cpp -fopenmp だと正常に終了します。 なぜなのでしょうか? 環境はUbuntu 11.04+icpc 12.0.4です。 日本語版だと SPIRAL アドオンは使えないの? 専門分野が違うんで、SPIRALアドオンに何が含まれてるのか知らないし、 使ったことも無いんだけど、SPIRALアドオンは普通にダウンロード→インストール出来るよね。 11.x系の時は無かったような気がするので気になってreadmeだか、 リリースノーツだか見た時の記憶で言うと、単一ライブラリの肥大化を 防ぐために別に分けたとか書いてなかったかな? エクセルソフトのページ見たらちゃんとあったわ。 しかしXE 2011 では日本語版は英語版と一緒に更新されないんだな。 まぁ英語版でも問題はないけど。 インテルR Composer XE 2011 SP1 ベータプログラム開始 http://www.xlsoft.com/jp/products/intel/beta/composer_sp1_beta.html これまでの Update とどう違うのかがわからんな。 Update5 でいいんじゃないのって気もする。 SP1でもUpdate5でもいいけど、 いい加減ローカライズ版の更新ちゃんとして欲しいわ。 主にインストーラーの問題だけど、マジでデタラメすぎる。 毎回問題出て、毎回サポートリクエストしてるけど、 リリースノーツに記載されている理想的な混合は未だ果たされていない。 IPP暗号化ライブラリの更新もずっと文句言い続けて、 最近ようやく同時更新してくれるようになった。 update 5 がでてるけど、日本語版はでそうにないな。 インテルコンパイラって本当に速いの? 大島は爪水虫 考え方は人それぞれだろうが、 オレはICL本体より、IPP、MKL(特にIPP)に価値を感じている。 VSのPremiumやUltimateが高過ぎるってのもあるけど、 VTuneやInspector(特にVTune)も心強いな。 >>525 コンパイラ自体は必ずしも速くないよ。 最適化の為の解析の所為だと思うけど、 そのお蔭で生成物はそこそこ速い。 IntelはMSより何割早いの? ソコンとこハッキリ言えないなら、早いとか言わないでよね 正直、傷つくんだから そんなに気になるなら、Intelの資料見るなり(当てにならんけど)、体験版使うなりしてみればいいじゃないか。 速さなんてコード内容や、アルゴリズムの良し悪しに依存するし、 速さが全てで、無条件にICLの方が早いなら、VSはIDE以外要らないって話しにもなっちまう。 オレはIPP、MKL、VTuneがあるからICL『も』使ってるが、ぶっちゃけICLのバイナリーは VSのデバッガーでデバッグしにくいし(スタックフレームの問題)、ビルドに関してもerror,warningの互換性無いし、 出現パターン(チェックアルゴリズムが違うんだろうし当然)も異なる。 逆にそのおかげでマイナーバグ発見の機会もあるけんだけどね。 てことで、取り敢えず使ってみて、レビューしてくれよ。 そうか、Windowsでも使えたのか。その発想はなかった。 ぶっちゃけ、SSE適用できないとMSのよりやや遅いんだよね。 >>530 なんでPDB作ったりFPO切らないの? 当たり前だけどICLではManaged C++のコードは生成できない。 >>533 お前さんICL使ったことないでしょ? PDB使おうと、FPO切ろうと、ICLとCLの関数プロローグは異なる。 クロス開発の場合もそうだけど、関数プロローグが異なると、 行単位で見た時の、ブレーク可能かどうかや(書き換え可能命令の有無)、 ローカル変数が見えるタイミング(生成されるタイミング)が違くなるんだよ。 つーか、デバッグビルドで最適化なんてしねーだろ常識以前の問題 いや、思いっきりスタックフレームだろ。 最適化掛けないで、CLとICLで、関数入り口にブレークポイント掛けて比べてみろよ。 ICLとCLでステップした時の挙動違うから。 そら吐き出すコードが違うんだから当然だ。 ビルドオプション・ファイルごとにコンパイラ選べるじゃん。 ICCで最適化コード吐く前にVCで最低限のデバッグ済ませるだろ。 VCでは問題なく動くのにICCだとうまく動作しない問題があるとしたら、 十中八九プログラマ側の問題。 530の書き込みを見てから言って欲しいんだが、デバッグしにくいと言う事実を述べただけだろ? ICLでビルドしたバイナリーで、関数プロローグ(関数の1行目じゃなくて0行目)にブレークポイントを掛けると、 1行遡ってから関数に入りなおすような挙動になるっていう事実を述べただけの話し。 ICLの場合0行目でブレークしても、ローカル変数のスタックフレーム自体生成されてない。 CLの場合は0行目で既にスタックが掘られてる。 0行目にブレークポイント仕込む習慣が無いヤツには関係ないと思うかも知れんが、 コード編集でブレークポイントがずれることくらい日常的にあるだろ? ホントにお前は読解力が無いんだな。 530は529を含む試用版も試さずに、うだうだ言ってるヤツへのアンチテーゼなんだよ。 実際にはCLとICLのビルド構成は分けてるし、メインのビルド構成はCL+IPP,MKL、 デバッグはVSのIDEで、VTuneとたまにInspectorも掛ける。 error,warningの番号、メッセージ内容に互換性が無いのも事実だし、 それがむしろマイナーバグの検出に役立ってるのも確かだ。 Update3のまま放置って、Intelもやる気ないよな。 XLsoftのサポート経由で言われたんだけど、ローカライズ版は、IPPやらMKLやらも 一致したバージョンしか想定してないらしい。 AdvisorのUpdate3も念のため試したけど、いつものよう微妙におかしい。 Advisor自体ほとんど使わないので、動作内容を追ったわけじゃないんだが、 VS2008のスプラッシュがおかしな表示なる。VS2010は表示上問題なさそう。 Linux版のコンパイラ本体しか使っていない私は勝ち組(ぉぃ craftyのソースをビルドしたいのにiccがないと言われる gccだとエラーになる いったいどこでダウンロードできるんだ? AMDのCPUで速度が落ちる工作とか本当にやめて欲しい >>548 非Intelプロセッサを積極的にサポートする必要は無いだろうけど、 AMD云々の話しは訴訟で負けたんだし、さすがに辞めたんじゃないの? Reimbursement Fundから、何度かメール来てるんだけど、オレの場合はICC関係のプロダクトが 1個じゃないのと、Intel C++のせいでどんだけ(金額換算、時間換算とか)損失出たのかとか、 計り様のないフォームを埋めないといけない。 個人なんで多少の一時金でも出るなら、欲しくてしょうがないんだが、 そのフォームを埋めるのに要する時間や努力の方が惜しい。 だから放置しっ放しだわ。 どっちかと言うと、AMDのCPUで速くなるコードを出力せず、Pen4程度のコードを出力するってだけだろ。 AMDがまともなコンパイラを出さないんだから、しょうがない。 今日これの存在しって、感動して今評価版落としてるわ 興奮させてくれよ インテル コンパイラーをインストールすると、Visual StudioのIDEにツールバーが追加される(図8) http://static.sourceforge.jp/magazine/blob/75/75023c17a87b79ac9d36b5a4cc05f546.png されないぞ イライラしてスーパーサイヤ人になりそうだ これって、キャンペーンとかある? 学生にアカデミックでも10万とかきついんだけど。 >>555 ずばりそうでした。Proにしたらいけました・・・ >>556 このスレ伸びないせいか、大分書き込んでるんだけど、 ICCにしてもVCににしても、学生や教員だと安く買えるということ自体超妬ましい。 そういう意味で学生にきついって考え自体が、誤ってると思う。 VC2010Premium持ちで、プロファイラは既にあるが、やっぱり vtuneとInspectorは欲しいな 体験版試しましたが、僕のプログラムでは効果を体感できませんでした 僕がもっとプログラムに詳しくなってから試してみたいと思います 25歳大学生 これって英語版のみ? 海外サイトだと日本よりだいぶ安いから、買うなら海外にしようと思うのだが 日本語版はあるけど英語版に合わせてうpだてされない 見当違いの回答だったかもしれないな。 インテルのサイトから直接買っても エクセルソフトからダウンロードできる日本語版を使える。 けど、>>563 逆に日本でエクセルソフトから買っても インテルのサイトにユーザ登録すると最新の英語版をダウンロードして使える。 サポート期間が有効な間に出た更新だけではあるけど。 (サポート期間が過ぎても使用可能) 差額とかも関係するから一概に安いとは言えないが放送大学に入ってアカデミ版を購入するとか。 店の決済でギフト券が使えるとこを利用するとか。 (クレジットカードとギフト券は決済が別なのでカードが使えるから券が使用可とは限らない。) ギフト券を金券屋で購入すれば微妙に安くなる。 1〜2%OFF程度 本国intel経由でC++Studioを購入 今日から、おまいらの仲間 6月までのキャンペーンでintel.com から直接買えば 5万円で C++ Studio が買えた。しかも二年間のサポート付き。 で、せっかくかったのにあまり有効に使ってないという事実。 一瞬でいいから、一ドル50円くらいになればいいな。 update 7 がでた。 日本語のリリースのーとが有るからようやく日本語版の更新もでるかもしれない update 7 ダウンロードしたら日本語版だった。 またワンパケージで提供するようになるのかな update 6 で上がったんじゃなかったかな。 composer にはいってる tbb も open source 版の tbb も 配布バイナリは 11.1 でビルドされてるんだな。 なんで xe 12.1 じゃないんだろう。 ICCでもIA-64サポートしなくなったってことはとうとう終息かな 1.3.1 IA-64 アーキテクチャー (インテルR ItaniumR) 開発の未サポート 本バージョンでは、IA-64 アーキテクチャー (インテルR ItaniumR) システム上、 または IA-64 アーキテクチャー・システム向けの開発をサポートしていません。 インテルR コンパイラー 11.1 ではまだサポートされています。 ってXE2011のリリースノートに書いてある Intel C++ Composer XE 2011 Update 8 Fortran はしらん 俺の1年ライセンスが切れる10月中までに2013が出ると嬉しいが、 そのページを見る限りではギリギリっぽいな ってか最近新しいCPUでてないし、更新する意味あるの Haswellのベンチ結果が流れてたけど、Sandraのベンチマークで1.8倍近く速くなってるのがあるのは コンパイラのベクタ化機能のおかげだよね。 今までのCPU以上にベクタ化の効果が大きいと高くても欲しくなってくるなぁ。 ベンチではなく実際のアプリでの効果が気になるけど、評価期間内にプログラムを 完成させなきゃならないとおもうと評価版を試すのを躊躇してしまう・・・ Intel C++ / Fortran Composer XE 2013 SP1 (v14.0) SP1 Update1が2GBもあるからDLが終わらない・・・ 2GBでなんだ! DVD ISOのイメージとかDLしてインストールしてください、ってのやった事ないの? 日本での販売価格がボッタクリすぎだな 本国経由で買えばいいだけだが TBBのアップデートインストールしたら日本語だったはずのVSプロジェクトのプロパティが英語になっちゃった。 コンパイラの警告やエラーは日本語なのになんだこりゃ? VSの拡張機能も一緒にアップデートされたのかな? C++ Composer XE 2013 & VC2013の64bitコンパイル時に実行パスにmsysが入ってると リンカ(xilink)がエラー吐くんだけど、32bitやVC2012だと問題なくコンパイルできたりするのは何でだろう? msys-gitならエラー吐かないからそっちをパスに設定して回避した。 ネットで調べても誰も困ってなかったから原因突き止めるのに結構かかかったんでメモ代わりに。 「C++フロントエンドとしてClangを使ってLLVM中間コード(IR)を生成したのち、 プロプライエタリなIntel製のコンパイラでその中間コードをネイティブコードにコンパイルする」 IntelがClangベースのC++コンパイラを開発 | スラッシュドット・ジャパン デベロッパー http://developers.slashdot.jp/story/14/05/02/0425216/ 2014年05月02日 16時03分 マイクロソフトがC++を捨てたら windows用のコンパイラは廃止されるの? 廃止されるかは知らんが、需要は激減するだろうから 里奈糞番しか売らなくなるかもしれん。 >>599 Linux版はそもそも非商用ならタダじゃん…… これからは.NET(C#)だけで行くよ! .NETからAPIは呼べるようにするけど ネイティブコード吐けるプロジェクトはVSで 作れないようにするよ! 当然C++のコンパイラは付けないよ! ってMSが決めたら.NETに移行せざるを得ないので インテルのwin用コンパイラも売れなくなるだろうな。 もっとも、インテルのコンパイラがインテルに莫大な 利益をもたらしているほど売れているようにも思えないが。 > 当然C++のコンパイラは付けないよ! ここから何故 C++ を扱うプラグインを許可しないという結論に飛躍するのだろうか。 むしろかなり購入者が増えるんじゃないだろうか。 XE2015が出たな 新規だと、相変わらず本国経由の方が10万位は安い エクセルソフトのメールで 「最新インテル C++/Fortran コンパイラー 15.0 日本語版 提供開始!」 だって ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.4.7 2024/03/31 Walang Kapalit ★ | Donguri System Team 5ちゃんねる