【手続補正書】
【提出日】平成18年1月5日(2006.1.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための方法であって、
前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御するステップと、
前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストコンピューティングシステムにデータを戻して伝送するステップと、
前記ホストコンピューティングシステム中に含まれる管理オブジェクトによって前記コマンドバッファの前記伝送をスケジューリングするステップとを備え、
前記少なくとも１つのコプロセッサの前記計算リソースは、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする方法。
【請求項２】  前記スケジューリングは、前記ホストコンピューティングシステム中に含まれるオペレーティングシステムによって、前記コマンドバッファの前記伝送をスケジューリングすることを含むことを特徴とする請求項１に記載の方法。
【請求項３】  前記管理オブジェクトは、コプロセッサから、コマンドバッファが実行を終了したという通知を受けることを特徴とする請求項１に記載の方法。
【請求項４】  現コマンドバッファが終了したときにコプロセッサが実行を開始するための新しいコマンドバッファを待ち行列に入れるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】  コマンドバッファがサブミットされたときにコプロセッサコンテキスト切換えを指定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】  前記管理オブジェクトにより、複数のタイプのコプロセッサコンテキストが可能となることを特徴とする請求項１に記載の方法。
【請求項７】  コマンドバッファが無効であることを、コプロセッサによって前記管理オブジェクトに通知するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】  前記少なくとも１つのコプロセッサのうちのコプロセッサが所定の期間応答しない場合に、前記コプロセッサをリセットするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】  前記コマンドバッファの合成中に、ハードウェア特有のドライバオブジェクトにより、前記管理オブジェクトのアプリケーションプログラミングインターフェースを介してコマンドバッファの命令をハードウェア特有の命令に変換するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】  前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサを含むことを特徴とする請求項１に記載の方法。
【請求項１１】  外部イベントの発生時に、前記少なくとも１つのコプロセッサによって切り替えるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】  コマンドバッファの前記制御データストリームをコプロセッサにサブミットする前に編集する間、前記管理オブジェクトによって、前記少なくとも１つのコプロセッサの少なくとも１つのリソースを仮想化するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】  前記管理オブジェクトはスレッド同期プリミティブを使用して、コプロセッサコマンドバッファの構築、スケジューリング、およびサブミットを調整することを特徴とする請求項１に記載の方法。
【請求項１４】  ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するための複数のコンピュータ実行可能モジュールを格納した少なくとも１つのコンピュータ読み取り可能な記録媒体であって、前記コンピュータ実行可能モジュールは、
前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御し、かつ前記コマンドバッファの伝送をスケジューリングするための管理オブジェクトと、
前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストコンピューティングシステムにデータを戻して伝送する手段とを備え、
それによって、前記少なくとも１つのコプロセッサの前記計算リソースが、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とする少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項１５】  前記管理オブジェクトは、前記ホストコンピューティングシステムの前記オペレーティングシステム中に含まれることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項１６】  前記管理オブジェクトは、コプロセッサから、コマンドバッファが実行を終了したという通知を受けることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項１７】  前記管理オブジェクトは、現コマンドバッファが終了したときにコプロセッサが実行を開始するための新しいコマンドバッファを待ち行列に入れることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項１８】  前記管理オブジェクトは、コマンドバッファがサブミットされたときにコプロセッサコンテキスト切換えを指定することを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項１９】  前記管理オブジェクトにより、複数のタイプのコプロセッサコンテキストが可能となることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２０】  コプロセッサは、コマンドバッファが無効であることを前記管理オブジェクトに通知する手段を備えたことを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２１】  前記管理オブジェクトは、前記少なくとも１つのコプロセッサのうちのコプロセッサが所定の期間応答しない場合に、前記コプロセッサをリセットすることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２２】  前記管理オブジェクトにより、前記コマンドバッファの合成中に、ハードウェア特有のドライバオブジェクトによってコマンドバッファの命令をハードウェア特有の命令に変換することが可能となることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２３】  前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサを含むことを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２４】  前記管理オブジェクトは、外部イベントの発生時に、前記少なくとも１つのコプロセッサによって切り替わることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２５】  前記ホストプロセッサは、処理時間のスケジューリングを調整するために前記管理オブジェクトによって割込みを受けることを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２６】  コマンドバッファの制御データストリームをコプロセッサにサブミットする前に編集する間、前記管理オブジェクトは、前記少なくとも１つのコプロセッサの少なくとも１つのリソースを仮想化することを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２７】  前記管理オブジェクトはスレッド同期プリミティブを使用して、コプロセッサコマンドバッファの構築、スケジューリング、およびサブミットを調整することを特徴とする請求項１４に記載の少なくとも１つのコンピュータ読み取り可能な記録媒体。
【請求項２８】  ホストプロセッサを有するホストコンピューティングシステム中の少なくとも１つのコプロセッサの計算リソースを制御するためのコンピューティング装置であって、
前記ホストコンピューティングシステムのホストプロセッサによって前記少なくとも１つのコプロセッサにサブミットされたコマンドバッファで、前記コンピューティングシステムの前記少なくとも１つのコプロセッサを制御し、かつ前記コマンドバッファの伝送をスケジューリングするための管理オブジェクトと、
前記コマンドバッファの少なくとも１つのコマンドバッファ中のコマンドに応答して、前記少なくとも１つのコプロセッサによって前記ホストコンピューティングシステムにデータを戻して伝送する手段とを備え、
それによって、前記少なくとも１つのコプロセッサの前記計算リソースが、前記ホストコンピューティングシステム上でインスタンス化された複数のアプリケーションから同時に利用可能であることを特徴とするコンピューティング装置。
【請求項２９】  前記管理オブジェクトは、前記ホストコンピューティングシステムのオペレーティングシステム中に含まれることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３０】  前記管理オブジェクトは、コプロセッサから、コマンドバッファが実行を終了したという通知を受けることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３１】  前記管理オブジェクトは、現コマンドバッファが終了したときにコプロセッサが実行を開始するための新しいコマンドバッファを待ち行列に入れることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３２】  前記管理オブジェクトは、コマンドバッファがサブミットされたときにコプロセッサコンテキスト切換えを指定することを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３３】  前記管理オブジェクトにより、複数のタイプのコプロセッサコンテキストが可能となることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３４】  コプロセッサは、コマンドバッファが無効であることを前記管理オブジェクトに通知する手段を備えたことを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３５】  前記管理オブジェクトは、前記少なくとも１つのコプロセッサのうちのコプロセッサが所定の期間応答しない場合に、前記コプロセッサをリセットすることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３６】  前記管理オブジェクトにより、前記コマンドバッファの合成中に、ハードウェア特有のドライバオブジェクトによってコマンドバッファの命令をハードウェア特有の命令に変換することが可能となることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３７】  前記少なくとも１つのコプロセッサは、少なくとも１つのグラフィックスプロセッサを含むことを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３８】  前記管理オブジェクトが、外部イベントの発生時に、前記少なくとも１つのコプロセッサによって切り替わることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項３９】  前記ホストプロセッサは、処理時間のスケジューリングを調整するために前記管理オブジェクトによって割込みを受けることを特徴とする請求項２８に記載のコンピューティング装置。
【請求項４０】  コマンドバッファの制御データストリームをコプロセッサにサブミットする前に編集する間、前記管理オブジェクトは、前記少なくとも１つのコプロセッサの少なくとも１つのリソースを仮想化することを特徴とする請求項２８に記載のコンピューティング装置。
【請求項４１】  前記管理オブジェクトはスレッド同期プリミティブを使用して、コプロセッサコマンドバッファの構築、スケジューリング、およびサブミットを調整することを特徴とする請求項２８に記載のコンピューティング装置。