インテル® MKL 2018

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

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

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

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

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

詳細・新機能 技術情報

製品紹介資料

本ライブラリーが同梱されるインテル® Parallel Studio XE の製品概要、新機能、各エディションの違いやコンポーネント、パフォーマンス、お客様の声などをご紹介しています。

PDF

  • 最新バージョン 2018 の製品紹介資料は、近日中に公開予定です。

スイート製品に同梱

インテル® 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 にリンクするだけで、アプリケーションは最新のプロセッサー・アーキテクチャーを最大限に活用する準備を整えることができます。

インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーの場合、インテル® MKL は完全なネイティブ最適化のサポートに加え、ホスト CPU とインテル® Xeon Phi™ コプロセッサー間で最良の負荷バランスを自動的に決定する機能を備えています。

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

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

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

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

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

線形代数

インテル® MKL の BLAS は、最適化されたベクトル – ベクトル (レベル 1)、行列 – ベクトル (レベル 2 )、そして行列 – 行列 (レベル 3) 操作を単精度および倍精度の実数と複素数型に提供します。

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

  • レベル 1 BLAS ルーチンは、内積、ノルムもしくはベクトル和の計算など、個々のベクトルを操作します。
  • レベル 2 BLAS ルーチンは、行列 – ベクトル積、ランク 1 と 行列ランク 2 の更新、そして三角システムソルバーを行います。
  • レベル 3 BLAS ルーチンには、行列 – 行列積、ランク k 行列の更新、および複数の右辺を持つ三角ソルバーが含まれます。

インテル® MKL の LAPACK ルーチンは、高度にチューニングされた LU 分解、コレスキー分解、そして QR 分解と線形システムを解く際に使用できるドライバールーチンを提供します。最新の LAPACK 3.4.1 インターフェイスと拡張には、固有値と 2 乗法ソルバーも含まれます。インテル® MKL にはまた、スパース BLAS、PARADISO などのスパースソルバーそして反復スパースソルバーが含まれます。数百万の行と列からなるスパース行列を解決するためのクラスター向け並列ダイレクト・スパース・ソルバーも提供します。

高速フーリエ変換 (FFT)

インテル® MKL の FFT は、高度に最適化されており、ほかのライブラリーと比べて中規模および大規模の変換においてパフォーマンスが大幅に向上します。インテル® MKL は、単精度と倍精度の 1 次元変換から、任意の長さの複素数-複素数、実数-複素数、実数-実数の多次元変換まで、さまざまな種類の FFT をサポートしています。FFTW* の両インターフェイスのサポートにより、FFTW ベースのアプリケーションの移植が容易になります。

ベクトル演算

インテル® MKL は、単精度/倍精度の実数型および複素数型のハイレベルな数学演算と、関数の最適化およびベクトル化された実装を提供します。基本的なベクトル算術演算には、要素単位の加算、減算、乗算、除算、共役に加えて、floor、ceil、最も近い整数への丸めが含まれます。このほかにも、累乗、平方根、逆数、対数、三角法、双曲線、(逆) エラー、累積正規分布、パック/アンパックなどの関数があります。拡張機能には、精度、非正規数処理、エラーモード制御が含まれており、ユーザーのニーズに合わせて動作をカスタマイズすることができます。

統計関数

インテル® MKL には、優れたアプリケーション・パフォーマンスを発揮する乱数ジェネレーターと確率分布が含まれています。統計関数を使用して、Mersenne Twister や Niederreiter 乱数ジェネレーターと一様分布、ガウス分布、指数分布などのさまざまな確率分布を組み合わせられます。

インテル® MKL は、インコアとアウトオブコアの両方に対応した統計分析用のハイレベルなコア/ビルディング・ブロックも提供します。基礎統計の計算、依存性の予測、外れ値の検出、欠測値の置換を行えます。これらの機能を使用することで、金融工学、ライフサイエンス、工学、シミュレーション、データベース、その他の分野のアプリケーションをスピードアップすることができます。

データ適合

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

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

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

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

製品トレーニング

インテル® 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 にもあります。

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

»マニュアルはこちら

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

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

購入

技術情報

サポート