チュートリアル: インテル® MKL 2020 を使用した行列乗算 (C 言語)

インテル® MKL について

ハイパフォーマンスな計算には、インテル® MKL が最適です。インテル® MKL には、高度に最適化され、広範囲にスレッド化された多種類の演算が用意されています。

操作 ルーチン

線形代数

  • BLAS
  • LAPACK/ScaLAPACK
  • PARDISO
  • 反復法スパースソルバー

高速フーリエ変換

  • 多次元 FFT (最大 7 次元)
  • FFTW インターフェイス
  • クラスター FFT

サマリー統計

  • 尖度
  • 変化係数
  • クォンタイル、順序統計量
  • 最小/最大
  • 分散/共分散
  • ...

データ・フィッティング

  • スプライン
  • 補間
  • セル探索

その他のコンポーネント

  • ベクトル演算
    • 三角
    • 双曲線
    • 指数、対数
    • 累乗/平方根
    • 丸め
  • ベクトル乱数ジェネレーター
    • 合同
    • 再帰
    • Wichmann-Hill
    • Mersenne Twister
    • Sobol
    • Niederreiter
    • RDRAND ベース
  • ポアソンソルバー
  • 最適化ソルバー

Basic Linear Algebra Subprograms (BLAS)

Basic Linear Algebra Subprograms (BLAS) は、さまざまなベクトル演算と行列演算を実行する主要なライブラリーです。このチュートリアルでは、dgemm ルーチンを使用して行列演算を効率良く実行する方法を説明します。

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

戻る次へ

関連情報