Intel Math Kernel Library

インテルが開発している科学・工学・金融アプリケーション向けライブラリ

Intel oneAPI Math Kernel Library (oneMKL) は、インテルが開発している、科学・工学・金融アプリケーション向けに提供される最適化(高速化)された数学ルーチンを含むライブラリである。提供される中心的な数学関数にはBLASLAPACKScaLAPACK英語版、スパースソルバー(疎行列)、FFTベクトル演算が含まれている。インテルのCPUおよびGPUをサポートしている[2]オペレーティングシステムWindowsLinuxmacOSで利用可能である[2]。対応プログラミング言語はC言語C++Fortran[2]

Intel oneAPI Math Kernel Library
開発元 インテル
初版 2003年5月9日 (21年前) (2003-05-09)
最新版
2023.2 / 2023年7月 (1年前) (2023-07)[1]
対応OS Windows
Linux
macOS[2]
プラットフォーム

CPU[2]

GPU

  • Intel UHD Graphics
  • Intel Iris Xe graphics
  • Intel Arc graphics
  • Intel Data Center GPU Flex シリーズ
  • Intel Data Center GPU Max シリーズ
種別 ライブラリ
フレームワーク
ライセンス プロプライエタリ
フリーウェア[3]
公式サイト software.intel.com/mkl
テンプレートを表示

歴史

編集

インテルは2003年5月9日にMath Kernel Libraryを公開し[4]、それをblas.libと名づけた。ロシアと米国に存在する開発グループが開発を行った。ライブラリはスタンドアローンとバンドルされたバージョンの双方が存在する。

2015年8月31日より、コミュニティライセンスが作られ無償で利用できるようになった[3]

2020年12月リリースの 2021.1 より、GPU のサポートが追加になり、名称が Intel Math Kernel Library (Intel MKL) から Intel oneAPI Math Kernel Library (oneMKL) に変更になった。[5]

提供機能

編集

下記機能を提供している[6]

MKLにはFFTWおよびLAPACKと互換性のあるインターフェイスを持った関数群が実装されている。

かつて提供されていた機能

編集

バージョン2020でディープラーニングの機能は削除された[7]。後継は Intel oneAPI Deep Neural Network Library (oneDNN) 。

  • ディープラーニング(これをTensorFlowから利用できるようにした物をインテルは配布している[8][9]。Apache MXNet[10]、Intel Optimized Caffee[11]、Intel Software Optimization for Theano[12]、Intel neon Framework[13]、Intel Data Analytics Acceleration Library (DAAL) などからも利用できる。類似したライブラリとしてIntel MKL-DNN[14]があり、こちらを利用した物としてはIntel Chainer[15]などがある。)

対応デバイス

編集

対応デバイスは以下の通り[2]

古いCPUは対応しておらず、例えば、Itaniumのサポートは10.2[16] で終了し、Xeon Phi x100のサポートは2017 Update 4[17]で終了した。

また、AMDなどインテル以外の会社のCPUはサポートしていない。AMD からも同様の物として AMD Optimizing CPU Libraries (AOCL) がリリースされているほか[18]BLASに関してはOpenBLASがAMDのCPUをサポートしている。

批判

編集

インテルはインテルのプロセッサと非インテルのプロセッサ上でオープンソースのライブラリやAMDのライブラリよりもパフォーマンスが優位であるとの主張を実証するため、ベンチマークを公開した。にもかかわらず64ビットバージョンのMKLは非インテルプロセッサでの最適化があまりなされていないとの批判が根強い。関連する議論は英語版ウィキペディアの記事 "criticism of Intel C++ compiler" を参照のこと。

oneMKL インターフェイス

編集

oneAPI Math Kernel Library (oneMKL) Interfaces を Apache License 2.0 のオープンソースで配布している[19]。こちらから、Intel の CPU, GPU に加えて、NVIDIA と AMD の GPU に対して、oneMKL での API で呼び出しが可能になる。AMD の CPU (AMD Optimizing CPU Libraries) には非対応。対応 OS は Linux と Windows。

脚注

編集
  1. ^ Intel® oneAPI Math Kernel Library (oneMKL) Bug Fixes”. Intel. 13 September 2023閲覧。
  2. ^ a b c d e f Intel® Math Kernel Library (Intel® MKL) | Intel® Software
  3. ^ a b No Cost Options for Intel Math Kernel Library (MKL), Support Yourself, Royalty-Free | Intel® Developer Zone
  4. ^ “Intel launches library tool for developers.(Intel Math Kernel Library 6.0 )(Brief Article)”. Telecomworldwire. (2003年5月9日). http://www.accessmylibrary.com/article-1G1-101517042/intel-launches-library-tool.html 2009年11月29日閲覧。 
  5. ^ Intel® oneAPI Math Kernel Library (oneMKL) 2021 Release Notes”. Intel. 13 September 2023閲覧。
  6. ^ Developer Reference for Intel® Math Kernel Library 2018 - C
  7. ^ Intel® Math Kernel Library Release Notes and New Features”. Intel. 10 October 2023閲覧。
  8. ^ TensorFlow* Optimizations on Modern Intel® Architecture | Intel® Software
  9. ^ Intel Optimized Tensorflow Wheel Now Available | Intel® Software
  10. ^ Installing and Building MXNet with Intel® MKL | Intel® Software
  11. ^ intel/caffe: This fork of BVLC/Caffe is dedicated to improving performance of this deep learning framework when running on CPU, in particular Intel® Xeon processors (HSW+) and Intel® Xeon Phi processors
  12. ^ intel/Theano: This fork of Theano/Theano is dedicated to improve its performance on CPU device, in particular Intel® Xeon® processors and Intel® Xeon Phi™ processors.
  13. ^ NervanaSystems/neon: Intel® Nervana™ reference deep learning framework committed to best performance on all hardware
  14. ^ 01org/mkl-dnn: Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)
  15. ^ intel/chainer: A flexible framework of neural networks for deep learning
  16. ^ Intel® MKL 10.3 Release Notes | Intel® Software
  17. ^ Intel® Math Kernel Library (Intel® MKL) 2018 Release Notes | Intel® Software
  18. ^ AMD Optimizing CPU Libraries (AOCL)”. AMD. 13 September 2023閲覧。
  19. ^ oneapi-src/oneMKL: oneAPI Math Kernel Library (oneMKL) Interfaces - GitHub

関連項目

編集

外部リンク

編集