Intel oneAPI Math Kernel Library
開発元 インテル
初版 2003年5月9日 (23年前) (2003-05-09)
最新版
2025.0 / 2024年10月16日 (19か月前) (2024-10-16)[1]
対応OS Windows
Linux[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
テンプレートを表示

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

沿革

編集

インテルは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]

バージョン2024.0よりmacOSの対応が削除された。[6]

提供機能

編集

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

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

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

編集

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

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

対応デバイス

編集

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

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

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

批判

編集

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

oneMKL インターフェイス

編集

oneAPI Math Kernel Library (oneMKL) Interfaces を Apache License 2.0 のオープンソースで配布している[20]。こちらから、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. 2023年9月13日閲覧。
  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. 2023年9月13日閲覧。
  6. ^ Intel® oneAPI Math Kernel Library (oneMKL) Release Notes”. Intel. 2024年11月9日閲覧。
  7. ^ Developer Reference for Intel® Math Kernel Library 2018 - C
  8. ^ Intel® Math Kernel Library Release Notes and New Features”. Intel. 2023年10月10日閲覧。
  9. ^ TensorFlow* Optimizations on Modern Intel® Architecture | Intel® Software
  10. ^ Intel Optimized Tensorflow Wheel Now Available | Intel® Software
  11. ^ Installing and Building MXNet with Intel® MKL | Intel® Software
  12. ^ 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
  13. ^ 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.
  14. ^ NervanaSystems/neon: Intel® Nervana™ reference deep learning framework committed to best performance on all hardware
  15. ^ 01org/mkl-dnn: Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)
  16. ^ intel/chainer: A flexible framework of neural networks for deep learning
  17. ^ Intel® MKL 10.3 Release Notes | Intel® Software
  18. ^ Intel® Math Kernel Library (Intel® MKL) 2018 Release Notes | Intel® Software
  19. ^ AMD Optimizing CPU Libraries (AOCL)”. AMD. 2023年9月13日閲覧。
  20. ^ oneapi-src/oneMKL: oneAPI Math Kernel Library (oneMKL) Interfaces - GitHub

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

GNU General Public License

SourceForge.JP Magazine (2009年7月6日). 2011年4月24日閲覧。 ^ “COPYING of Linux kernel”. git.kernel.org. 2011年5月5日閲覧。 ^ 八田真行訳: 単に『保護された作品』を集積物に含めるだけでは、その集積物の他の部分

スケジューリング

^ Inside the Windows Vista Kernel: Part 1, Microsoft Technet ^ “Mach Scheduling and Thread Interfaces”. 2012年7月19日閲覧。 ^ CPU monitoring and tuning

NVM Express

2014年1月25日閲覧。 ^ “Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems” (PDF). kernel.dk. ACM (2013年). 2014年1月25日閲覧。 ^ “Linux kernel 3.18, Section

Docker

image. docker docs ^ Ubuntu 18.04.4 ships with a v5.3 based Linux kernel [15] ^ Linux kernel 4.19 series [16] ^ “Kubernetesとは”. 2018年1月3日閲覧。 ^

GNU Hurd

Hurdは、「Hird of Unix Replacing Daemons.」の頭文字であり、さらにHirdは、「Hurd of Interfaces Representing Depth.」の頭文字である。また、「herd of gnus」(ヌーの群れ)とも掛けている。

Multicast Listener Discovery

Multicast Listener Discovery Protocol”. FreeBSD Kernel Interfaces Manual. 2009年5月27日閲覧。 ^ Torvalds, Linus. “Linux 2.5.68 ChangeLog”. 2003年4月19日閲覧。 表示 編集

Printf

wchar_t * restrict format, va_list args); C11のAnnex K Bounds‐checking interfacesで規定された、安全性を向上させた種類が存在する。それぞれ、関数名の末尾に_sを付けた名称となっている。これらの関数は、__STDC_WANT

レナート・ポッターリング

advantages: we can make maximum use of what the modern Linux kernel offers these days without headaches -- Linux is one of the most powerful kernels in existence