インテル® マス・カーネル・ライブラリー (インテル® MKL) には、パフォーマンスの向上と開発時間の短縮に役立つ豊富なルーチンが含まれています。高度にベクトル化およびスレッド化された線形代数、高速フーリエ変換 (FFT)、ベクトル演算関数、そして統計関数を含んでいます。
プロセッサーの処理能力のすべてを活用する最も簡単な方法は、その潜在能力を引き出すように設計された最適化済みの数学ライブラリーを使用することです。コンパイラーも、手動で最適化されたライブラリーが引き出すパフォーマンス・レベルには敵いません。アプリケーションが BLAS や LAPACK 関数を使用しているのであれば、インテルおよび互換プロセッサーでパフォーマンスを更に向上するために、簡単なインテル® MKL への再リンクをお試しください。
インテルでは、開発者がすぐに利用できるよう、ランタイムの再配布権が含まれる関数群を開発しており、開発者から寄せられた要望をもとに、機能追加を進めます。インテル® MKL を使用することで、開発したコードを将来の世代のインテル ® プロセッサーでも最小限の労力で適切に実行できるため、長期に渡り開発、デバッグそして保守時間を節約できます。
詳細・新機能 技術情報インテル® MKL は単体で販売されておりません。以下製品に同梱されます。
アプリケーションの高速化、安定化を支援するスイート製品です。
組込み/モバイルデバイス向けシステムの電力効率、パフォーマンス、信頼性向上を支援するスイート製品です。
主に以下の変更・機能が追加されました。
詳細は、 リリースノートおよび インテル社公開の情報を参照ください。
インテル® MKL は、高度にベクトル化およびスレッド化された線形代数、高速フーリエ変換 (FFT)、ベクトル演算関数、そして統計関数を含んでいます。単一の C および Fortran の API 呼び出しにより、これらの関数は自動的にコードパスが選択され、過去、現在そして将来のプロセッサー・アーキテクチャーにスケールできます。クラスター版の LAPACK、FFT およびスパースソルバーには、MPI ベースの分散メモリー演算サポートが含まれます。
開発者が達成しなければならない多くの要件は、時に競合し合い、調整しなければいけないことがあります。可能な限り高いアプリケーションのパフォーマンスと一貫性のある浮動小数点の結果は必要ですか? 高速なベクトル演算関数パフォーマンスを必要とするが、精度は求めませんか?
インテル® MKL は、必要に応じて以下のようなトレードオフを制御できます。
また、多くの開発者が使用するコンパイラー、言語、オペレーティング・システム、リンク方法、そしてスレッドモデルと互換性があります。複数の環境をサポートするため、開発者はライブラリー使用の習得も管理方法もインテル® MKL のみを考慮すれば良く効率的です。
インテル® MKL の高度に最適化された BLAS および BLAS のような拡張機能を使用すると、高性能コンピューティング、機械学習、その他の分野のアプリケーションでパフォーマンス・アドバンテージが得られます。
低レベルの線形代数ルーチンは、ベクトルと行列で動作し、次のような業界標準の BLAS 演算と互換性があります。
インテル® MKL には、多くの BLAS のような拡張機能も含まれています。
パフォーマンス&ネットワーク・ プリミティブ
インテル® アーキテクチャー向けに最適化されたディープ・ラーニング・アプリケーションを開発するには、パフォーマンス・プリミティブのコレクションを使用してください。
インテル
® MKL ライブラリーは、AlexNet、Visual Geometry Group、GoogLeNet、および ResNet* を含む、画像認識トポロジーを高速化するために最も一般的に使用されるプリミティブをサポートします。
本製品には、回旋、内積、プール、正規化、アクティベーション・プリミティブが含まれます。一般的に、これらの関数は、Caffe*、Theano*、Torch* などの一般的なディープ・ラーニング・フレームワークの計算集中的な部分を高速化するために使用されます。
インテル® MKL に加えて、ディープ・ニューラル・ネットワーク (DNN) プリミティブのオープンソース版も利用できます。
パフォーマンス・ベンチマーク インテル® MKL は、金融工学、ライフサイエンス、エンジニアリング・シミュレーション、データベースなどのアプリケーションの操作を高速化します。モンテカルロ・アプリケーションのパフォーマンスが向上し、乱数ジェネレーター、確率分布、および並列計算のための機能が提供されます。
Mersenne Twister や Niederreiter などの乱数ジェネレーターと、均一分布、ガウス分布、指数分布などのさまざまな確率分布に組み合わせます。
インテル® MKL は、インコアとアウトオブコアの両方に対応した統計分析用のハイレベルなコア/ビルディング・ブロックも提供します。これらの統計関数には、以下が含まれます。
インテル® MKL には、一次補間用の豊富なスプライン関数のセットが含まれています。これらの関数は、データ解析 (例: ヒストグラム)、ジオメトリー・モデリング、面近似を含む、さまざまなアプリケーションで役立ちます。スプラインには、線形、平方、立方、ルックアップ、ベーシス( B スプライン)、単調、階段状、定数、ユーザ定義です。
乱数ジェネレーター・ベンチマーク
ベンチマーク・データを使用して、アプリケーションで使用する関数について実績に基づいた決定を下しましょう。ベンチマークでは、ビルドイン C rand() 関数と比較して、乱数ジェネレーターのパフォーマンスが向上していることを示しています。
インテル® MKL は、データ解析ライブラリーであるインテル® DAAL と同じチームによって開発されています。このチームは、インテル® アーキテクチャー・ベースのシステムから最大限のパフォーマンスを引き出すため、インテル® プロセッサーの設計チームと協力しつつ作業を行っています。
基本的なデータ分析からマシンラーニングまで、開発で必要とするアルゴリズムにインテル® MKL とインテル® DAAL を役立てることができます。
| インテル® Core™ プロセッサー |
インテル® Xeon ® プロセッサー |
インテル® Xeon Phi™ プロセッサー |
|
|---|---|---|---|
| BLAS | |||
| LAPACK | |||
| LINPACK | N/A | ||
| 高速フーリエ変換 (FFT) | |||
| スパース行列ベクトル乗算 (Sparse Matrix-Vector Multiplication : SpMV) およびスパース・ソルバー |
|||
| 乱数ジェネレーター (RNG : Random Number Generator) |
| オペレーティング・システム |
複数オペレーティング・システム上で同じ API を使用してアプリケーションを開発できます。
|
| サポートするコンパイラーと開発環境 |
|
| 言語 |
C/C++、Fortran をサポートしています。 |
必要なインテル® MKL のコピー数は、インテル® MKL API を使用してコードの記述、コンパイル、テストを行っている開発者の数と、コンパイルおよびリンクを行うビルドマシン (フルセットのインテル ® MKL 開発ツールが必要です) の数によって決まります。詳細は、 EULA を参照してください。
はい。インテル® MKL を購入すると、インテル® MKL の一部のファイルをアプリケーションとともに再配布する権利が得られます。インテル® MKL の評価版には、この権利は含まれません。再配布できるファイルは、製品ライセンス付きのインテル® MKL ディストリビューションに含まれている redist.txt にリストされています。
いいえ。コピーごとにロイヤルティーを支払う必要はありません。詳細は、インテル® MKL エンド・ユーザー・ソフトウェア使用許諾契約書 EULA を参照してください。
一般に、リンク可能なファイル (Windows ® では .DLL および .LIB ファイル、Linux* では .SO および .A ファイル) を再配布できます。インテル® MKL を購入 (またはサポートサービスを購入して更新) すると、再配布可能なファイルのリストを含む redist.txt ファイルが提供されます。インテル® MKL の評価版には、この権利は含まれません。詳細は、 EULA を参照してください。
EULA の Redistributables セクションで定義されているディレクトリーに含まれているファイルのコピーは無制限に再配布できます。
必要なインテル® MKL のコピー数は、インテル® MKL API を使用してコードの記述、コンパイル、テストを行っている開発者の数によって決まります。例えば、組織で 5 人の開発者がインテル® MKL を使用してコードを記述している場合、5 つのインテル® MKL ライセンスが必要です。詳細は、 EULA を参照してください。
必要なインテル® MKL のライセンス数は、組織でインテル® MKL を同時に使用する開発者とビルドマシンの数によって決まります。同時に使用するコピー数がライセンス数以下であれば、任意の数のマシンにインテル® MKL を配備してアプリケーションをビルド/テストできます。例えば、5 人の開発者が 10 台のマシンで同時にインテル® MKL を使用して開発とテストを行う場合、必要なインテル® MKL のライセンス数は 10 になります。詳細は、 EULA を参照してください。
いいえ。インテル® MKL の再配布可能ファイルをソフトウェアに含めて再配布するためにロイヤルティーを支払う必要はありません。開発者が使用するインテル® MKL のライセンスを購入することにより、ソフトウェアとともにインテル® MKL の再配布可能ファイルを無制限に配布する権利が得られます。詳細は、 EULA を参照してください。
インテル® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル
® レジストレーション・センター操作マニュアルを参照ください。
最新版、または旧バージョンのダウンロードは、インテル® レジストレーション・センターで行います。
詳細は以下ページを参照ください。