JP5851396B2 - 処理方法 - Google Patents
処理方法 Download PDFInfo
- Publication number
- JP5851396B2 JP5851396B2 JP2012516839A JP2012516839A JP5851396B2 JP 5851396 B2 JP5851396 B2 JP 5851396B2 JP 2012516839 A JP2012516839 A JP 2012516839A JP 2012516839 A JP2012516839 A JP 2012516839A JP 5851396 B2 JP5851396 B2 JP 5851396B2
- Authority
- JP
- Japan
- Prior art keywords
- computer program
- program code
- function
- memory
- executed
- 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
- 238000003672 processing method Methods 0.000 title 1
- 230000006870 function Effects 0.000 claims description 319
- 230000015654 memory Effects 0.000 claims description 237
- 238000004590 computer program Methods 0.000 claims description 175
- 238000012545 processing Methods 0.000 claims description 161
- 238000000034 method Methods 0.000 claims description 118
- 230000008569 process Effects 0.000 claims description 36
- 238000012986 modification Methods 0.000 claims description 25
- 230000004048 modification Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000001133 acceleration Effects 0.000 description 168
- 238000010586 diagram Methods 0.000 description 14
- 230000010076 replication Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 10
- 239000003550 marker Substances 0.000 description 7
- 239000003607 modifier Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
Description
_shared_ int sharedVariable;
_private int privateVariable;
のように共有またはプライベート・メモリ内に格納されなければならないことを指示することができる。
_shared_ int *sharedDataPointer;
_private_ int *privateDataPointer;
のように共有またはプライベート・メモリを指しているものとしてマークされうる。
Claims (41)
- コンピュータ・プログラム・コードの異なる部分が複数の通信処理要素のうちの異なる処理要素によって実行されることを可能にするようにコンピュータ・プログラム・コードを処理するための方法であって、
前記処理要素のうちの特定の1つの処理要素によって実行されるべき前記コンピュータ・プログラム・コードの少なくとも1つの第1の部分を識別するステップと、
前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分に関係する前記コンピュータ・プログラム・コードの少なくとも1つのさらなる部分を識別するステップと、
前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分が前記処理要素のうちの特定の1つの処理要素によって実行されることを引き起こすステップとをコンピュータに実行させ、
前記コンピュータ・プログラム・コードの前記さらなる部分は、少なくとも2回、前記コンピュータ・プログラム・コードにおいて参照され、それぞれの参照は各メモリ・アクセス・オペレーションを含み、
前記方法は、第1の各メモリ・アクセス・オペレーションに基づき前記コンピュータ・プログラム・コードの前記さらなる部分の第1の修正を自動的に作成するステップと、第2の各メモリ・アクセス・オペレーションに基づき前記コンピュータ・プログラム・コードの前記さらなる部分の第2の修正を自動的に作成するステップとを前記コンピュータにさらに実行させる、方法。 - コンピュータ・プログラム・コードの異なる部分が複数の通信処理要素のうちの異なる処理要素によって実行されることを可能にするようにコンピュータ・プログラム・コードを処理するための方法であって、
前記処理要素のうちの特定の1つの処理要素によって実行されるべき前記コンピュータ・プログラム・コードの少なくとも1つの第1の部分を識別するステップと、
前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分に関係する前記コンピュータ・プログラム・コードの少なくとも1つのさらなる部分を識別するステップと、
前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分が前記処理要素のうちの特定の1つの処理要素によって実行されることを引き起こすステップとをコンピュータに実行させ、
前記複数の処理要素は、複数の記憶域内に格納されているデータにアクセスし、 前記引き起こすステップは、前記複数の記憶域内のデータにアクセスするように前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分を自動的に修正するステップを含む、方法。 - 前記処理要素のそれぞれは、各型を有し、
前記処理要素のうちの特定の1つの要素によって実行されるべき前記コンピュータ・プログラム・コードの少なくとも1つの第1の部分を識別するステップは、前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分が実行されるべき特定の型の処理要素を識別するステップを含み、
前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分が前記処理要素のうちの前記特定の1つの処理要素によって実行されることを引き起こすステップは、前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分が前記特定の型を有する前記処理要素のうちの1つの処理要素によって実行されることを引き起こすステップを含む請求項1または2に記載の方法。 - 複数の前記処理要素は、前記特定の型を有し、
前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分が前記特定の型を有する前記処理要素のうちの1つの処理要素によって実行されることを引き起こすステップは、前記特定の型を有する前記複数の処理要素のうちの1つの処理要素を選択するステップをさらに含む請求項3に記載の方法。 - 前記コンピュータ・プログラム・コードの少なくとも1つの第1の部分を識別するステップは、前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分が前記処理要素のうちの前記特定の1つの処理要素によって実行されるべきであることを示す少なくとも1つのプログラム構成体を識別するステップを含む請求項1から4のいずれか1項に記載の方法。
- 前記コンピュータ・プログラム・コードの前記さらなる部分は、前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分において参照される請求項1から5のいずれか1項に記載の方法。
- 前記コンピュータ・プログラム・コードの前記さらなる部分は、関数であり、前記関数は、前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分から呼び出される請求項6に記載の方法。
- 前記関数は、前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分から間接的に呼び出される請求項7に記載の方法。
- 前記コンピュータ・プログラム・コードの前記さらなる部分への前記参照は、仮想関数への呼び出しであり、前記コンピュータ・プログラム・コードの前記さらなる部分は、前記仮想関数の一実装である請求項8に記載の方法。
- 前記コンピュータ・プログラム・コードの前記少なくとも1つの第1の部分は、前記関数への参照を受け取り、前記参照を受け取ったことに応答して前記関数を呼び出すようになされている請求項9に記載の方法。
- 前記引き起こすステップは、前記処理要素のうちの特定の1つの処理要素に対して前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分をコンパイルするステップを含む請求項1から10のいずれか1項に記載の方法。
- 複数の前記処理要素によって実行されるべき前記コンピュータ・プログラム・コードの少なくとも1つの第2の部分を識別するステップと、
前記コンピュータ・プログラム・コードの前記第2の部分が前記複数の前記処理要素によって実行されることを引き起こすステップをさらに含む請求項1から11のいずれか1項に記載の方法。 - 前記コンピュータ・プログラム・コードは、前記コンピュータ・プログラム・コードの前記第2の部分への第1および第2の参照を含み、前記コンピュータ・プログラム・コードの前記第2の部分が前記複数の前記処理要素によって実行されることを引き起こすステップは、前記コンピュータ・プログラム・コードの前記第2の部分が前記第1の参照への応答として第1の処理要素上で、また前記第2の参照への応答として第2の処理要素上で実行されることを引き起こすステップを含む請求項12に記載の方法。
- 前記第1の処理要素は、処理要素が前記第1の参照を実行することに基づいて決定され、前記第2の処理要素は、処理要素が前記第2の参照を実行することに基づいて決定される請求項13に記載の方法。
- 前記複数の処理要素は、複数の記憶域内に格納されているデータにアクセスし、
前記引き起こすステップは、前記複数の記憶域内のデータにアクセスするように前記コンピュータ・プログラム・コードの前記第1の部分および前記コンピュータ・プログラム・コードの前記さらなる部分を修正するステップを含む請求項1から14のいずれか1項に記載の方法。 - 前記コンピュータ・プログラム・コードは、複数のコンテキスト・レベルを含み、前記修正するステップは、前記コンテキスト・レベルに基づき少なくとも1つのメモリ・アクセス・オペレーションを修正するステップを含む請求項15に記載の方法。
- 少なくとも1つのメモリ・アクセス・オペレーションを前記修正するステップは、前記メモリ・アクセス・オペレーションに関連付けられているデータ・アイテムが宣言され、前記メモリ・アクセス・オペレーションが実行される相対的なコンテキスト・レベルに基づく請求項16に記載の方法。
- それぞれのコンテキスト・レベルは、関連付けられている記憶域を有し、前記修正するステップは、第2のコンテキスト・レベルに関連付けられている記憶域内のデータにアクセスする第1のコンテキスト・レベルにおけるメモリ・アクセス・オペレーションを修正するステップを含み、前記第2のコンテキスト・レベルは前記第1のコンテキスト・レベルと明確に区別される請求項17に記載の方法。
- 前記修正するステップは、前記第2のコンテキスト・レベルに関連付けられているソフトウェア実装キャッシュにアクセスするように前記第1のコンテキスト・レベルにおける前記メモリ・アクセス・オペレーションを修正するステップを含む請求項18に記載の方法。
- 前記修正するステップは、前記メモリ・アクセス・オペレーションがソフトウェア・トランザクション・メモリ技術を使用して実行されるように前記メモリ・アクセス・オペレーションを修正するステップを含む請求項18に記載の方法。
- 前記修正するステップは、前記メモリ・アクセス・オペレーションがコンピュータ・ネットワーク上のデータ転送を使用して実行されるように前記メモリ・アクセス・オペレーションを修正するステップを含む請求項18に記載の方法。
- 特定のコンテキスト・レベルに関連付けられている記憶空間については、その記憶空間内に格納されているデータは、自動メモリ管理を受ける請求項17または18に記載の方法。
- 前記自動メモリ管理は、ガーベジ・コレクションを含む請求項22に記載の方法。
- 前記修正するステップは、前記第2の異なるコンテキスト・レベルに関連付けられている前記記憶域の識別子を前記メモリ・アクセス・オペレーションに追加するステップを含む請求項18ないし21のいずれか1項に記載の方法。
- 前記コンピュータ・プログラム・コードの前記さらなる部分は、少なくとも2回、前記コンピュータ・プログラム・コードにおいて参照され、それぞれの参照は各メモリ・アクセス・オペレーションを含み、
前記方法は、第1の各メモリ・アクセス・オペレーションに基づき前記コンピュータ・プログラム・コードの前記さらなる部分の第1の修正を作成するステップと、第2の各メモリ・アクセス・オペレーションに基づき前記コンピュータ・プログラム・コードの前記さらなる部分の第2の修正を作成するステップとをさらに前記コンピュータに実行させる請求項2から24のいずれか1項に記載の方法。 - 前記複数の処理要素は、複数の記憶域内に格納されているデータにアクセスし、前記第1のメモリ・アクセス・オペレーションは、第1の記憶域内のデータにアクセスし、前記第2のメモリ・アクセス・オペレーションは、第2の異なる記憶域内のデータにアクセスする請求項25に記載の方法。
- 前記コンピュータ・プログラム・コードの前記さらなる部分の前記第1の修正への参照を追加するように前記コンピュータ・プログラム・コードの前記さらなる部分への前記第1の参照を処理するステップと、
前記コンピュータ・プログラム・コードの前記さらなる部分の前記第2の修正への参照を追加するように前記コンピュータ・プログラム・コードの前記さらなる部分への前記第2の参照を処理するステップとをさらに含む請求項25または26に記載の方法。 - 前記コンピュータ・プログラム・コードの前記第1の部分およびさらなる部分のコピーを作成するステップをさらに含み、
前記引き起こすステップは、前記複数の記憶域内のデータにアクセスするように前記コンピュータ・プログラム・コードの前記第1の部分の前記コピーおよび前記コンピュータ・プログラム・コードの前記さらなる部分の前記コピーを修正するステップを含む請求項2に記載の方法。 - コンピュータ・プログラム・コードの異なる部分が複数の通信処理要素のうちの異なる処理要素によって実行されることを可能にするようにコンピュータ・プログラム・コードを処理するための方法であって、前記コンピュータ・プログラム・コードは、複数のデータ・アイテムを参照し、少なくとも1つのデータ・アイテムが特定の処理要素のローカルにあるメモリ内に格納され、少なくとも別のデータ・アイテムが複数の処理要素間で共有されるメモリ内に格納され、
前記データ・アイテムのうちの第1のデータ・アイテムへの参照を含む前記コンピュータ・プログラム・コードの第1の部分を処理するステップと、
前記第1のデータ・アイテムが格納されているメモリを決定するステップと、
前記決定されたメモリを示すように前記コンピュータ・プログラム・コードを修正するステップとをコンピュータに実行させる方法。 - 前記コンピュータ・プログラム・コードの前記第1の部分は、第1の処理要素上で実行されるべきであり、前記決定するステップは、前記第1のデータ・アイテムが前記第1の処理要素上で実行されるものとして前記コンピュータ・プログラム・コードの一部において宣言されているかどうかを判定するステップを含む請求項29に記載の方法。
- 前記コンピュータ・プログラム・コードは、複数のコンテキスト・レベルを定義し、前記第1のデータ・アイテムが格納されるメモリを決定するステップは、前記第1のデータ・アイテムが宣言されるコンテキスト・レベルを決定するステップを含む請求項29または30に記載の方法。
- 前記修正するステップは、前記コンピュータ・プログラム・コードの前記第1の部分が前記第1のデータ・アイテムが宣言されているコンテキスト・レベルと異なるコンテキスト・レベルで出現する場合、ただしその場合に限り実行される請求項31に記載の方法。
- 複数のデータ・アイテムへの前記参照は、静的ポインタまたは動的ポインタである請求項29から32のいずれか1項に記載の方法。
- 前記修正するステップが、
前記第1のデータ・アイテムへの前記参照の複製を作成するステップと、
前記決定されたメモリを示すように前記複製を修正するステップとを含む請求項31に記載の方法。 - 前記決定されたメモリを示すように前記複製を前記修正するステップは、前記決定されたメモリに関連付けられている前記コンテキスト・レベルを示すように前記複製を修正するステップを含む請求項34に記載の方法。
- 前記決定されたメモリに関連付けられている前記コンテキスト・レベルの指示は、前記コンピュータ・プログラム・コードの前記第1の部分が出現するコンテキスト・レベルの指示である請求項35に記載の方法。
- 前記複数のデータ・アイテム内の少なくとも1つのデータ・アイテムは、関数である請求項29から36のいずれか1項に記載の方法。
- コンピュータ・プログラム・コードを複数の記憶空間を備える環境内で実行するのに適したコードにするための方法であって、前記コンピュータ・プログラム・コードは、前記記憶空間のうちの1つの記憶空間への参照を含む少なくとも1つの型定義を備え、
前記記憶空間のうちの前記1つの記憶空間への前記参照を前記記憶空間のうちの別の1つの記憶空間への参照と置き換えることによって前記型定義のコピーを作成するステップをコンピュータに実行させる方法。 - 前記型定義は、struct型、union型、またはクラスのうちの1つを定義する請求項38に記載の方法。
- コンピュータが請求項1から39のいずれか1項に記載の方法を実行することを引き起こすようになされたコンピュータ可読命令を備えるコンピュータ・プログラム。
- 請求項40に記載のコンピュータ・プログラムを収めるコンピュータ可読記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0911099.0 | 2009-06-26 | ||
GBGB0911099.0A GB0911099D0 (en) | 2009-06-26 | 2009-06-26 | Processing method |
PCT/GB2010/001145 WO2010149949A2 (en) | 2009-06-26 | 2010-06-11 | Processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012530995A JP2012530995A (ja) | 2012-12-06 |
JP5851396B2 true JP5851396B2 (ja) | 2016-02-03 |
Family
ID=41008327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012516839A Active JP5851396B2 (ja) | 2009-06-26 | 2010-06-11 | 処理方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8949805B2 (ja) |
EP (2) | EP2523108B1 (ja) |
JP (1) | JP5851396B2 (ja) |
GB (1) | GB0911099D0 (ja) |
WO (1) | WO2010149949A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262250B2 (en) | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
US9087154B1 (en) | 2011-12-12 | 2015-07-21 | Crashlytics, Inc. | System and method for providing additional functionality to developer side application in an integrated development environment |
US9703680B1 (en) | 2011-12-12 | 2017-07-11 | Google Inc. | System and method for automatic software development kit configuration and distribution |
US9195443B2 (en) | 2012-01-18 | 2015-11-24 | International Business Machines Corporation | Providing performance tuned versions of compiled code to a CPU in a system of heterogeneous cores |
EP2624134A3 (en) * | 2012-01-31 | 2014-03-19 | MIMOON GmbH | Method and apparatus for mapping a communication system on a multicore processor |
JP2014038433A (ja) * | 2012-08-14 | 2014-02-27 | Nec Corp | 描画プログラム変換装置、情報処理装置、及び描画プログラム変換装置の制御方法、並びにコンピュータ・プログラム |
US8966203B2 (en) | 2013-01-04 | 2015-02-24 | Microsoft Corporation | Shared and managed memory unified access |
US9323693B2 (en) | 2013-01-04 | 2016-04-26 | Microsoft Technology Licensing, Llc | Zero-copy caching |
US9053028B2 (en) * | 2013-01-04 | 2015-06-09 | Microsoft Technology Licensing Llc | Type casting in a managed code system |
US9189446B2 (en) | 2013-01-04 | 2015-11-17 | Microsoft Technology Licensing, Llc | Immutable sharable zero-copy data and streaming |
US9158513B2 (en) * | 2013-08-27 | 2015-10-13 | International Business Machines Corporation | Preprocessing kernel print commands |
US9361071B2 (en) * | 2013-11-15 | 2016-06-07 | Logics Research Centre | Implicit parameters and implicit arguments in programming languages |
US9619215B2 (en) * | 2014-11-26 | 2017-04-11 | Sap Se | Pre-compiler |
US10706233B2 (en) * | 2015-03-06 | 2020-07-07 | M-Files Oy | System and method for extracting and utilizing information from digital communications |
US10120661B2 (en) * | 2015-07-16 | 2018-11-06 | Sugarcrm Inc. | Multi-flavored software execution from a singular code base |
US10261763B2 (en) * | 2016-12-13 | 2019-04-16 | Palantir Technologies Inc. | Extensible data transformation authoring and validation system |
JP6922583B2 (ja) * | 2017-09-15 | 2021-08-18 | オムロン株式会社 | 情報処理装置、情報処理方法、および、情報処理プログラム |
US11068281B2 (en) | 2018-03-02 | 2021-07-20 | Fastly, Inc. | Isolating applications at the edge |
JP6969460B2 (ja) * | 2018-03-15 | 2021-11-24 | オムロン株式会社 | プログラム開発支援システム、プログラム開発支援方法及びプログラム開発支援プログラム |
KR20200053318A (ko) * | 2018-11-08 | 2020-05-18 | 삼성전자주식회사 | 인공 신경망의 연산 처리 그래프를 관리하는 시스템 및 이를 이용한 연산 처리 그래프를 관리하는 방법 |
CN110865814B (zh) * | 2019-10-30 | 2021-11-16 | 上海天数智芯半导体有限公司 | 一种支持异构计算核架构的编译器实现方法和系统 |
CN113254070B (zh) | 2020-02-07 | 2024-01-02 | 阿里巴巴集团控股有限公司 | 加速单元、片上系统、服务器、数据中心和相关方法 |
CN113485714A (zh) * | 2021-07-26 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备以及存储介质 |
CN113608747B (zh) * | 2021-08-18 | 2024-04-02 | 南京航空航天大学 | 一种基于图卷积神经网络的软件缺陷预测方法及终端 |
US20240095052A1 (en) * | 2022-09-16 | 2024-03-21 | Meta Platforms, Inc. | Machine Learning with Dynamic Bytecode Transformation |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
JP2560491B2 (ja) * | 1989-10-03 | 1996-12-04 | 日本電気株式会社 | 並列化手続き実行方式 |
JP2576659B2 (ja) * | 1990-02-20 | 1997-01-29 | 日本電気株式会社 | タスク内共通領域の割当て方式 |
JPH03282826A (ja) * | 1990-03-30 | 1991-12-13 | Nec Corp | 並列化翻訳方式 |
JPH05204656A (ja) * | 1991-11-30 | 1993-08-13 | Toshiba Corp | スレッド固有データ保持方法 |
US5940621A (en) * | 1996-01-23 | 1999-08-17 | Hewlett-Packard Company | Language independent optimal size-based storage allocation |
JP2882475B2 (ja) * | 1996-07-12 | 1999-04-12 | 日本電気株式会社 | スレッド実行方法 |
JP3608993B2 (ja) * | 1999-11-10 | 2005-01-12 | 富士通株式会社 | コンパイラ装置及びコンパイラプログラムを記録した記録媒体 |
US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
JP2002073579A (ja) * | 2000-08-29 | 2002-03-12 | Hitachi Ltd | 分散共有メモリ向けコンパイル方法 |
JP2002116917A (ja) * | 2000-10-05 | 2002-04-19 | Fujitsu Ltd | オブジェクト指向型プログラミング言語によるソース・プログラムをコンパイルするコンパイラ |
US7222332B2 (en) * | 2002-10-24 | 2007-05-22 | International Business Machines Corporation | Method and apparatus for overlay management within an integrated executable for a heterogeneous architecture |
US7243333B2 (en) | 2002-10-24 | 2007-07-10 | International Business Machines Corporation | Method and apparatus for creating and executing integrated executables in a heterogeneous architecture |
JP3901180B2 (ja) * | 2004-06-30 | 2007-04-04 | 日本電気株式会社 | プログラム並列化装置及びその方法並びにプログラム |
US8397224B2 (en) * | 2004-09-13 | 2013-03-12 | The Mathworks, Inc. | Methods and system for executing a program in multiple execution environments |
US20060123401A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Method and system for exploiting parallelism on a heterogeneous multiprocessor computer system |
US7765528B2 (en) * | 2005-09-21 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Identifying sources of memory retention |
JP5119590B2 (ja) * | 2005-11-10 | 2013-01-16 | 富士通セミコンダクター株式会社 | マルチプロセッサを有するプロセッサ装置用のタスク分配プログラム及びタスク分配装置 |
JP4830108B2 (ja) * | 2006-01-17 | 2011-12-07 | 国立大学法人東京工業大学 | プログラム処理装置、プログラム処理方法、並列処理プログラム用コンパイラおよび並列処理プログラム用コンパイラを格納した記録媒体 |
GB0601566D0 (en) * | 2006-01-26 | 2006-03-08 | Codeplay Software Ltd | A parallelization system and compiler for use in such a system |
US20080005473A1 (en) * | 2006-06-30 | 2008-01-03 | Tong Chen | Compiler assisted re-configurable software implemented cache |
US20080005728A1 (en) * | 2006-06-30 | 2008-01-03 | Robert Paul Morris | Methods, systems, and computer program products for enabling cross language access to an addressable entity in an execution environment |
US8522223B2 (en) * | 2006-11-22 | 2013-08-27 | Intel Corporation | Automatic function call in multithreaded application |
US8108845B2 (en) * | 2007-02-14 | 2012-01-31 | The Mathworks, Inc. | Parallel programming computing system to dynamically allocate program portions |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
JP5045307B2 (ja) * | 2007-08-27 | 2012-10-10 | トヨタ自動車株式会社 | マルチコアシステム、電子制御ユニット、モータecu、制御システム、命令実行方法 |
US8352921B2 (en) * | 2007-11-02 | 2013-01-08 | Klocwork Corp. | Static analysis defect detection in the presence of virtual function calls |
-
2009
- 2009-06-26 GB GBGB0911099.0A patent/GB0911099D0/en not_active Ceased
-
2010
- 2010-06-11 EP EP11010309.0A patent/EP2523108B1/en active Active
- 2010-06-11 WO PCT/GB2010/001145 patent/WO2010149949A2/en active Application Filing
- 2010-06-11 JP JP2012516839A patent/JP5851396B2/ja active Active
- 2010-06-11 US US13/379,566 patent/US8949805B2/en active Active
- 2010-06-11 EP EP18198658.9A patent/EP3467645A1/en not_active Ceased
-
2014
- 2014-12-15 US US14/570,811 patent/US9471291B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2010149949A3 (en) | 2011-04-14 |
EP2523108A1 (en) | 2012-11-14 |
US8949805B2 (en) | 2015-02-03 |
JP2012530995A (ja) | 2012-12-06 |
US9471291B2 (en) | 2016-10-18 |
WO2010149949A2 (en) | 2010-12-29 |
EP2523108B1 (en) | 2018-11-14 |
EP3467645A1 (en) | 2019-04-10 |
US20120110559A1 (en) | 2012-05-03 |
US20150100949A1 (en) | 2015-04-09 |
GB0911099D0 (en) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5851396B2 (ja) | 処理方法 | |
JP4841118B2 (ja) | ソフトウェア開発インフラストラクチャ | |
US6247174B1 (en) | Optimization of source code with embedded machine instructions | |
US7530061B2 (en) | Programmatic access to the widest mode floating-point arithmetic supported by a processor | |
Treichler et al. | Language support for dynamic, hierarchical data partitioning | |
JP5893038B2 (ja) | ユーザ定義型のコンパイル時境界検査 | |
EP2315118B1 (en) | Method and apparatus for enabling parallel processing during execution of a cobol source program using two-stage compilation | |
US8843920B2 (en) | Systems and methods for deferring software implementation decisions until load time | |
Grimmer et al. | Cross-language interoperability in a multi-language runtime | |
Biboudis et al. | Recaf: Java dialects as libraries | |
Tanaka et al. | Safe low-level code generation in Coq using monomorphization and monadification | |
Hanus et al. | A modular and generic analysis server system for functional logic programs | |
Pestov et al. | Factor: A dynamic stack-based programming language | |
Harvey et al. | Parallel programming in actor-based applications via OpenCL | |
Poss | SL: a" quick and dirty" but working intermediate language for SVP systems | |
Roubinchtein | IR-MetaOCaml:(re) implementing MetaOCaml | |
Åkesson | An LLVM Back-end for REPLICA: Code Generation for a Multi-core VLIWProcessor with Chaining | |
Wong | Parallel evaluation of functional programs | |
Nobre et al. | Hardware/Software Compilation | |
Hagedorn | Value Type Support in a Just-in-Time Compiler | |
Suzuki | Translating java bytecode to BoogiePL | |
Veiga | Light programming language | |
Dotzler | Run–Time Parallelization of OpenMP/Java-Programs for the Execution on GPUs | |
Reedy | Compiling Scala to LLVM | |
Simulator | XMT Toolchain Manual for XMTC Language, XMTC Compiler, XMT Simulator and Paraleap XMT FPGA Computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140528 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150312 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150413 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150608 |
|
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: 20151104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5851396 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |