インテル ® マス・ カーネル・ ライブラリのケーススタディ（ 参考 訳）

インテル® プラットフォームとインテル® テクノロジに対応した
インテル® ソフトウェア開発製品

数値演算性能の最適化「インテル ® MKL ルーチンは優れた品質と充実度を誇る NAG ライブラリを完全に補完する役割を果たします。これらを組み合わせることで、NAG のユーザは多岐にわたる高性能コンポーネントを利用できるようになっています。」

数値計算
政府、科学、商業、研究機関をはじめ、世界中の多くの企業では、洗練された数値演算を行う数学ソフトウェアを必要としています。Numerical Algorithms Group (NAG) では、この要求に応えるため、数多くの高性能な数値演算ソフトウェア・ライブラリを作成してきました。インテル ®

Brian Ford 博士

アーキテクチャ・システムにおける性能を高めるために、常務取締役、NAG Ltd.

NAG ライブラリは高性能ソフトウェア開発ツールである
インテル ® マス･カーネル・ライブラリ ( インテル ® MKL)を使用しています。

NAG ライブラリは、PC からスーパーコンピュータまで広範囲のコンアプリケーションピュータ・システムで利用できます。さまざまなマシンでライブラリのパフォーマンスを最大限に引き出すために、NAG のエンジニアは Basic

Linear Algebra Subprograms (BLAS) セットの設計に力を入れました。

NAG マス・ライブラリ

BLAS 関数は、基本のベクトル演算とマトリックス演算用の、高性能のインテル® MKL基礎ルーチンです。効率的で移植性に優れ、広く利用可能な BLAS 関数

インテル® アーキテクチャは、一般に、線形代数ソフトウェアの開発で採用されています。

BLAS は、演算の中心として使用できると同時に、高レベルのアルゴリ開発者向けのライブラリ・スタックズムに専念できるため、NAG や他のソフトウェア・ベンダにとって重要です。
「インテル ® MKL は、ソフトウェア開発スタックの効果を倍増するのに重要な役割を果たしました。プロセッサ・ベースのパフォーマンスの向上に加え、最新のインテル ® プロセッサ向けのインテル ® MKL のチューニングによって、主要な数値演算ルーチンから最大限のパフォーマンスを引き出すことができました。」と NAG 常務取締役の Brian Ford 博士は述べています。

インテル ® MKL ソフトウェアの重要性
インテル ® マス・カーネル・ライブラリ ( インテル ® MKL) は、数学、工学、科学、金融系アプリケーションなど、インテル ®
プラットフォーム上で極めて高いパフォーマンスが求められるアプリケーションに最適化された関数一式を提供します。インテル®

MKL には、LAPACK と BLAS を含む線形代数、高速フーリエ変換 (FFT)、ベクトル超越関数 (VML、ベクトル・マス・ライブラリ )などの関数が用意されています。

アプリケーションNAG の功績NAG は、複雑な数学問題や統計問題を解くためのトップレベルのソフトウェアを開発しています。イギリス、ドイツ、日本、およびアメリカにオフィスがあり、世界有数の数学専門家の共同ネットワークを構築、活用しています。約 30 年前に、NAGは最初の商業用数学アルゴリズム・ライブラリと統計アルゴリズム・ライブラリを開発しました。NAG が提供する製品とサービスには、統計、記号、画像、および数値シミュレーション・ソフトウェア、コンパイラ、アプリケーション開発ツールと多岐にわたるコンサルティングがあります。

NAG のソフトウェア・ライブラリは、さまざまなコンピューティング言語とプラットフォームをカバーし、最新のテクノロジを利用できるように常に「インターネットで行われる最適な金融ポートフォリオのアップグレードされています。NAG のコンサルティング・サービスでは、計算を支える NAG の最適化ルーチンにはインテル ® MKL

自社のソフトウェア開発の専門知識と数値演算の専門知識を組み合わせて提ライブラリが使用されています。」

供します。例えば、アプリケーション開発や NAG ライブラリのパフォーマンスを最大限に得るためのサポートを提供しています。

David Sayers 博士、主席コンサルタント
NAG Ltd.

課題

ソフトウェアの移植性

一般的に、金融計算はタイムクリティカルになるか非常に大規模なものにな

NAG のユーザにとってパフォーマンスは非常に重要です。また、最大限のを達成するため、銀行業界では、マルチプロセッサのインテル ® プロセッサ・パフォーマンスを引き出すためには、ハードウェア / ソフトウェア・スタックベース・システムなどの最新のハードウェア・テクノロジを購入するだけでによって倍増する効果を利用することが不可欠です。NAG の顧客がインテル®

はなく、ハードウェアのパフォーマンスを最大限に引き出せるソフトウェア

Itanium® プロセッサ、インテル ® Xeon™ プロセッサ、インテル ® Pentium®の機能を利用しています。NAG では、インテル ® MKL にリンクすることで、4 プロセッサで動作するアプリケーションを開発、発展させていく中、各インテル ® プロセッサ・ベース・システムのマルチプロセッサ機能を即座にプロセッサ・プラットフォームでのパフォーマンスを最適化させることが活用することができました。

ります。どちらにしろ、計算効率を最大限にすることは必須です。この目標

NAG の課題でした。
主要な証券会社の一社である NAG の顧客も、次のようにこの機能を高く評価しています。「私のチームでは、可能な限り、金融計算のエキスパートである NAG の数値ルーチンを使用しました。今後も、NAG ライブラリを利「インテル ® MKL はソフトウェア開発スタックの効果を倍増用し続けたいと思っています。」

するために重要な役割を果たしました。」

David Sayers 博士、主席コンサルタント
NAG Ltd.

利点

金融業界におけるパフォーマンス解決策

インテル ® MKL の導入により得られた競争力で、NAG のライブラリは金融

インテル® MKL による改善業界に広く受け入れられました。Fortune Global 100 に選ばれた金融関連企

NAG では、インテル® プラットフォームで継続的にパフォーマンスを向上し業と投資信託会社も、NAG ソフトウェアの性能に満足しています。ていくためにインテル® MKL を使用しました。NAG がライブラリの新しい

1市場を開拓するにあたって、BLAS が非常に効率的に実装されたインテル

2®

DGEMM テスト : 1000 x 175 行列で 5 つの異なる DGEMM 呼び出し 100 ループの実行時間
DPOTRF テスト : 2000 x 2000 行列の分解 100 ループの実行時間
DGEQRF テスト : 1000 x 1000 行列の QR 分解 10 ループの実行時間

3

MKL の可用性が大いに役立ちました。インテル MKL は、科学計算の中心

実行時間はすべて、2.2 GHz インテル® Pentium® 4 プロセッサ・ベースのシステムを使用して測定さである線形代数を使用する NAG ルーチンのパフォーマンスを向上させましれました。

®

た。このパフォーマンスの向上により、NAG のソフトウェアは、特に金融部門で高く評価されています。

線形代数

CPU 時間高速化 (%)NAG のみNAG &インテル ® MKL

DGEMM1 (BLAS)

049.4

014.1

350%

2DPOTRF (LAPACK)

511.3

216.9

236%3265.3

092.6

287%

DGEQRF (LAPACK)

インテルは、ソフトウェア・アプリケーションのパフォーマンス、機能、および効率性を強化するためのツールとサポートを提供します。インテル® ソフトウェア開発製品は、主流の Windows* および Linux* 開発環境と互換性があり、迅速かつ簡単な方法でインテル® プロセッサの最新機能を最大限に引き出します。インテル® パフォーマンス・ライブラリ、インテル® コンパイラ (Windows 版/ Linux 版、C++/ Fortran)、インテル® VTune™ パフォーマンス・アナライザ、インテル® スレッド・チェッカーといったインテル® ソフトウェア開発製品は、開発サイクルの全般で利用できるように設計されています。性能テストの結果は NAG によって提供されたものです。特定のコンピュータ・システム、コンポーネント、測定方法の違いにより、実際の性能が異なる場合があります。
最新の製品情報については、次の Web サイトを参照してください: www.intel.co.jp/jp/developer/software/products/

Intel、インテル、Intel ロゴ、Intel NetBurst、Itanium、Pentium、VTune、および Xeon はアメリカ合衆国およびその他の国における Intel Corporatio またはその子会社の商標または登録商標です。
* その他の名称およびブランド名は、各社の商標および登録商標です。