JP6215951B2 - 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン - Google Patents
中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン Download PDFInfo
- Publication number
- JP6215951B2 JP6215951B2 JP2015532519A JP2015532519A JP6215951B2 JP 6215951 B2 JP6215951 B2 JP 6215951B2 JP 2015532519 A JP2015532519 A JP 2015532519A JP 2015532519 A JP2015532519 A JP 2015532519A JP 6215951 B2 JP6215951 B2 JP 6215951B2
- Authority
- JP
- Japan
- Prior art keywords
- filter
- gpu
- cpu
- memory
- graph
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 32
- 238000009877 rendering Methods 0.000 claims description 16
- 239000000872 buffer Substances 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 description 7
- 239000000126 substance Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; 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)
Description
‐基本要素(ノイズ、パターン、既存の画像)、
‐必要な場合、これらの基本要素を生成するために使用されるパラメータ、
‐これらの基本要素、または先行するフィルタリングによって生成された画像に適用される、様々なフィルタリングステップ、
‐これらのフィルタのオペレーションモードを変更するパラメータ、
‐各フィルタの依存関係(dependances)(各オペレーションによって使用される入力リスト)、
‐出力で生成されるテクスチャのリスト、それらのフォーマット、および推測されるそれらの使用法
を保存する記述ファイルから出発して、異なる解像度において様々な動的およびパラメータ化可能なテクスチャを生成することができる。
‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあらかじめ選択したプロセッサCPUまたはGPUを識別し、
‐あらかじめ選択したプロセッサCPUまたはGPUのタイプに対応する少なくとも一つの命令モジュールから、あらかじめ選択したフィルタのCPUまたはGPUのバージョンの命令を受け、
‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメータを受け、
‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファのアドレスを受け、
‐デジタル値でフィルタ入力するために提供された値を適応させ、
‐設定されたパラメータでフィルタの命令を実行し、
‐得られた中間結果を保存、
することを可能にし、
‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
ことからなるステップを含む方法を提案する。
事実に基づくものである。各フィルタの優先ターゲットは、実行されるオペレーション、実行されるメモリアクセスが規則的であるか否か、さらには例えばGPUのテクスチャサンプラが行うように、存在するデータから使用することのできないデータを制作する必要性に依るものである。例えば、GPUのテクスチャサンプラの作動モードを復元するフィルタは、GPUにおいてケーブル化されたオペレーションを、プログラム化して実行しなければならないCPUにおいて、最適に作動する。この優先は固定されており、前記フィルタによって実行される演算にのみ依存する。とくに、それは所定のフィルタのオペレーションを修正するパラメータには依存しない。
‐アクティベートされるフィルタのリストを含む区域M0、
‐各フィルタのCPUまたはGPU優先ターゲットを含む区域M1、
‐レンダリングエンジン作業バッファを含む区域M2、
‐フィルタに組み合わせたプログラムをそのCPUバージョン、およびそのGPUバージョンで含む区域M3およびM4
にさらに分割されている装置を提案するものである。
実施態様の詳細は、すべて図1〜6によって補足された下記の説明に記載したが、これらの図は例としてのみ示されたものであり、本発明を何ら限定するものではない。
‐前述の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で作動しなければならない。
‐グラフスキャン(メモリM0の逐次的読み取り)の際、呼び出された各フィルタについて、メモリM1に保存された優先ターゲットを識別する、
‐前ステップで識別されたターゲットに応じて、メモリM3またはM4から、適合したフィルタのバージョンをロードする、
‐CPUでの実行の場合フィルタのコール前に直接、または、GPUの場合GPUドライブへのコール(単数または複数)によって、(フィルタの識別の際M0で読み取られた)使用されるパラメータ値、および使用する内部バッファのアドレス(メモリM2)を、設定する、
‐CPUでの実行の枠内で直接、またはGPUの場合GPUドライバへのコール(単数または複数)によって、メモリM3またはM4が読み取られたコードを実行する。
‐このフィルタはCPUでしか作動しない。
‐このフィルタはGPUでしか作動しない。
‐このフィルタは好ましくはCPUで作動するが、GPU用にインプリメンテーションが存在する。
‐このフィルタは好ましくはGPUで作動するが、CPU用にインプリメンテーションが存在する。
Claims (5)
- CPUおよびGPU間のデータ交換がCPUおよびGPU用ユニファイドメモリ内のメモリアドレスの交換からなるユニファイドCPU/GPUメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法であって、前記方法はレンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータからグラフィックカード(GPU)によって管理されるコンテンツ用テクスチャを生成することができるものであり、
‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあら かじめ選択したプロセッサCPUまたはGPUを識別し、
‐あらかじめ選択したプロセッサCPUまたはGPUのタイプに対応する少なくと も一つの命令モジュールから、あらかじめ選択したフィルタのCPUまたはGPUのバ ージョンの命令を受け、
‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメー タを受け、
‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファ のアドレスを受け、
‐デジタル値でフィルタ入力するために提供された値を適応させ、
‐設定されたパラメータでフィルタの命令を実行し、
‐得られた中間結果を保存、
することを可能にし、
‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
ことからなるステップを含むものであり、
該生成方法は、
プロシージャルテクスチャの生成装置であって、
CPUおよびGPU間のデータ交換がCPUおよびGPU用ユニファイドメモリ内のメモリアドレスの交換からなり、前記メモリは下記の複数の区域、
‐アクティベートされるフィルタのリストを含む区域M0、
‐各フィルタのCPUまたはGPU優先ターゲットを含む区域M1、
‐レンダリングエンジン作業バッファを含む区域M2、
‐フィルタに組み合わせたプログラムをそのCPUバージョン、およびそのGPUバージョンで含む区域M3およびM4
にさらに分割されている、プロシージャルテクスチャの生成装置によって実施されることを特徴とする、生成方法。 - CPUまたはGPU優先ターゲットに加えて、使用可能であれば他のターゲットで場合によっては可能であるインプリメンテーションが、各フィルタに対してあることを特徴とする、請求項1に記載のプロシージャルテクスチャの生成方法。
- シーケンサがグラフのブランチをスキャンするとき、シーケンサはグラフの第二ブランチを同時にスキャンして、メインブランチのカレントフィルタによって使用されていない演算装置CPUまたはGPUにおいて、この第二のブランチのフィルタを可能な限り実行することを特徴とする、請求項1または2に記載のプロシージャルテクスチャの生成方法。
- 区域M0がまた、様々なフィルタリングステップ間の依存関係、ならびに各フィルタのパラメータ値を含むことを特徴とする、請求項1〜3のいずれか一つに記載のプロシージャルテクスチャの生成方法。
- プロセッサに組み合わされるメモリ内にロードされるためのコンピュータプログラムであって、該コンピュータプログラムは、該プログラムがプロセッサによって実行されるとき、請求項1〜4のいずれか一つに記載の方法を実行するソフトウェアコード部分を含むものである、コンピュータプログラム。
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 JP2015532989A (ja) | 2015-11-16 |
JP6215951B2 true 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 (11)
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 |
US12093435B2 (en) | 2021-04-29 | 2024-09-17 | Dell Products, L.P. | Methods and systems for securing data 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 |
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 |
US12007942B2 (en) | 2021-10-27 | 2024-06-11 | EMC IP Holding Company LLC | Methods and systems for seamlessly provisioning client application nodes in a distributed system |
US11677633B2 (en) | 2021-10-27 | 2023-06-13 | EMC IP Holding Company LLC | Methods and systems for distributing topology information to client nodes |
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 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8704837B2 (en) * | 2004-04-16 | 2014-04-22 | Apple Inc. | High-level program interface for graphics operations |
US7746352B2 (en) * | 2006-11-03 | 2010-06-29 | Nvidia Corporation | Deferred page faulting in virtual memory based sparse texture representations |
WO2008127622A2 (en) * | 2007-04-11 | 2008-10-23 | Apple Inc. | Data parallel computing on multiple processors |
US8276164B2 (en) * | 2007-05-03 | 2012-09-25 | 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 |
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 |
-
2012
- 2012-09-24 FR FR1202528A patent/FR2996037B1/fr not_active Expired - Fee Related
-
2013
- 2013-09-12 JP JP2015532519A patent/JP6215951B2/ja active Active
- 2013-09-12 CA CA2885995A patent/CA2885995C/en active Active
- 2013-09-12 WO PCT/IB2013/002005 patent/WO2014045094A1/fr active Application Filing
- 2013-09-12 KR KR1020157010524A patent/KR102104996B1/ko active IP Right Grant
- 2013-09-12 US US14/430,112 patent/US9886735B2/en active Active
- 2013-09-12 EP EP13803204.0A patent/EP2898478B1/fr active Active
Also Published As
Publication number | Publication date |
---|---|
FR2996037A1 (fr) | 2014-03-28 |
KR20150060871A (ko) | 2015-06-03 |
US9886735B2 (en) | 2018-02-06 |
FR2996037B1 (fr) | 2015-05-29 |
JP2015532989A (ja) | 2015-11-16 |
CA2885995A1 (en) | 2014-03-27 |
US20150235339A1 (en) | 2015-08-20 |
KR102104996B1 (ko) | 2020-04-27 |
WO2014045094A1 (fr) | 2014-03-27 |
CA2885995C (en) | 2022-11-08 |
EP2898478B1 (fr) | 2018-07-04 |
EP2898478A1 (fr) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6215951B2 (ja) | 中央プロセッサ、およびグラフィックプロセッサ用ハイブリッドエンジン | |
CN106251392B (zh) | 用于执行交织的方法和设备 | |
JP5154551B2 (ja) | グラフィックスパイプラインステートの高速再構成 | |
JP5436526B2 (ja) | グラフィックスコマンド生成装置、グラフィックスコマンド生成方法、サーバ装置、およびクライアント装置 | |
CN102314666B (zh) | Gpu纹理小块的细节控制 | |
TWI376641B (en) | Multi-threads vertex shader, graphics processing unit, and flow control method thereof | |
JP7253488B2 (ja) | 複合ワールドスペースパイプラインシェーダステージ | |
CN103559730A (zh) | 一种渲染方法及装置 | |
WO2011044454A2 (en) | Automatic run-time identification of textures | |
CN110741349B (zh) | 改变用于虚拟化装置的固件 | |
EP3301651B1 (en) | In-editor spritesheeting | |
JP2019106031A (ja) | データ処理システム及びデータ分析処理方法 | |
US8761543B2 (en) | Image processing using bounds adjustment | |
CN115049531B (zh) | 图像渲染方法、装置、图形处理设备及存储介质 | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
CN115222869A (zh) | 分布式渲染方法及装置 | |
JP4749824B2 (ja) | グラフィックスシステム | |
JP5968497B2 (ja) | 制御方法、システム及びプログラム | |
CN117011444B (zh) | 一种gpu分块渲染的性能分析方法及系统 | |
CN111714879B (zh) | 物理状态的更新方法和装置、存储介质、电子装置 | |
CN114626133A (zh) | 一种模型的显示方法、装置及设备 | |
CN117546199A (zh) | 一种图形处理方法及装置 | |
CN116999808A (zh) | 目标界面的显示方法和装置、存储介质及电子设备 | |
CN117671106A (zh) | 遮挡查询方法、装置、电子设备及存储介质 | |
CN116071217A (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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |