ユニバーサル Windows* ドライバーのビルド

インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) は、バイナリーが Win10 SDK バージョン 1803 (Redstone 4 とも呼ばれる、RS4、または Win10 SDK ビルド 10.0.17134.0 ) 以上のユニバーサル Windows* ドライバー (UWD) と互換性があります。静的にリンクされたライブラリーで使用される Windows* システムコールは、以下で定義されています:

これらいずれかのライブラリーにリンクする Windows* アプリケーションまたはドライバーは、静的にリンクされたインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) の機能を使用して計算を高速化できます。UWD 設計基準の詳細については、Microsoft のウェブサイトを参照してください。

この表は、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) と UWD の互換性に関する重要な情報をまとめたものです。

oneMKL とユニバーサル Windows* ドライバー (UWD) の互換性

基準

互換性

SDK

10.0.17134.0 (Redstone 4 とも呼ばれる、RS4、バージョン 1803 ) 以上

アーキテクチャー

  • intel64

ユニバーサル API セット

  • OneCore.LibNano Server などのヘッドレス・アプリケーション向け
  • OneCoreUAP.LibUWD 向け

スレッドレイヤー

  • シーケンシャル
  • インテル® スレッディング・ビルディング・ブロック (インテル® TBB)。

UWD 準拠

  • 静的リンク・ライブラリーを備えたインテル oneAPI マス・カーネル・ライブラリー (oneMKL)
  • 動的リンク・ライブラリーの場合、uwd_compat = yes を指定したカスタム DLL ビルダーを使用して、UWD と互換性のあるカスタム DLL をビルドします。カスタム DLL ビルダーを使用を参照してください。

UWD は、ユニバーサルではないドライバーまたは実行可能ファイルと同じリンクライン設定を使用して、インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) にリンクします。推奨されるリンクモデルについては、リンクライン・アドバイザーを参照してください。

64 ビット・アーキテクチャーの UWD 準拠 (インテル® 64)

これらの表は、静的および動的リンク・ライブラリーに関する、64 ビット (インテル® 64) アーキテクチャー上のインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) と UWD 間の準拠性を示しています。

スタティック・リンク

レイヤー

ライブラリー

互換性

Fortran インターフェイス・レイヤー

mkl_blas95_lp64.lib

mkl_blas95_ilp64.lib

mkl_lapack95_lp64.lib

mkl_lapack95_ilp64.lib

適用不可1

インターフェイス・レイヤー

mkl_intel_lp64.lib

mkl_intel_ilp64.lib

スレッドレイヤー

mkl_sequential.lib

mkl_tbb_thread.lib

mkl_intel_thread.lib (OpenMP*)

(UWD インテル® TBB2 を使用する場合)

計算レイヤー

mkl_core.lib

MPI レイヤー

mkl_blacs_lp64.lib

mkl_blacs_ilp64.lib

mkl_cdft_core.lib

mkl_scalapack_lp64.lib

mkl_scalapack_ilp64.lib

1 これらは、BLAS (BLAS95) および LAPACK (LAPACK95) 用の Fortran 95 ラッパーです。Windows* ドライバーは通常、C、C++、または ASM で記述されます。Fortran ラッパーは UWD に準拠していますが、UWD のビルドには役立ちません。

2 インテル® TBB 2018 リリース以降では、<tbb_distribution_root>\lib\<target_architecture>\vc14_uwd に、事前ビルドされた UWD 準拠のインテル® TBB ライブラリーが用意されています。

ダイナミック・リンク

レイヤー

ライブラリー

互換性

Fortran インターフェイス・レイヤー

mkl_blas95_lp64.lib

mkl_blas95_ilp64.lib

mkl_lapack95_lp64.lib

mkl_lapack95_ilp64.lib

適用不可1

インターフェイス・レイヤー

mkl_intel_lp64_dll.lib

mkl_intel_ilp64_dll.lib

上記の互換性表の UWD 準拠を参照してください。

スレッドレイヤー

mkl_sequential_dll.lib

mkl_tbb_thread_dll.lib

mkl_intel_thread_dll.lib (OpenMP*)

上記の互換性表の UWD 準拠を参照してください。

計算レイヤー

mkl_core_dll.lib

上記の互換性表の UWD 準拠を参照してください。

MPI レイヤー

mkl_blacs_lp64_dll.lib

mkl_blacs_ilp64_dll.lib

mkl_cdft_core_dll.lib

mkl_scalapack_lp64_dll.lib

mkl_scalapack_ilp64_dll.lib

上記の互換性表の UWD 準拠を参照してください。

1 これらは、BLAS (BLAS95) および LAPACK (LAPACK95) 用の Fortran 95 ラッパーです。Windows* ドライバーは通常、C、C++、または ASM で記述されます。Fortran ラッパーは UWD に準拠していますが、UWD のビルドには役立ちません。