JP2015532989A - 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン - Google Patents

中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン Download PDF

Info

Publication number
JP2015532989A
JP2015532989A JP2015532519A JP2015532519A JP2015532989A JP 2015532989 A JP2015532989 A JP 2015532989A JP 2015532519 A JP2015532519 A JP 2015532519A JP 2015532519 A JP2015532519 A JP 2015532519A JP 2015532989 A JP2015532989 A JP 2015532989A
Authority
JP
Japan
Prior art keywords
filter
gpu
cpu
graph
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015532519A
Other languages
English (en)
Other versions
JP6215951B2 (ja
Inventor
スム,クリストフ
バテュ,エリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allegorithmic SAS
Original Assignee
Allegorithmic SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Allegorithmic SAS filed Critical Allegorithmic SAS
Publication of JP2015532989A publication Critical patent/JP2015532989A/ja
Application granted granted Critical
Publication of JP6215951B2 publication Critical patent/JP6215951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Abstract

ユニファイドCPU/GPUメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法であって、前記方法はグラフィックカード(GPU)によって管理されるコンテンツ用テクスチャを生成することができ、下記の、‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、‐このフィルタを実行するためにあらかじめ選択したプロセッサを識別し、‐あらかじめ選択したフィルタのバージョンの命令を受け、‐カレントフィルタのパラメータを受け、‐カレントフィルタのバッファのアドレスを受け、‐デジタル値でフィルタ入力するために提供された値を適応させ、‐設定されたパラメータでフィルタの命令を実行し、‐得られた中間結果を保存し、‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、ステップを含む生成方法。【選択図】図5

Description

本発明は、レンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータから、グラフィックカード(GPU)によって管理されるコンテンツ用テクスチャを生成することができる、ユニファイドCPU/GPUメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法に関するものである。本発明はまた、対応する装置にも関する。
この文献に記載の装置および方法は、好ましくは、例えば出願人によって開発されたサブスタンス(substance)という名称のエンジンのようなプロシージャルテクスチャ生成エンジンと共に使用するように考案されている。そのようなエンジンによって、下記の
‐基本要素(ノイズ、パターン、既存の画像)、
‐必要な場合、これらの基本要素を生成するために使用されるパラメータ、
‐これらの基本要素、または先行するフィルタリングによって生成された画像に適用される、様々なフィルタリングステップ、
‐これらのフィルタのオペレーションモードを変更するパラメータ、
‐各フィルタの依存関係(dependances)(各オペレーションによって使用される入力リスト)、
‐出力で生成されるテクスチャのリスト、それらのフォーマット、および推測されるそれらの使用法
を保存する記述ファイルから出発して、異なる解像度において様々な動的およびパラメータ化可能なテクスチャを生成することができる。
実行の際、この記述ファイルはレンダリングエンジンによって解釈され、記述ファイルから抽出された情報から、演算グラフが構築される。演算グラフの一例を図1に示した。
このように構築されたグラフは、構造によってフィルタ間の依存関係を順守し、したがって、所望の出力を生成するために様々なフィルタをアクティベートするべき順序の情報を含む。
そのようなエンジンは、オフィスコンピュータ(PC、Mac)、ゲーム機、モバイル端末などの様々なプラットフォームで使用できる。今日、これらのプラットフォームにはプロシージャルテクスチャのレンダリングの際に使用することができる二つの演算装置が存在している。すなわち、CPU(「中央プロセッシングユニット」、フランス語では「中央装置(unite centrale)」または「中央プロセッサ(processeur central)」)、およびGPU(グラフィックプロセッシングユニット、フランス語では「グラフィックプロセッサ(processeur graphique)」または「グラフィックカード(carte graphique)」)である。
CPUはコンピュータの中央プロセッサであり、オペレーティングシステムの実行、および使用されるアプリケーションを作動させる役割を担う。現在のCPUは、通常4または6のタスクをパラレル実行できる少数のコアを含む。これらのプロセッサコアは極めて高度化されており、複雑なオペレーションを実行することができる。また、これらのプロセッサコアは、最近使用したデータへのアクセス時間を短縮するためのキャッシュメモリシステムを介して、中央メモリにアクセスする。
GPUは、グラフィックオペレーション(テクスチャの構成、3D幾何オペレーション、照明演算、画像の後処理など)専用の補足プロセッサである。GPUは、CPUによって出力された情報からスクリーン上にディスプレイされる最終画像の演算を行うものである。現在のGPUは、極めて多数の演算ユニットを含み、通常数百である。これらの演算ユニットは、何よりもまず特定のタイプのオペレーション専用であり、CPUのコアほど高度ではない。一方、これらの演算ユニットは主に画像を操作し、使用したテクスチャのサンプリングを行うブロックを介して、そのワーキングメモリにアクセスする。テクスチャサンプラと呼ばれるこれらのブロックは、ケーブル方式によってかなりの数のオペレーション、すなわち、補間、バイまたはトリリニアフィルタリング、近傍/平均的近傍/遠方のバージョンで使用可能なテクスチャ用のディテールレベル管理、圧縮されたテクスチャの復元などを実行する。さらに、統合コア数およびそれによって生成されたシリコン面積から、GPUのクロック周波数は、CPUのそれよりも小さい。「サブスタンス(Substance)」のようなレンダリングエンジンによるテクスチャのレンダリングのとき、シーケンサはグラフをスキャンし、各フィルタに対する有効な入力の可用性が保証される順序で各フィルタを実行しなければならない。本出願人のそのような従来のバージョンのレンダリングエンジンは、単一の演算装置で使用可能なフィルタ全てを実行する。
「マルチコアにおけるプロシージャルテクスチャ(Procedural Textures on multi−core)」と題された文献XP055058315は、マルチコアアーキテクチャのプロセッサのためのプロシージャルテクスチャ生成方法の技術的、商業的な説明である。この文献で言及される「スレッディング(threading)」(特に「スレッディング戦略(threading strategies)」についての15頁の一節)は、使用可能なコアに応じたマルチコアプロセッサ内のタスク、すなわちスレッド(threads)の分割方法に関する。この文献には、CPUからであれGPUからであれ、プロシージャルテクスチャを生成できる方法が記載されていない。さらに、二つの製品バージョン、すなわちCPU用のものとGPU用のものが提示されているが、これらの二つのバージョンは完全に独立している。
「サブスタンス:記述テクスチャのオンラインゲームを放つ(Substance:Unleashing online gaming with descriptive textures)」と題された文献XP002662009は、プロシージャルテクスチャの編集ツール、ならびに生成フィルタおよび変換フィルタを使用するこのようなテクスチャのレンダリングエンジンについて記載している。
これらのアプローチは極めて最近のものであり、グラフィックおよびバーチャルコンテンツが極めて豊富な現在のアプリケーションに対して満足のいくパフォーマンスレベルに到達するために、最適化を行う必要性が大いに生じていることは確かである。
本発明の第一の目的はまず、従来のプロセスより有効かつ高速なプロシージャルテクスチャの生成方法を提案することにある。
本発明の別の目的は、ほぼリアルタイムに作動することができるプロシージャルテクスチャの生成方法を提案することにある。
さらに別の本発明の目的は、生成された画像の質を損なうことなく、著しく改善されたレンダリング速度パフォーマンスをもたらすのに適したプロシージャルテクスチャ生成装置を提案することにある。
オフィスコンピュータにおいては、CPUおよびGPUは同一メモリにアクセスしない。まずグラフィック演算の前に、CPUは中央メモリにデータを収集し、それをGPUに転送して、それを専用メモリに保存しなければならない。この転送はGPUの論理ドライブによって管理され、各々に均等ではない時間のうちの多くを占める。すなわち、GPUへのデータ転送はGPUからの転送より極めて速い。そのようなアーキテクチャの一例を図2に示した。分離されたメモリ機器において、GPU専用メモリから中央メモリへの転送を抑止する性能は、グラフの実行のために二つの演算装置を使用するレンダリングエンジンのインプリメンテーションの実現を、困難なものにする。実際、GPUで実行されたフィルタの出力データをCPUで使用するために転送するには、極めて長い時間がかかるであろう。
モバイルプラットフォーム(「スマートフォン」、タブレット、いくつかのゲーム機)は、様々にアーキテクチャ化されている。すなわち、コスト削減のために単一のメモリが使用可能である。このメモリは、CPUおよびGPUから同様にアクセス可能であり、GPUへのデータ送信を行うCPUのロードは、顕著に軽減されている。GPUの論理ドライブは、データ自体よりもむしろメモリ内でのデータの位置を転送するだけである。そのようなアーキテクチャの一例を図3に示した。ユニファイドメモリアーキテクチャによって、その優先ターゲットについて各フィルタを実行してグラフの演算時間を短縮することを目的とするシステムの開発が可能となる。CPUおよびGPU間のデータ交換は、メモリアドレスの交換に凝縮されるので、異なる演算装置で作動するフィルタを逐次的に使用する不都合は、もはや存在しない。
本発明は、CPUおよびGPU間のデータ交換が、CPUおよびGPU用ユニファイドメモリにおけるメモリアドレスの交換からなるユニファイドCPU/GPUメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法を提案しており、前記方法は、レンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータからグラフィックカード(GPU)によって管理されるコンテンツ用テクスチャを生成することができ、
‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあらかじめ選択したプロセッサCPUまたはGPUを識別し、
‐あらかじめ選択したプロセッサCPUまたはGPUのタイプに対応する少なくとも一つの命令モジュールから、あらかじめ選択したフィルタのCPUまたはGPUのバージョンの命令を受け、
‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメータを受け、
‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファのアドレスを受け、
‐デジタル値でフィルタ入力するために提供された値を適応させ、
‐設定されたパラメータでフィルタの命令を実行し、
‐得られた中間結果を保存、
することを可能にし、
‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
ことからなるステップを含む方法を提案する。
本発明による方法および装置は、使用される演算によって、一方ではCPUでの実行により適したフィルタがあり、他方ではGPUでの実行により適したフィルタがあるという
事実に基づくものである。各フィルタの優先ターゲットは、実行されるオペレーション、実行されるメモリアクセスが規則的であるか否か、さらには例えばGPUのテクスチャサンプラが行うように、存在するデータから使用することのできないデータを制作する必要性に依るものである。例えば、GPUのテクスチャサンプラの作動モードを復元するフィルタは、GPUにおいてケーブル化されたオペレーションを、プログラム化して実行しなければならないCPUにおいて、最適に作動する。この優先は固定されており、前記フィルタによって実行される演算にのみ依存する。とくに、それは所定のフィルタのオペレーションを修正するパラメータには依存しない。
好ましい一実施態様によると、CPUまたはGPU優先ターゲットに加えて、使用可能であれば他のターゲットで場合によっては可能であるインプリメンテーションが、各フィルタに対してある。
別の好ましい一実施態様では、シーケンサがグラフのブランチをスキャンするとき、シーケンサはグラフの第二ブランチを同時にスキャンして、メインブランチのカレントフィルタによって使用されていない演算装置CPUまたはGPUにおいて、この第二のブランチのフィルタを可能な限り実行する。
本発明は、また、前記の方法を実施するためのプロシージャルテクスチャ生成装置において、CPUおよびGPU間のデータ交換がCPUおよびGPU用ユニファイドメモリ内のメモリアドレスの交換からなり、前記メモリは下記の複数の区域、
‐アクティベートされるフィルタのリストを含む区域M0、
‐各フィルタのCPUまたはGPU優先ターゲットを含む区域M1、
‐レンダリングエンジン作業バッファを含む区域M2、
‐フィルタに組み合わせたプログラムをそのCPUバージョン、およびそのGPUバージョンで含む区域M3およびM4
にさらに分割されている装置を提案するものである。
好ましくは、区域M0はまた、様々なフィルタリングステップ間の依存関係、ならびに各フィルタのパラメータ値を含む。
本発明は、また、プロセッサに組み合わされるメモリ内にロードされるためのコンピュータプログラム製品を提案するものであり、該コンピュータプログラム製品は、該プログラムがプロセッサによって実行されるとき、あらかじめ書き込まれた方法を実行するソフトウェアコード部分を含むものである。
実施態様の詳細は、すべて図1〜6によって補足された下記の説明に記載したが、これらの図は例としてのみ示されたものであり、本発明を何ら限定するものではない。
フィルタの演算グラフの一例を図示したものである。 一般にオフィスコンピュータに使用されている分離されたCPU/GPUメモリを備えるアーキテクチャの一例を図示している。 一般に「スマートフォン」、タブレット、ゲーム機など、公知の型のモバイルコンピュータまたは装置に使用されているユニファイドCPU/GPUメモリを備えるアーキテクチャの一例を図示している。 本発明によるプロシージャルテクスチャ生成装置の実施例を概略的に図示したものである。 プロシージャルテクスチャを生成することを可能にするグラフスキャンを含む、本発明による方法の様々なステップを図示している。 一次および二次ブランチの並列スキャンを含む、本発明による方法の変形形態を図示している。
本発明において基になる装置の一実施例を図4に示した。この装置の様々な要素は、下記のものである:
‐前述のCPUおよびGPU、
‐CPUおよびGPUに同時に接続される、それ自体もまた前記に記載のユニファイドメモリ、
‐シーケンサは、従来のインプリメンテーションではCPUによってホスティングされるプログラムである。シーケンサは、グラフ構築のとき設定されたフィルタリストをスキャンし、各フィルタを良好な値でパラメータ化し、必要なときに各フィルタのアクティベートを行う。
‐パイロットGPU、すなわちGPUドライバは、GPUのアクティビティの管理を可能にする、CPUによってホスティングされるソフトウェア層である。パイロットGPUを介して、シーケンサがGPU上のそれぞれのフィルタを始動させ、さらにGPUがそこから作業しなければならないバッファをGPUに示すことができる。
レンダリングエンジンによって使用されるメモリは、類似の情報を隣接した下記のような区域に保存するよう、複数の区域に区分することができる:
‐グラフ構築のとき初期化され、アクティベートされるべきフィルタのリスト、各フィルタ用パラメータ値、ならびにフィルタリングの様々なステップ間の依存関係を含む、区域M0。記述ファイルの読み取りの際に構築されたグラフ構造を再度書き込むのは、このメモリのコンテンツである。
‐各フィルタの優先ターゲットを含む区域M1。このメモリは、エンジンの初期化時に書き込むことができるが、そのコンテンツはまた、レンダリングが実行されるプラットフォームに応じて可変である。
‐レンダリングエンジンの作業バッファを含む区域M2。これらのバッファは、フィルタによって演算された中間画像の一次的保存区域である。図1に示した実施例では、フィルタ3によって使用される前のフィルタ1の出力は、テンポラリバッファに保存されるであろう。
‐フィルタに組み合わせたプログラムをそのCPUバージョン、およびそのGPUバージョンで含む区域M3およびM4。グラフスキャンおよびシーケンサによるフィルタの実行の際、CPUまたはGPUで実行すべきコードは、これらのメモリから読み取られる。一部のフィルタの完全に不適合なインプリメンテーションによってメモリ跡をオーバーロードしないように、これらのメモリには、所定のターゲットへのインプリメンテーションが有利なフィルタのコードだけを保存することができる。
提示された解決法の主要点は、使用可能な各フィルタについてのその優先ターゲットを含むメモリをシーケンサに統合し、グラフスキャンループを修正して、この新規な情報を処理することにある。こうして、各フィルタは、最小演算時間を保証してこのようにグラフの全演算時間を最適化するターゲットで実行される。第一に、各フィルタの優先は、下記に示すように二択で示される。
‐このフィルタはCPUで作動しなければならない。
‐このフィルタはGPUで作動しなければならない。
その最も単純なインプリメンテーションでは、方法は、問題のフィルタがどのターゲットで作動するべきかを示す、各フィルタについての二択の優先のみを考慮に入れる。グラフスキャンに組み合わせた方法は、図5に示されている。
‐グラフスキャン(メモリM0の逐次的読み取り)の際、呼び出された各フィルタについて、メモリM1に保存された優先ターゲットを識別する、
‐前ステップで識別されたターゲットに応じて、メモリM3またはM4から、適合したフィルタのバージョンをロードする、
‐CPUでの実行の場合フィルタのコール前に直接、または、GPUの場合GPUドライブへのコール(単数または複数)によって、(フィルタの識別の際M0で読み取られた)使用されるパラメータ値、および使用する内部バッファのアドレス(メモリM2)を、設定する、
‐CPUでの実行の枠内で直接、またはGPUの場合GPUドライバへのコール(単数または複数)によって、メモリM3またはM4が読み取られたコードを実行する。
提案された方法によって、一般に基準実行速度を用いて、各フィルタの実行が最も有利なターゲットで各フィルタが実行されるようにすることができる。しかしながら、この方法では、所定の時間に存在する二つの演算装置のうち一つしか処理されない。プロセッサの使用をさらに最適化するために、より柔軟な優先を表現するよう、メモリM1のコンテンツの表現性を増大させる。そのようにして、各フィルタについてその優先ターゲットだけではなく、使用可能ならば他のターゲットでのインプリメンテーションも下記のように示すことが考えられる。
‐このフィルタはCPUでしか作動しない。
‐このフィルタはGPUでしか作動しない。
‐このフィルタは好ましくはCPUで作動するが、GPU用にインプリメンテーションが存在する。
‐このフィルタは好ましくはGPUで作動するが、CPU用にインプリメンテーションが存在する。
シーケンサがグラフのブランチをスキャンするとき、「メイン」ブランチの中でフィルタによって使用されていない演算装置で、第二のブランチのフィルタを可能な限り実行して、この第二のグラフブランチを同時にスキャンすることを試みることができる。この二つのグラフブランチの並列同時スキャンは、第一および第二のブランチのフィルタが同一演算装置で作動しなければならない点にシーケンサが到達すると、すぐに停止する。その場合、プライオリティは第一のブランチにあり、第二のブランチのスキャンは、実行すべき二つのフィルタが異なるターゲットで実行できるようになるとすぐに再開される。この好ましいフィルタのスイッチング方法の変形形態は、図6に図示されている。
本解決方法は、CPUおよびGPUという、今日一般的に使用可能である二つの演算装置を拠り所として、記載されている。専門化された他の種類のプロセッサが所定のアーキテクチャで使用可能であれば、そのときは三つ以上の演算装置(CPU、GPU、xPU…)によって、本解決方法を拡大することができる。この場合、各フィルタの優先表現に第三の装置を統合できるようにメモリM1のコンテンツの表現性を増大させ、各フィルタのコードのxPUバージョンを保存するためのメモリを付加するか、または単にxPUでのインプリメンテーションが有利なフィルタを付加しなければならない。
また、ターゲットに応じて各フィルタの優先を順序づけること(例えば、CPU>GPU>xPU)が考えられる。このように、複数のグラフブランチを並列スキャンするか、または並列スキャンするブランチの数を制限することを選択して使用可能なオプションの数を増やし、第二のブランチの演算を容易にし、それによって前記のブロック状態を回避することができる。
本解決方法の別の変形形態は、使用される様々な演算装置の、現在のロードレベルを評価するソフトウェアまたはハードウェア手段を使用することからなる。さらに、それを実行できる各ターゲットの数量化された性能を、各フィルタについて使用する場合、そのとき、上述の演算装置の現在のロードを考慮して、その演算装置への各フィルタの理論的インパクトから演算した合成メトリックを測定して、さらにフィルタのスイッチングプロセスを柔軟にすることができる。
「マルチコアにおけるプロシージャルテクスチャ(Procedural Textures on multi−core)」 「サブスタンス:記述テクスチャのオンラインゲームを放つ(Substance:Unleashing online gaming with descriptive textures)」

Claims (6)

  1. CPUおよびGPU間のデータ交換がCPUおよびGPU用ユニファイドメモリ内のメモリアドレスの交換からなるユニファイドCPU/GPUメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法であって、前記方法はレンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータからグラフィックカード(GPU)によって管理されるコンテンツ用テクスチャを生成することができるものであり、
    ‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
    ‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあらかじめ選択したプロセッサCPUまたはGPUを識別し、
    ‐あらかじめ選択したプロセッサCPUまたはGPUのタイプに対応する少なくとも一つの命令モジュールから、あらかじめ選択したフィルタのCPUまたはGPUのバージョンの命令を受け、
    ‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメータを受け、
    ‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファのアドレスを受け、
    ‐デジタル値でフィルタ入力するために提供された値を適応させ、
    ‐設定されたパラメータでフィルタの命令を実行し、
    ‐得られた中間結果を保存、
    することを可能にし、
    ‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
    ことからなるステップを含むものである、生成方法。
  2. CPUまたはGPU優先ターゲットに加えて、使用可能であれば他のターゲットで場合によっては可能であるインプリメンテーションが、各フィルタに対してあることを特徴とする、請求項1に記載のプロシージャルテクスチャ生成方法。
  3. シーケンサがグラフのブランチをスキャンするとき、シーケンサはグラフの第二ブランチを同時にスキャンして、メインブランチのカレントフィルタによって使用されていない演算装置CPUまたはGPUにおいて、この第二のブランチのフィルタを可能な限り実行することを特徴とする、請求項1または2に記載のプロシージャルテクスチャの生成方法。
  4. CPUおよびGPU間のデータ交換がCPUおよびGPU用ユニファイドメモリ内のメモリアドレスの交換からなり、前記メモリは下記の複数の区域、
    ‐アクティベートされるフィルタのリストを含む区域M0、
    ‐各フィルタのCPUまたはGPU優先ターゲットを含む区域M1、
    ‐レンダリングエンジン作業バッファを含む区域M2、
    ‐フィルタに組み合わせたプログラムをそのCPUバージョン、およびそのGPUバージョンで含む区域M3およびM4
    にさらに分割されていることを特徴とする、請求項1〜3のいずれか一つに記載の方法を実施するためのプロシージャルテクスチャの生成装置。
  5. 区域M0がまた、様々なフィルタリングステップ間の依存関係、ならびに各フィルタのパラメータ値を含むことを特徴とする、請求項4に記載の装置。
  6. プロセッサに組み合わされるメモリ内にロードされるためのコンピュータプログラム製品であって、該コンピュータプログラム製品は、該プログラムがプロセッサによって実行されるとき、請求項1〜3のいずれか一つに記載の方法を実行するソフトウェアコード部分を含むものである、コンピュータプログラム製品。
JP2015532519A 2012-09-24 2013-09-12 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン Active JP6215951B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR12/02528 2012-09-24
FR1202528A FR2996037B1 (fr) 2012-09-24 2012-09-24 Moteur hybride pour processeur central et processeur graphique
PCT/IB2013/002005 WO2014045094A1 (fr) 2012-09-24 2013-09-12 Moteur hybride pour processeur central et processeur graphique

Publications (2)

Publication Number Publication Date
JP2015532989A true JP2015532989A (ja) 2015-11-16
JP6215951B2 JP6215951B2 (ja) 2017-10-18

Family

ID=47664339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532519A Active JP6215951B2 (ja) 2012-09-24 2013-09-12 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン

Country Status (7)

Country Link
US (1) US9886735B2 (ja)
EP (1) EP2898478B1 (ja)
JP (1) JP6215951B2 (ja)
KR (1) KR102104996B1 (ja)
CA (1) CA2885995C (ja)
FR (1) FR2996037B1 (ja)
WO (1) WO2014045094A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102113093B1 (ko) * 2018-01-10 2020-05-20 서울대학교산학협력단 딥 뉴럴 네트워크를 위한 gpu 메모리 관리 방법 및 그를 수행하는 연산 장치
KR102151443B1 (ko) 2019-04-11 2020-09-03 주식회사 실리콘아츠 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
CN111292223B (zh) 2020-01-22 2023-07-25 北京百度网讯科技有限公司 图计算的处理方法、装置、电子设备及存储介质
US11782835B2 (en) 2020-11-30 2023-10-10 Electronics And Telecommunications Research Institute Host apparatus, heterogeneous system architecture device, and heterogeneous system based on unified virtual memory
US11892983B2 (en) 2021-04-29 2024-02-06 EMC IP Holding Company LLC Methods and systems for seamless tiering in a distributed storage system
US20230126511A1 (en) * 2021-10-27 2023-04-27 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using gpus
US11677633B2 (en) 2021-10-27 2023-06-13 EMC IP Holding Company LLC Methods and systems for distributing topology information to client nodes
US11922071B2 (en) 2021-10-27 2024-03-05 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components and a GPU module
US11762682B2 (en) 2021-10-27 2023-09-19 EMC IP Holding Company LLC Methods and systems for storing data in a distributed system using offload components with advanced data services

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080106552A1 (en) * 2006-11-03 2008-05-08 Nvidia Corporation Deferred page faulting in virtual memory based sparse texture representations
JP2010113724A (ja) * 2004-04-16 2010-05-20 Apple Inc グラフィックオペレーションのための高レベルプログラムインターフェース

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3413198A1 (en) * 2007-04-11 2018-12-12 Apple Inc. Data parallel computing on multiple processors
US8341611B2 (en) * 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US8286196B2 (en) * 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US8276164B2 (en) * 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US8786595B2 (en) * 2008-06-10 2014-07-22 Pinpoint 3D Systems and methods for estimating a parameter for a 3D model
US8587581B2 (en) * 2009-10-15 2013-11-19 Nvidia Corporation Order-preserving distributed rasterizer
US8542243B2 (en) * 2009-11-19 2013-09-24 Douglas H. Rogers High-compression texture mapping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113724A (ja) * 2004-04-16 2010-05-20 Apple Inc グラフィックオペレーションのための高レベルプログラムインターフェース
US20080106552A1 (en) * 2006-11-03 2008-05-08 Nvidia Corporation Deferred page faulting in virtual memory based sparse texture representations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宮田一乘: ""ゲームとCG 〜プロシージャル技術〜"", 映像情報メディア学会誌, vol. 第63巻, 第8号, JPN6017011900, 1 August 2009 (2009-08-01), JP, pages 1107 - 1112 *

Also Published As

Publication number Publication date
US20150235339A1 (en) 2015-08-20
US9886735B2 (en) 2018-02-06
FR2996037A1 (fr) 2014-03-28
KR20150060871A (ko) 2015-06-03
CA2885995C (en) 2022-11-08
EP2898478B1 (fr) 2018-07-04
JP6215951B2 (ja) 2017-10-18
WO2014045094A1 (fr) 2014-03-27
CA2885995A1 (en) 2014-03-27
FR2996037B1 (fr) 2015-05-29
EP2898478A1 (fr) 2015-07-29
KR102104996B1 (ko) 2020-04-27

Similar Documents

Publication Publication Date Title
JP6215951B2 (ja) 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン
JP5154551B2 (ja) グラフィックスパイプラインステートの高速再構成
CN106251392B (zh) 用于执行交织的方法和设备
CN102314666B (zh) Gpu纹理小块的细节控制
JP5436526B2 (ja) グラフィックスコマンド生成装置、グラフィックスコマンド生成方法、サーバ装置、およびクライアント装置
JP7253488B2 (ja) 複合ワールドスペースパイプラインシェーダステージ
JP7282675B2 (ja) アウトオブオーダキャッシュリターン
WO2012147364A1 (en) Heterogeneous graphics processor and configuration method thereof
EP3301651B1 (en) In-editor spritesheeting
JP2023525725A (ja) データ圧縮の方法及び装置
JP2019106031A (ja) データ処理システム及びデータ分析処理方法
US8761543B2 (en) Image processing using bounds adjustment
CN111507891A (zh) 基于cuda的数字图像几何变换方法、装置、设备及介质
CN116263982B (zh) 图形处理器、系统、方法、电子装置及设备
US20220058048A1 (en) Varying firmware for virtualized device
CN111243069B (zh) 一种Unity3D引擎的场景切换方法和系统
JP5968497B2 (ja) 制御方法、システム及びプログラム
CN117011444B (zh) 一种gpu分块渲染的性能分析方法及系统
CN111714879B (zh) 物理状态的更新方法和装置、存储介质、电子装置
WO2024082695A1 (zh) 一种渲染指令的合批方法及装置
CN115222869A (zh) 分布式渲染方法及装置
CN114626133A (zh) 一种模型的显示方法、装置及设备
CN117546199A (zh) 一种图形处理方法及装置
JP2023532433A (ja) マルチサンプルアンチエイリアシングのためのロード命令
CN117788674A (zh) 一种纹理贴图合并方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170411

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170921

R150 Certificate of patent or registration of utility model

Ref document number: 6215951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250