データ並列 C++ 対応インテル® oneMKL LAPACK ルーチンの概要

データ並列 C++ 対応インテル® oneMKL LAPACK ルーチンの概要#

次のページでは、データ並列 C++ (DPC++) 対応の oneMKL LAPACK ルーチンについて説明します。これらはすべて、oneapi/mkl/lapack.hpp ヘッダーファイルで宣言されています。

このドキュメント全体でいくつかの規則が使用されています。

  • DPC++ データタイプおよび非ドメイン固有関数のすべての oneMKL は、oneapi::mkl 名前空間内にあります。

  • DPC++ のすべての oneMKL LAPACK 関数は、oneapi::mkl::lapack 名前空間内にあります。

  • 簡潔にするために、バッファーやキューなどの DPC++ オブジェクト・タイプの sycl 名前空間は省略されます。たとえば、単精度の 1D バッファー A は、sycl::buffer<float,1> &A ではなく、buffer<float,1> &A と記述されます。

  • ルーチンは精度にオーバーロードされます。各ルーチンには、サポートされている精度とデバイスを示す詳細な表があります。

デバイスサポート#

DPC++ は次のタイプのデバイスをサポートします。

  • CPU デバイス: OpenCL* を使用して CPU 上で計算を行います。

  • GPU デバイス: OpenCL* またはレベルゼロを使用して GPU 上で計算を行います。計算の一部またはすべてが CPU 上で実行される場合があることに注意してください。

各ルーチンには、現在サポートされているデバイスタイプの詳細が示されています。