【手続補正書】
【提出日】平成28年1月5日(2016.1.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物理グラフィックス処理装置（「ＧＰＵ」）を含むコンピューターシステムにおいて、準仮想化実行環境の子パーティション内で実行されるゲストオペレーティングシステムにＧＰＵ高速化コンピューティング機能を提供するための、前記コンピューターシステムが実行する方法であって、
仮想マシンセッションをインスタンス化する動作であって、ハイパーバイザーをインスタンス化することを含み、該ハイパーバイザーは、（ｉ）前記物理ＧＰＵへのアクセスを有するルートパーティションと、（ｉｉ）前記ゲストオペレーティングシステムを実行する前記子パーティションとを提供する、動作と、
グラフィックスデバイスインターフェイス（「ＧＤＩ」）インターフェイスを前記ゲストオペレーティングシステムに供する動作であって、前記ＧＤＩインターフェイスは前記子パーティションのユーザーモード内で実行され、前記ＧＤＩインターフェイスは、１以上のＧＤＩコマンドインターフェイスを前記ゲストオペレーティングシステムに関連するグラフィックスランタイムに公開し、前記グラフィックスランタイムからのＧＤＩ高速化コマンドを、前記子パーティション内で実行される仮想化グラフィックス処理装置（「ｖＧＰＵ」）のカーネルモードドライバ（「ＫＭＤ」）に転送する、動作と、
ｖＧＰＵを前記ゲストオペレーティングシステムに供する動作であって、
前記子パーティションの前記ユーザーモード内で実行され、複数のコンピュートシェーダーデバイスドライバインターフェイス（「ＤＤＩ」）を前記ゲストオペレーティングシステムに供するユーザーモードドライバ（「ＵＭＤ」）のアプリケーションプログラミングインターフェイスを供することであって、前記複数のコンピュートシェーダーＤＤＩは、コンピュートシェーダーを用いて前記物理ＧＰＵにおいて汎用グラフィックス処理装置（「ＧＰＧＰＵ」）計算を行うために、前記ゲストオペレーティングシステムがコンピュートシェーダーコマンドを前記ｖＧＰＵに送ることを可能にする、供することと、
前記子パーティションのカーネルモードにおいて実行され、
１以上の高速化ＧＤＩオペレーションを前記ＧＤＩインターフェイスから前記物理ＧＰＵでの実行のために受けるための１以上のＧＤＩコマンドインターフェイスを実装するＧＤＩコンポーネントと、
コマンドバッファを前記ＵＭＤから受け、対応するダイレクトメモリアクセス（「ＤＭＡ」）バッファを構築するコンピュートシェーダーコンポーネントと
を含むカーネルモードドライバ（「ＫＭＤ」）のアプリケーションプログラミングインターフェイスを供することと
を含む動作と、
前記ルートパーティション内で実行されるレンダーコンポーネントにおいて、物理ＧＰＵ固有コンピュートシェーダーコマンドおよびＧＤＩ高速化レンダリングコマンドを前記ｖＧＰＵの前記ＫＭＤから受ける動作と、
前記レンダーコンポーネントにより、前記物理ＧＰＵにおける実行のために前記物理ＧＰＵ固有コンピュートシェーダーコマンドをスケジュールする動作と、
前記レンダーコンポーネントにより、前記ＧＤＩ高速化レンダリングコマンドを前記ルートパーティション内のＧＤＩ合成デバイスにスケジュールする動作であって、前記ＧＤＩ合成デバイスは、前記ＧＤＩ高速化レンダリングコマンドを前記物理ＧＰＵにおいて実行するように構成された、動作と
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記ＵＭＤは、前記ゲストオペレーティングシステムから受けた全てのコンピュートシェーダーコマンドを、対応する物理ＧＰＵ固有コンピュートシェーダーコマンドに変換し、前記対応する物理ＧＰＵ固有コンピュートシェーダーコマンドをコマンドバッファに記憶する、方法。
【請求項３】
請求項２に記載の方法であって、前記ＵＭＤは、物理ＧＰＵ固有コンピュートシェーダーコマンドを含む前記コマンドバッファを前記ＫＭＤに送る、方法。
【請求項４】
請求項１に記載の方法であって、前記ＫＭＤによるＧＤＩ高速化レンダリングコマンドに対するサポートは、コンピュートシェーダー合成デバイスの生成を可能にする、方法。
【請求項５】
請求項１に記載の方法であって、前記レンダーコンポーネントは、前記物理ＧＰＵ固有コンピュートシェーダーコマンドを実行するために、前記ルートパーティション内のコンピュートシェーダー合成デバイスを用いる、方法。
【請求項６】
請求項１に記載の方法であって、前記ＵＭＤは、レガシーＵＭＤと同時に実行することが可能な新しいＵＭＤを含む、方法。
【請求項７】
準仮想化実行環境の子パーティション内で実行されるゲストオペレーティングシステムにＧＰＵ高速化コンピューティング機能を提供するための方法を実行するコンピューターシステムであって、前記方法は、
仮想マシンセッションをインスタンス化する動作であって、ハイパーバイザーをインスタンス化することを含み、該ハイパーバイザーは、（ｉ）前記物理ＧＰＵへのアクセスを有するルートパーティションと、（ｉｉ）前記ゲストオペレーティングシステムを実行する前記子パーティションとを提供する、動作と、
グラフィックスデバイスインターフェイス（「ＧＤＩ」）インターフェイスを前記ゲストオペレーティングシステムに供する動作であって、前記ＧＤＩインターフェイスは前記子パーティションのユーザーモード内で実行され、前記ＧＤＩインターフェイスは、１以上のＧＤＩコマンドインターフェイスを前記ゲストオペレーティングシステムに関連するグラフィックスランタイムに公開し、前記グラフィックスランタイムからのＧＤＩ高速化コマンドを、前記子パーティション内で実行される仮想化グラフィックス処理装置（「ｖＧＰＵ」）のカーネルモードドライバ（「ＫＭＤ」）に転送する、動作と、
前記ｖＧＰＵを前記ゲストオペレーティングシステムに供する動作であって、
前記子パーティションの前記ユーザーモード内で実行され、複数のコンピュートシェーダーデバイスドライバインターフェイス（「ＤＤＩ」）を前記ゲストオペレーティングシステムに供するユーザーモードドライバ（「ＵＭＤ」）のアプリケーションプログラミングインターフェイスを供することであって、前記複数のコンピュートシェーダーＤＤＩは、コンピュートシェーダーを用いて前記物理ＧＰＵにおいて汎用グラフィックス処理装置（「ＧＰＧＰＵ」）計算を行うために、前記ゲストオペレーティングシステムがコンピュートシェーダーコマンドを前記ｖＧＰＵに送ることを可能にする、供することと、
前記子パーティションのカーネルモードにおいて実行され、
１以上の高速化ＧＤＩオペレーションを前記ＧＤＩインターフェイスから前記物理ＧＰＵでの実行のために受けるための１以上のＧＤＩコマンドインターフェイスを実装するＧＤＩコンポーネントと、
コマンドバッファを前記ＵＭＤから受け、対応するダイレクトメモリアクセス（「ＤＭＡ」）バッファを構築するコンピュートシェーダーコンポーネントと
を含むカーネルモードドライバ（「ＫＭＤ」）のアプリケーションプログラミングインターフェイスを供することと
を含む動作と、
前記ルートパーティション内で実行されるレンダーコンポーネントにおいて、物理ＧＰＵ固有コンピュートシェーダーコマンドおよびＧＤＩ高速化レンダリングコマンドを前記ｖＧＰＵの前記ＫＭＤから受ける動作と、
前記レンダーコンポーネントにより、前記物理ＧＰＵにおける実行のために前記物理ＧＰＵ固有コンピュートシェーダーコマンドをスケジュールする動作と、
前記レンダーコンポーネントにより、前記ＧＤＩ高速化レンダリングコマンドを前記ルートパーティション内のＧＤＩ合成デバイスにスケジュールする動作であって、前記ＧＤＩ合成デバイスは、前記ＧＤＩ高速化レンダリングコマンドを前記物理ＧＰＵにおいて実行するように構成され、前記ＧＤＩ合成デバイスはまた、前記ＧＤＩ高速化レンダリングコマンドに対応するＧＤＩサーフェスを、デスクトップによる合成のために共有可能とマークするように構成された、動作と
を含む、コンピューターシステム。
【請求項８】
請求項７に記載のコンピューターシステムであって、前記ＧＤＩ高速化レンダリングコマンドは、前記物理ＧＰＵにおける前記コンピュートシェーダーの一部として使用可能である、コンピューターシステム。
【請求項９】
請求項７に記載のコンピューターシステムであって、前記ＵＭＤは、前記ゲストオペレーティングシステムから受けたグラフィクスコマンドを、対応するハードウェア固有コンピュートシェーダーコマンドに変換し、前記対応するハードウェア固有コンピュートシェーダーコマンドをコマンドバッファに記憶する、コンピューターシステム。
【請求項１０】
請求項７に記載のコンピューターシステムであって、前記ｖＧＰＵは、前記物理ＧＰＵへのアクセスを提供するためのソフトウェアインターフェイスを含む、コンピューターシステム。
【請求項１１】
請求項７に記載のコンピューターシステムであって、前記ＵＭＤは、コンピュートシェーダーを含むレンダリングフレームワークに対応するすべてのＤＤＩを供することが可能な新しいＵＭＤを含み、前記レンダリングフレームワークは、ドメインシェーダーと、ハルシェーダーと、ジオメトリシェーダーとのうちの１つまたは複数も含むレンダリングフレームワークを含む、コンピューターシステム。
【請求項１２】
準仮想化実行環境の子パーティション内で実行されるゲストオペレーティングシステムにＧＰＵ高速化コンピューティング機能を提供するための方法をコンピューターシステムに実行させるコンピュータープログラムであって、前記方法は、
仮想マシンセッションをインスタンス化する動作であって、ハイパーバイザーをインスタンス化することを含み、該ハイパーバイザーは、（ｉ）物理ＧＰＵへのアクセスを有するルートパーティションと、（ｉｉ）前記ゲストオペレーティングシステムを実行する前記子パーティションとを提供する、動作と、
グラフィックスデバイスインターフェイス（「ＧＤＩ」）インターフェイスを前記ゲストオペレーティングシステムに供する動作であって、前記ＧＤＩインターフェイスは前記子パーティションのユーザーモード内で実行され、前記ＧＤＩインターフェイスは、１以上のＧＤＩコマンドインターフェイスを前記ゲストオペレーティングシステムに関連するグラフィックスランタイムに公開し、前記グラフィックスランタイムからのＧＤＩ高速化コマンドを、前記子パーティション内で実行される仮想化グラフィックス処理装置（「ｖＧＰＵ」）のカーネルモードドライバ（「ＫＭＤ」）に転送する、動作と、
前記ｖＧＰＵを前記ゲストオペレーティングシステムに供する動作であって、
前記子パーティションの前記ユーザーモード内で実行され、複数のコンピュートシェーダーデバイスドライバインターフェイス（「ＤＤＩ」）を前記ゲストオペレーティングシステムに供するユーザーモードドライバ（「ＵＭＤ」）のアプリケーションプログラミングインターフェイスを供することであって、前記複数のコンピュートシェーダーＤＤＩは、コンピュートシェーダーを用いて前記物理ＧＰＵにおいて汎用グラフィックス処理装置（「ＧＰＧＰＵ」）計算を行うために、前記ゲストオペレーティングシステムがコンピュートシェーダーコマンドを前記ｖＧＰＵに送ることを可能にする、供することと、
前記子パーティションのカーネルモードにおいて実行され、
１以上の高速化ＧＤＩオペレーションを前記ＧＤＩインターフェイスから前記物理ＧＰＵでの実行のために受けるための１以上のＧＤＩコマンドインターフェイスを実装するＧＤＩコンポーネントと、
コマンドバッファを前記ＵＭＤから受け、対応するダイレクトメモリアクセス（「ＤＭＡ」）バッファを構築するコンピュートシェーダーコンポーネントと
を含むカーネルモードドライバ（「ＫＭＤ」）のアプリケーションプログラミングインターフェイスを供することと
を含む動作と、
前記ルートパーティション内で実行されるレンダーコンポーネントにおいて、少なくとも１つの物理ＧＰＵ固有コンピュートシェーダーコマンドおよび少なくとも１つのＧＤＩ高速化レンダリングコマンドを前記ｖＧＰＵの前記ＫＭＤから受ける動作と、
前記物理ＧＰＵにおける実行のために前記少なくとも１つの物理ＧＰＵ固有コンピュートシェーダーコマンドをスケジュールする動作と、
前記少なくとも１つのＧＤＩ高速化レンダリングコマンドを前記ルートパーティション内のＧＤＩ合成デバイスにスケジュールする動作であって、前記ＧＤＩ合成デバイスは、前記ＧＤＩ高速化レンダリングコマンドを前記物理ＧＰＵにおいて実行するように構成され、前記ＧＤＩ合成デバイスはまた、前記ＧＤＩ高速化レンダリングコマンドに対応するＧＤＩサーフェスを、デスクトップによる合成のために共有可能とマークするように構成された、動作と
を含む、コンピュータープログラム。