インテル ® MKL 2018

工学、科学、金融系アプリケーションのパフォーマンスの向上を図る数値演算ライブラリーです。
インテル ® Parallel Studio XE、インテル ® System Studio に同梱されています。
関連情報
[お知らせ一覧]

すぐに利用でき、優れたパフォーマンスを実現

インテル ® マス・カーネル・ライブラリー (インテル ® MKL) には、パフォーマンスの向上と開発時間の短縮に役立つ豊富なルーチンが含まれています。高度にベクトル化およびスレッド化された線形代数、高速フーリエ変換 (FFT)、ベクトル演算関数、そして統計関数を含んでいます。

プロセッサーの処理能力のすべてを活用する最も簡単な方法は、その潜在能力を引き出すように設計された最適化済みの数学ライブラリーを使用することです。コンパイラーも、手動で最適化されたライブラリーが引き出すパフォーマンス・レベルには敵いません。アプリケーションが BLAS や LAPACK 関数を使用しているのであれば、インテルおよび互換プロセッサーでパフォーマンスを更に向上するために、簡単なインテル ® MKL への再リンクをお試しください。

インテルでは、開発者がすぐに利用できるよう、ランタイムの再配布権が含まれる関数群を開発しており、開発者から寄せられた要望をもとに、機能追加を進めます。インテル ® MKL を使用することで、開発したコードを将来の世代のインテル ® プロセッサーでも最小限の労力で適切に実行できるため、長期に渡り開発、デバッグそして保守時間を節約できます。

詳細・新機能 技術情報

製品紹介資料

インテル ® Parallel Studio XE

製品概要、新機能、各エディションの違いやコンポーネント、パフォーマンス、お客様の声などをご紹介しています。

PDF ブラウザで表示

スイート製品に同梱

インテル ® MKL は単体で販売されておりません。以下製品に同梱されます。

インテル ® Parallel Studio XE

アプリケーションの高速化、安定化を支援するスイート製品です。

インテル ® System Studio

組込み/モバイルデバイス向けシステムの電力効率、パフォーマンス、信頼性向上を支援するスイート製品です。

バージョン 2018 新機能

主に以下の変更・機能が追加されました。
詳細は、 リリースノートおよび インテル社公開の情報を参照ください。

  • BLAS、Sparse BLAS、LAPACK、ScaLAPACK、FFT 関数、ディープ・ニューラル・ネットワーク向け機能の追加・拡張

  • GEMM と LAPACK で小行列の乗算のパフォーマンスを向上

  • 分散型計算の ScaLAPACK パフォーマンスを向上

  • 24 の新しいベクトル演算関数

  • 導入および再配布しやすい簡易ライセンス

  • yum、apt-get、conda でも配布

  • インテル ® AVX-512 (インテル ® Advanced Vector Extenions 512) 命令、インテル ® Xeon Phi™ プロセッサー向けサポートの拡張

  • インテル ® MKL API の新しいベンチマーク

  • インテル ® Xeon Phi™ x100 製品ファミリー・コプロセッサー (コード名: Knights Corner) のサポート終了

総合的な数学機能 – 広範囲なアプリケーションの要求をカバー

インテル ® MKL は、高度にベクトル化およびスレッド化された線形代数、高速フーリエ変換 (FFT)、ベクトル演算関数、そして統計関数を含んでいます。単一の C および Fortran の API 呼び出しにより、これらの関数は自動的にコードパスが選択され、過去、現在そして将来のプロセッサー・アーキテクチャーにスケールできます。クラスター版の LAPACK、FFT およびスパースソルバーには、MPI ベースの分散メモリー演算サポートが含まれます。

標準 API – 簡単にコードに統合でき、パフォーマンス向上を実現

最小限のコード変更で他のライブラリーから切り替えられるよう、インテル ® MKL はデファクト・スタンダードとなっている API を採用しています。これにより、単純に関数を置き換えるか再リンクすることで、迅速にそして容易にアプリケーションのパフォーマンスを向上できます。

単純にインテル ® MKL の LAPACK (線形代数パッケージ) に置き換えることで、500% 以上の性能向上が達成できた例もあります。業界標準の BLAS と LAPACK 線形代数 API に加えて、インテル ® MKL は高速フーリエ変換向けの MIT FFTW C インターフェイスをサポートしています。

過去、現在そして将来のプロセッサーに渡って最高のパフォーマンスとスケーラビリティーを実現 – 容易にそして自動的に

インテル ® MKL は、単一の C もしくは Fortran API に、各世代のインテルおよび互換プロセッサー向けに最適化された、複数のコードパスを実装します。アプリケーション開発者によりコード分岐がないことが要求されますが、インテル ® MKL は、最大限のパフォーマンスを得るため最良のコードパスを利用します。新たに最適化されたコードパスは、将来のプロセッサーがリリースされる前に同じ API の配下に追加されるため、開発者は新しいバージョンのインテル ® MKL にリンクするだけで、アプリケーションは最新のプロセッサー・アーキテクチャーを最大限に活用する準備を整えることができます。

開発者の要求に柔軟に対応

開発者が達成しなければならない多くの要件は、時に競合し合い、調整しなければいけないことがあります。可能な限り高いアプリケーションのパフォーマンスと一貫性のある浮動小数点の結果は必要ですか? 高速なベクトル演算関数パフォーマンスを必要とするが、精度は求めませんか?

インテル ® MKL は、必要に応じて以下のようなトレードオフを制御できます。

  • 結果の一貫性とパフォーマンス
  • 精度とパフォーマンス
  • コンパイラー、リンカーおよびスレッドモデル
  • 言語とオペレーティング・システム

また、多くの開発者が使用するコンパイラー、言語、オペレーティング・システム、リンク方法、そしてスレッドモデルと互換性があります。複数の環境をサポートするため、開発者はライブラリー使用の習得も管理方法もインテル ® MKL のみを考慮すれば良く効率的です。

線形代数

インテル ® MKL の高度に最適化された BLAS および BLAS のような拡張機能を使用すると、高性能コンピューティング、機械学習、その他の分野のアプリケーションでパフォーマンス・アドバンテージが得られます。
低レベルの線形代数ルーチンは、ベクトルと行列で動作し、次のような業界標準の BLAS 演算と互換性があります。

  • レベル 1 : ベクトル - ベクトル演算
  • レベル 2 : 行列 - ベクトル演算
  • レベル 3 : 行列 - 行列演算

インテル ® MKL には、多くの BLAS のような拡張機能も含まれています。

  • 三角 GEMM ルーチン : 行列 - 行列演算を行うが、上三角部分または下三角部分のみの結果行列を更新
  • バッチ GEMM ルーチン : 複数の GEMM 操作を並行して実行
  • パックされた GEMM ルーチン : 複数の GEMM 操作にまたがる内部パッキングコストを償却

高速フーリエ変換 (FFT)

複数のニーズに対する FFT
FFT は 一、二、または三次元で機能し、混合基数をサポートします (2 の累乗に限定されません)。 これらの FFT 関数の分散バージョンはクラスター上で使用されます。 サポートされる機能は次のとおりです。

  • 単精度および倍精度の一次元バージョン
  • 任意の長さの多次元、複素数間、実数-複素数間、実数 - 実数間の変換
  • 業界標準の API との互換性のための FFTW インターフェイス

クラスター向けのフーリエ変換関数
単一ノードのパフォーマンスが不十分な場合は、コンピューティング・ノードのクラスター全体で、分散コンピューティングをサポートします。

ディープニューラルネットワーク

パフォーマンス&ネットワーク・ プリミティブ
インテル ® アーキテクチャー向けに最適化されたディープ・ラーニング・アプリケーションを開発するには、パフォーマンス・プリミティブのコレクションを使用してください。
インテル ® MKL ライブラリーは、AlexNet、Visual Geometry Group、GoogLeNet、および ResNet* を含む、画像認識トポロジーを高速化するために最も一般的に使用されるプリミティブをサポートします。
本製品には、回旋、内積、プール、正規化、アクティベーション・プリミティブが含まれます。一般的に、これらの関数は、Caffe*、Theano*、Torch* などの一般的なディープ・ラーニング・フレームワークの計算集中的な部分を高速化するために使用されます。

インテル ® MKL に加えて、ディープ・ニューラル・ネットワーク (DNN) プリミティブのオープンソース版も利用できます。

パフォーマンス・ベンチマーク
インテル ® MKL を使用した結果、時間の経過とともにパフォーマンスの傾向が改善され、アプリケーションでどの機能を使用するかについて、実績に基づいた決定を下すことができます。

ベクトル統計とデータ適合

インテル ® MKL は、金融工学、ライフサイエンス、エンジニアリング・シミュレーション、データベースなどのアプリケーションの操作を高速化します。モンテカルロ・アプリケーションのパフォーマンスが向上し、乱数ジェネレーター、確率分布、および並列計算のための機能が提供されます。
Mersenne Twister や Niederreiter などの乱数ジェネレーターと、均一分布、ガウス分布、指数分布などのさまざまな確率分布に組み合わせます。

インテル ® MKL は、インコアとアウトオブコアの両方に対応した統計分析用のハイレベルなコア/ビルディング・ブロックも提供します。これらの統計関数には、以下が含まれます。

  • 基本統計の計算
  • 依存関係の予測
  • 外れ値の検出
  • 欠測値の置換

インテル ® MKL には、一次補間用の豊富なスプライン関数のセットが含まれています。これらの関数は、データ解析 (例: ヒストグラム)、ジオメトリー・モデリング、面近似を含む、さまざまなアプリケーションで役立ちます。スプラインには、線形、平方、立方、ルックアップ、ベーシス( B スプライン)、単調、階段状、定数、ユーザ定義です。


乱数ジェネレーター・ベンチマーク
ベンチマーク・データを使用して、アプリケーションで使用する関数について実績に基づいた決定を下しましょう。ベンチマークでは、ビルドイン C rand() 関数と比較して、乱数ジェネレーターのパフォーマンスが向上していることを示しています。

ベクトル演算およびその他のソルバー

インテル ® MKL には、計算集約的な数学関数を高速化するベクトル数学ライブラリーが含まれています。 このライブラリーは、単精度および倍精度の要件、実数および複素数、および計算タイプを処理します。 基本ベクトル算術演算には、要素ごとの加算、減算、乗算、除算、および共役が含まれます。 丸め演算には、floor、ceil、および最も近い整数が含まれます。

含まれるその他の機能:
  • 累乗
  • 平方根
  • 逆数
  • 対数
  • 三角関数/三角法
  • 双曲線(逆)エラーと累積正規分布
  • パックおよびアンパック
  • 信頼領域アルゴリズム
  • 部分微分方程式

強化された機能:

  • 正確性
  • 非正規数処理
  • エラーモード制御

インテル ® パフォーマンス・ライブラリーによるマシンラーニングの高速化

インテル ® MKL は、データ解析ライブラリーであるインテル ® DAAL と同じチームによって開発されています。このチームは、インテル ® アーキテクチャー・ベースのシステムから最大限のパフォーマンスを引き出すため、インテル ® プロセッサーの設計チームと協力しつつ作業を行っています。

基本的なデータ分析からマシンラーニングまで、開発で必要とするアルゴリズムにインテル ® MKL とインテル ® DAAL を役立てることができます。

インテル ® Core™
プロセッサー
インテル ® Xeon ®
プロセッサー
インテル ® Xeon Phi™
プロセッサー
BLAS
LAPACK
LINPACK N/A
高速フーリエ変換 (FFT)
スパース行列ベクトル乗算 (Sparse Matrix-Vector Multiplication : SpMV)
およびスパース・ソルバー
乱数ジェネレーター
(RNG : Random Number Generator)
本ページに、ドキュメント一覧が表示されない場合は、ご利用のブラウザの JavaScript を ON にしていただくか、 こちらのドキュメント・ページをご覧ください。

製品トレーニング

インテル ® MKL、インテル ® DAAL ライブラリーによるディープラーニングとマシンラーニングの促進

製品セミナーや関連イベントをご紹介。

米インテル社の製品情報を日本語に翻訳して公開中。

アプリケーションの高速化、安定化を支援するスイート製品です。

組込み/モバイルデバイス向けシステムの電力効率、パフォーマンス、信頼性向上を支援するスイート製品です。

ビッグデータ解析やマシンラーニングのパフォーマンス向上を支援するデータ解析ライブラリーです。

オペレーティング・システム

複数オペレーティング・システム上で同じ API を使用してアプリケーションを開発できます。

  • Windows 10* (IA-32 / インテル ® 64)
  • Windows 8.1* (IA-32 / インテル ® 64)
  • Windows 7* SP1 (IA-32 / インテル ® 64)
  • Windows HPC Server 2016、2012、2008 R2 (インテル ® 64)
  • Red Hat* Enterprise Linux* 6、7、7.5 (IA-32 / インテル ® 64)
  • Red Hat Fedora* core 26、25 (IA-32 / インテル ® 64)
  • SUSE Linux Enterprise Server* 11、12
  • CentOS 6.0、7.1、7.2
  • Debian* 8 (IA-32 / インテル ® 64)
  • Debian* 9 (IA-32 / インテル ® 64)
  • Ubuntu* 14.04 LTS (IA-32 / インテル ® 64)
  • Ubuntu* 16.04 (IA-32 / インテル ® 64)
  • Ubuntu* 17.04 (IA-32 / インテル ® 64)
  • Ubuntu* 17.10 LTS (IA-32 / インテル ® 64)
  • WindRiver Linux 7、8、9
  • Yocto 1.9、2.2
  • macOS* 10.12 (Xcode 6.x) (インテル ® 64)
  • macOS* 10.13 (Xcode 6.x) (インテル ® 64)
サポートするコンパイラーと開発環境
  • インテル ® Fortran Composer XE 2018
  • インテル ® Fortran Composer XE 2017
  • インテル ® Fortran Composer XE 2016
  • インテル ® Visual Fortran コンパイラー 18.0
  • インテル ® Visual Fortran コンパイラー 17.0
  • インテル ® Visual Fortran コンパイラー 16.0
  • インテル ® C++ Composer XE 2018
  • インテル ® C++ Composer XE 2017
  • インテル ® C++ Composer XE 2016
  • インテル ® C++ コンパイラー 18.0
  • インテル ® C++ コンパイラー 17.0
  • インテル ® C++ コンパイラー 16.0
  • Microsoft Visual Studio* 2017 (Windows*)
  • Microsoft Visual Studio* 2015 (Windows*)
  • Microsoft Visual Studio* 2013 (Windows*)
  • GNU コンパイラー Collection 4.9 以上 (Linux*)
  • PGI* コンパイラー version 2016、2015 (Linux*)
  • CLANG-LLVM コンパイラー (macOS*)
言語

C/C++、Fortran をサポートしています。

  • 最新の情報は、製品または評価版に同梱されているリリースノートを参照ください。

お知らせ

2017年 9月 14日、インテル ® MKL 2018 が同梱されるインテル ® Parallel Studio XE 2018 の販売を開始しました。

過去に製品をご購入いただき、現在有効なサポートサービスをお持ちのお客様は、すぐにバージョン 2018 を無料でダウンロードしてご利用いただけます。

インテル社の方針により、2014年 8月 26日 (火) を以って、インテル ® MKL 単体製品の新規ライセンスの販売を終息しました。
インテル ® MKL の SSR および、本製品を含むバンドル製品の新規ライセンス、SSR は継続して販売いたします。

FAQ

必要なインテル ® 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 を参照してください。

  • インテル ® MKL は、処理するデータ全体がメモリーに収まる場合に有用です。インテル ® DAAL は、データが一度にメモリーに収まりきらない状況でも処理できます。インテル ® DAAL は、アプリケーションがデータの一部分をチャンクとして処理し、最後に最終結果を取得することを可能にします。
  • インテル ® MKL は、Fortran と C API をサポートします。インテル ® DAAL は、C++ と Java* API をサポートします。
  • インテル ® MKL を使用する場合、アプリケーションはデータの管理 (データソースに接続し読み取る) にほかのツールやライブラリーを必要とします。インテル ® DAAL は、データ管理機能を持っています。アプリケーションは、各種ソース (ファイル、インメモリー・バッファー、SQL データベース、HDFS など) に直接アクセスできます。
  • いくつかのアルゴリズム (行列分解、低次モーメント、分位など) は、インテル ® MKL にもあります。

インテル ® レジストレーション・センターで操作します。
操作手順やよくあるご質問、トラブルシューティングは、インテル ® レジストレーション・センター操作マニュアルを参照ください。

» マニュアルはこちら

最新版、または旧バージョンのダウンロードは、インテル ® レジストレーション・センターで行います。
詳細は以下ページを参照ください。

» 製品登録 & ダウンロード

購入

技術情報

サポート