JP5902273B2 - 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 - Google Patents
計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 Download PDFInfo
- Publication number
- JP5902273B2 JP5902273B2 JP2014216090A JP2014216090A JP5902273B2 JP 5902273 B2 JP5902273 B2 JP 5902273B2 JP 2014216090 A JP2014216090 A JP 2014216090A JP 2014216090 A JP2014216090 A JP 2014216090A JP 5902273 B2 JP5902273 B2 JP 5902273B2
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- cpu
- shared
- virtual
- platform
- 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
- 230000006870 function Effects 0.000 title claims description 150
- 230000015654 memory Effects 0.000 title claims description 72
- 230000001427 coherent effect Effects 0.000 claims description 41
- 230000006854 communication Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 15
- 230000007175 bidirectional communication Effects 0.000 description 12
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000004026 adhesive bonding Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Description
計算プラットフォームにおける方法であって、
複数のバーチャル関数を含む共有オブジェクトを生成するステップと、
前記共有オブジェクトを共有バーチャルメモリに格納するステップと、
第1プロセッサと第2プロセッサとの間で前記複数のバーチャル関数の少なくとも1つを共有するステップと、
を有し、
前記計算プラットフォームは、前記第1プロセッサと前記第2プロセッサとを含み、
前記第1プロセッサと前記第2プロセッサとはヘテロジニアスプロセッサである方法に関する。
実行されることに応答して、
複数のバーチャル関数を含む共有オブジェクトを生成するステップと、
前記共有オブジェクトを共有バーチャルメモリに格納するステップと、
第1プロセッサと第2プロセッサとの間で前記複数のバーチャル関数の少なくとも1つを共有するステップと、
をプロセッサに実行させる複数の命令を有するマシーン可読記憶媒体であって、
前記計算プラットフォームは、前記第1プロセッサと前記第2プロセッサとを有し、
前記第1プロセッサと前記第2プロセッサとは、ヘテロジニアスプロセッサであるマシーン可読記憶媒体に関する。
第1コンパイラに接続される第1プロセッサと、第2コンパイラに接続される第2プロセッサとを有する複数のヘテロジニアスプロセッサを有する装置であって、
前記第1コンパイラは、前記第1プロセッサに割り当てられた第1バーチャルメンバ関数と、前記第2プロセッサに割り当てられた第2バーチャルメンバ関数とを含む共有オブジェクトを生成し、
前記第1プロセッサは、複数のバーチャル関数を含む共有オブジェクトを生成し、前記共有オブジェクトを共有バーチャルメモリに格納し、前記複数のバーチャル関数の少なくとも1つを第2プロセッサと共有する装置に関する。
Call[eax,vfunc] #vfuncはバーチャル関数テーブルにおけるバーチャル関数インデックスである
CPUサイドにおいて、上記コードはバーチャル関数のCPUの実装をコールし、GPUサイドでは、上記コードはバーチャル関数のGPU実装をコールしてもよい。このようなアプローチは、クラスに対するデータ共有及びバーチャル関数共有を可能にする。
110 CPU
180 GPU
900 コンピュータシステム
Claims (11)
- 中央処理ユニット(CPU)とグラフィックス処理ユニット(GPU)との組み合わせと、
前記GPUと前記CPUとの双方にアクセス可能な共有物理メモリと、
を有するプラットフォームであって、
当該プラットフォームは、前記共有物理メモリを前記CPUと前記GPUとの双方にアクセス可能な共有バーチャルメモリにマッピング可能であり、
当該プラットフォームは、
前記共有バーチャルメモリに複数のバーチャルファンクションを含む共有オブジェクトを格納し、
前記CPUと前記GPUとの間で前記複数のバーチャルファンクションの少なくとも1つを共有するプラットフォーム。 - 当該プラットフォームが前記CPUと前記GPUとの間で複数のバーチャルファンクションを共有することにより、前記CPUと前記GPUとの間の双方向通信が可能とされる、請求項1記載のプラットフォーム。
- 前記共有オブジェクトは更に、非バーチャルファンクションを有する、請求項1記載のプラットフォーム。
- 前記共有オブジェクトは、バーチャルファンクションテーブルを指し示すためのバーチャルテーブルポインタを有する、請求項1記載のプラットフォーム。
- 前記共有オブジェクトは、CPUサイドバーチャルテーブルポインタを有する、請求項1記載のプラットフォーム。
- 前記GPUは、前記CPUサイドバーチャルテーブルポインタを用いて、GPUサイドバーチャルテーブルを決定する、請求項5記載のプラットフォーム。
- 前記プラットフォームは、前記GPUが、前記CPUサイドバーチャルテーブルポインタを用いて、GPUサイドバーチャルテーブルを決定する際に用いられるGPUテーブルを備えるものであり、
前記GPUテーブルは、クラス名、CPUサイドバーチャルテーブルアドレス及びGPUサイドバーチャルテーブルアドレスを有する、請求項6記載のプラットフォーム。 - 前記プラットフォームは、前記GPUが、前記CPUサイドバーチャルテーブルポインタを用いて、GPUサイドバーチャルテーブルを決定する際に用いられるGPUテーブルを備えるものであり、
前記GPUテーブルは、動的にリンク付けされたライブラリ又は静的にリンク付けされたライブラリの少なくとも1つをサポートする、請求項6記載のプラットフォーム。 - 当該プラットフォームは更に、前記共有バーチャルメモリ内に共有非コヒーラントアリーナを生成し、CPUサイドバーチャルテーブルとGPUサイドバーチャルテーブルとを前記共有バーチャルメモリにコピーし、
前記CPUサイドバーチャルテーブルと前記GPUサイドバーチャルテーブルとは、前記共有バーチャルメモリにおいて同一のアドレスを有する、請求項1記載のプラットフォーム。 - 当該プラットフォームは更に、前記同一のアドレスを指し示すようバーチャルテーブルポインタを変更し、
前記CPUサイドバーチャルテーブルは、CPUサイドファンクションポインタを有し、
前記GPUサイドバーチャルテーブルは、前記CPUサイドファンクションポインタと異なるGPUサイドファンクションポインタを有する、請求項9記載のプラットフォーム。 - 当該プラットフォームは更に、CPUプライベートメモリスペースを有し、
当該プラットフォームは、前記CPUプライベートメモリスペースから前記CPUサイドバーチャルテーブルをコピーする、請求項10記載のプラットフォーム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216090A JP5902273B2 (ja) | 2014-10-23 | 2014-10-23 | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014216090A JP5902273B2 (ja) | 2014-10-23 | 2014-10-23 | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013529523A Division JP5639274B2 (ja) | 2010-09-24 | 2010-09-24 | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016047076A Division JP6280581B2 (ja) | 2016-03-10 | 2016-03-10 | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015038770A JP2015038770A (ja) | 2015-02-26 |
JP5902273B2 true JP5902273B2 (ja) | 2016-04-13 |
Family
ID=52631768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014216090A Active JP5902273B2 (ja) | 2014-10-23 | 2014-10-23 | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5902273B2 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6184740A (ja) * | 1984-10-03 | 1986-04-30 | Hitachi Ltd | 汎用オブジエクトコ−ド生成方式 |
JPH10207709A (ja) * | 1997-01-20 | 1998-08-07 | Meidensha Corp | オブジェクトの共有方法 |
JPH10320203A (ja) * | 1997-05-22 | 1998-12-04 | Meidensha Corp | 共有メモリシステム |
US6049668A (en) * | 1998-04-13 | 2000-04-11 | Intel Corporation | Method and apparatus for supporting multiple processor-specific code segments in a single executable |
US20070283336A1 (en) * | 2006-06-01 | 2007-12-06 | Michael Karl Gschwind | System and method for just-in-time compilation in a heterogeneous processing environment |
JP5151559B2 (ja) * | 2008-02-29 | 2013-02-27 | 富士通株式会社 | プログラム実行システム |
US8531471B2 (en) * | 2008-11-13 | 2013-09-10 | Intel Corporation | Shared virtual memory |
US8307350B2 (en) * | 2009-01-14 | 2012-11-06 | Microsoft Corporation | Multi level virtual function tables |
-
2014
- 2014-10-23 JP JP2014216090A patent/JP5902273B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015038770A (ja) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5639274B2 (ja) | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 | |
US8719839B2 (en) | Two way communication support for heterogenous processors of a computer platform | |
US11175896B2 (en) | Handling value types | |
KR101240092B1 (ko) | 컴퓨터 플랫폼에서의 방법 및 컴퓨터 플랫폼 | |
EP2950206B1 (en) | Extracting source code | |
US9830176B2 (en) | Methods, systems, and media for binary compatible graphics support in mobile operating systems | |
Andrus et al. | Cider: Native execution of ios apps on android | |
US9696990B2 (en) | Method and apparatus for implementing inter-component function calls | |
EP3695316A1 (en) | Computing system for unified memory access | |
JP6280581B2 (ja) | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 | |
JP5902273B2 (ja) | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 | |
Szabó et al. | Real-time rendering with OpenGL and Vulkan in C# | |
CN104536740B (zh) | 计算平台的异质处理器之间的共享虚拟存储器中的虚函数共享 | |
Phung et al. | Accelerating Function-Centric Applications by Discovering, Distributing, and Retaining Reusable Context in Workflow Systems | |
JP2013058270A (ja) | マルチタスク仮想マシンのためのヒープ組織 | |
Goyal et al. | Function Overloading and Default Arguments | |
Ciocarlie et al. | Considerations regarding the implementation of the ESPL programming language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160106 |
|
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: 20160209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5902273 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |