Microsoft Compute Driver Model の概要

Windows 10 バージョン 1903 (WDDM 2.6) 以降では、Microsoft Compute Driver Model (MCDM) を使用して、コンピューティング専用機能をサポートするデバイス用のドライバーを作成できます。

MCDM ドライバー (コンピューティング専用ドライバー) は、Windows Display Driver Model 2.0 以降 (WDDM) のスケールダウンされたサブセットです。 このドライバーはそれ自身を、ディスプレイ機能を持たないデバイスとして公開する必要があります。これを WDDM の用語では "レンダリング専用" デバイスといいます。 デバイスによって実行されるレンダリング コマンドを WDDM が詳細に把握する必要がないため、"レンダリング デバイス" に対して柔軟なカーネル サポートが実現されます。 つまり、WDDM は、コマンド バッファーの設計について細部を知らなくても、あらゆる種類のデバイスに容易に対応できるということです。

WDDM とは異なり、MCDM ではデバイスにメモリ管理ユニット (MMU) が必要です。 MCDM デバイスのエンジンは、物理モードを要求することはできません。 その代わり、MCDM デバイスは、仮想アドレス空間の保護を使用して、悪意のあるアプリケーションが存在する状況でのマルチタスクに対応する必要があります。

MMU のないプロトタイプの MCDM ハードウェアをサポートするための例外が存在します。 Windows 10 バージョン 2004 以降では、プロトタイプ MCDM デバイスは一度に 1 つのプロセスでのみ使用できます。 これらのデバイスは、IOMMU または GPU-MMU をサポートしないことで認識されます。

詳細については、次の記事をご覧ください。

コンピューティング専用ドライバーがユーザー モードで公開できる Direct3D 12 機能のサブセットについては、「 Direct3D 12 Core 1.0 機能レベルを参照してください。