モンテカルロ・シミュレーションによる金融商品のプライシングシステムを開発しております。インテルコンパイラーを用いて、計算時間がどの程度の改善が見られるかを検証を行いました。
マシン: Dell Optiplex 755
OS: Windows VistaR Business 32ビット
CPU: インテルR CoreTM 2 Duo プロセッサー @ 3.00GHz
メモリ: 2GB
コンパイル・オプション: /QxT /QaxT /Qipo
比較対象: Visual C++ 6.0
その結果、計算時間を単純比較して70%ほど早くなりました。
大手ソフトウェア開発エンジニア殿
半導体製造用の内製シミュレーション開発をしております。インテルコンパイラーを使用し、最適化オプション(/O3 /Qip /QxT /Qopenmp)を使用して並列化を行いました。結果、並列化を行う前に比べて約1.5倍のパフォーマンスを得ることができました。これから、インテル VTune アナライザーを使用してOpenMP のチューニング作業を行う予定です。
大手 半導体メーカー エンジニア殿
有限差分時間領域法(FDTD法)を使った電磁界解析シミュレーションソフトを開発しています。インテル・コンパイラーにて最適化オプション
(/Qfp-speculationfast /QaxT /QxT /Qparallel)を付加することにより、Visual C++(Win 32)に比べて、計算時間が40%短縮することができました。
大手 光デバイス開発 エンジニア 殿
開発中のアプリケーションの概要、
FDTD法による電磁界シミュレータ(Fortran90互換コードで作製)
OS: Windows XP x64 Edition
CPU: Dual Core Xeon(5130) 2.0GHz + 2GByte RAM
使用したコンパイルオプション: /QxT
比較対照となったコンパイラー: Compaq Visual Fortran 6.0
「時間領域差分法を使って電磁界解析を行っています。解析手法では多重ループを多用するので新しいコンパイラに期待して購入しました。コンパイルオプションの最適化を行っていないですし、正確な時間を計ったわけではないのですが、今まで5〜6時間かかってやっと終わる計算が3〜4時間で完了できるようになりました。高速化の面では今後さらに改善の余地がかなりあります。また、本解析手法ではメモリ使用可能量が解析規模を決めるので、INTEL64に対応して大容量メモリを使えるようになったことが非常に有効だったと感じています。」
国立大学法人 通信系研究室
「平面2次元計算をインテル Fortran コンパイラー Linux 版を使用してコンパイラーの最適化オプション -axp または OpenMP による並列化を使用したところ、OS は異なるものの、DIGITAL Visual Fortran Windows 版に比べて高速化が実現できました。」
・オプション:-axp で実施した場合
計算時間 914.1min → 474.4min
・オプション:-openmp で実施した場合
計算時間 914.1min → 118.7min
株式会社 水工リサーチ 牛山殿
「Intel C++ Compiler for Mac OS をある画像処理のプログラムで採用したところ処理時間が約1/2になりました。」
Macintosh 向けソフトウェア請負開発エンジニア殿
【アプリケーションの概要】
信用リスク計量のためのモンテカルロ・シミュレーション
【コンパイル・オプション】/02
(注)まだこのソフトの操作に慣れていないため、他のコンパイル・オプションではもっと速くなるのかもしれません。
【比較対象コンパイラ】
Microsoft Visual C++ .NET 2003
【パフォーマンス】
一定のシミュレーション回数での計算時間は、約1/2になりました。シミュレーション ループ内での同一関数の複数呼び出しをインライン化して高速化されたのではないかと推測しています。プログラムを書く段階では、同一の関数は外出しした方がコードがコンパクトになるため好まれますが、プログラムの実行段階のことを考えると、何度も使う関数はインライン化した方が速い、という「当り前のこと」に改めて気づきました。
大手金融機関 開発エンジニア殿
インテル Core 2 Duo プロセッサー上で医用画像処理を最適化 - 株式会社ケイ・ジー・ティー殿
株式会社ケイ・ジー・ティーでは、3 次元医用画像処理ソフトウェア「Real INTAGE (リアルインテージ)」の開発にインテル コンパイラーを使用し、インテル 64 対応による高速処理のほかインテル Core 2 Duo プロセッサー上でのプログラムの最適化、およびインテル SIMD 命令の活用による高速ボリュームレンダリングを実現しました。
グリッドシステム全体のパフォーマンスを向上 - 産業技術総合研究所 (AIST)
「インテル(R) Itanium(R) システム上では GNU と比べて大幅な高速化が実現し、また、インテル(R) Xeon(TM) プロセッサー搭載システムで構成されるクラスタシステム上ではスピードと安定性が共に優れていました。」
博士 (理学) 池上努 殿
グリッド研究センター 科学技術基盤チーム
独立行政法人 産業技術総合研究所
デュアルコア向け最適化によるオーディオ変換アルゴリズムの高速化 - ソニーデジタルネットワークアプリケーションズ株式会社 (SDNA)
「インテル(R) ソフトウェア開発製品を利用して最適化とマルチスレッド化を行うことで、従来の3.5 倍の処理性能を実現することができました。アプリケーションの高速化を短期間で実現するには、VTune(TM) アナライザーやインテル(R) コンパイラーなど優れた開発ツールが必要不可欠であるといえます。」
大河内俊雄 殿
ソニーデジタルネットワークアプリケーションズ株式会社
「私は、関数など "大自由度システムの推定問題" を研究していますが、計算機実験による実証は大変困難です。具体的には、ある非線型微分積分方程式を境界条件の下で数値的に解くことになり、ニュートン法を適用して、10万元程度の連立1次方程式を数万回繰り返し解く作業に帰着させます。
幸い、私の問題の場合には高速な解法が存在することが知られていますが、その他の処理と合わせて、インテルのコンパイラーを用いても 5〜6 時間程度の計算時間が掛かります。また、システムサイズを増やせば、すぐに数日から 1 週間程度の計算時間が必要になります。
しかし、やはりインテルのコンパイラーを用いれば、gcc に比べて格段に実行時間が減らせますので、大変役に立っています。」
国立大学 工学部 情報工学科殿
「画像パターンマッチング処理にてインテルコンパイラーを使用した場合、VS.NET2003の場合と比較して評価アルゴリズムの速度が約 30% 向上しました。」
大手 宇宙情報システム開発 会社殿
インテル C++ コンパイラーでパフォーマンスが約 40 % 向上 - 有限会社ブロードマイン殿
有限会社ブロードマインより販売されている TRYCUT2000 の中の機能のひとつである OFFSET 処理機能にインテル C++ コンパイラーを利用した際、アプリケーションの実行速度が 40 % 程向上しました。
Oracle データベースのパフォーマンスの大幅な向上 - Oracle
「Oracle9i Database から最大限のパフォーマンスを引き出す必要がありました。これがインテル(R) コンパイラーを選んだ理由です。」
Mark MacDonald 殿
Windows テクノロジー・グループ、Oracle
Linux 上で高速な流体力学モデリングを実現 - Fluent Inc.
「GNU C と Linux 版インテル(R) C++ コンパイラーで当社の標準ベンチマークを実行したところ、インテル(R) コンパイラーでは最大 37% もパフォーマンスが向上しました。」
Dipankar Choudhury 博士
CTO、Fluent Inc.
HPC アプリケーションで宇宙の起源を解明 - スーパーコンピューティング・センター
「Linux 版インテル(R) Fortran コンパイラーにより、アプリケーションが 24.5% から 31.5% ほど高速化されました。このパフォーマンスの改善は、われわれのアプリケーションに劇的な変化をもたらしました。」
James Murray 博士
天文学者、システムアドミニストレータ
スインバーン大学天体物理学/スーパーコンピューティング・センター
「スキャンライン レイトレーシングによる3Dレンダリングのコードをインテル C++ コンパイラでコンパイルしたところ、関数のインライン化等コンパイラの性能にかなり依存したコード部分があったことにもより、かなり速度差があって驚きました。
これだけコンパイラの性能があれば保守性、可読性を優先した上で、より上位の基本的アルゴリズムの改良による高速化に専念することができます。
元の環境は VisualC++ 2003 Standard です。
(オプションは Standard なため /O2 しか選べません。)
その前は VC6.0、CodeWarrior8.0 でもビルドしてましたがこれらは速度的にあまり変わりありませんでした。
使用した インテル C++ コンパイラーのオプションは次の通りです。
Maximize Speed plus High Level Optimization ( /O3 intel )
Global Optimizations: Yes
Inline Function Expansion: Any Suitable
Enable Intrinsic Functions: No
Floating Point Precition Improvement: None
Favor Size or Speed: Favor Fast Code
Omit Frame Pointers: No
Enable Fiber-safe Optimizations: No
Optimize For Windows Application: Yes
Use Intel(R) Processor Extensions: PenIII
Require Intel Processor Extension: None
Loop Unrolling:
Parallelization: No
最適化オプションをほとんどオフにしたデバッグ用ビルドの場合、VisualC++ 2003 と
Intel C++ コンパイラとの速度差はあまりありませんでした。
今後、どのオプションによってどれだけ速くなるのかは検証する予定です。」
レンダリング開発者殿
|