JP7804688B2 - マルチアーキテクチャヘテロジニアスコンピューティングのための実行可能コードの動的割り振り - Google Patents
マルチアーキテクチャヘテロジニアスコンピューティングのための実行可能コードの動的割り振りInfo
- Publication number
- JP7804688B2 JP7804688B2 JP2023548318A JP2023548318A JP7804688B2 JP 7804688 B2 JP7804688 B2 JP 7804688B2 JP 2023548318 A JP2023548318 A JP 2023548318A JP 2023548318 A JP2023548318 A JP 2023548318A JP 7804688 B2 JP7804688 B2 JP 7804688B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- processing unit
- caller
- instruction set
- executable instruction
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
Description
本出願は、2021年2月10日に出願された米国特許出願第17/172,134号、ここでは2021年9月7日に米国特許第11,113,059号として発行されたものの優先権の利益を主張するものであり、参照により、その内容全体が本明細書に組み込まれる。
Claims (21)
- ソフトウェアプログラム(101)を実行するための装置(200)であって、
複数のプロセッシングユニット(210,220)及び少なくとも1つのハードウェアプロセッサ(201)を備え、
前記少なくとも1つのハードウェアプロセッサは、
複数のブロックを備える前記ソフトウェアプログラムの中間表現(102)であって、各ブロックが、前記ソフトウェアプログラムの複数の実行ブロックのうちの1つに関連付けられ、中間命令セットを備える、中間表現において、ターゲット側ブロック(121)の少なくとも1つのターゲット側中間命令を実行するために少なくとも1つの制御フロー中間命令を備える呼び出し側ブロック(111)と、前記ターゲット側ブロック(121)と、を識別し(301)、
前記ターゲット側ブロックを使用して、ターゲット側実行可能命令セット(122)を生成し(311)、
呼び出し側実行可能命令セットが前記複数のプロセッシングユニットの呼び出し側プロセッシングユニット(210)によって実行され、前記ターゲット側実行可能命令セットが前記複数のプロセッシングユニットのターゲット側プロセッシングユニット(220)によって実行される場合、前記呼び出し側ブロックを使用して、そして前記ターゲット側実行可能命令セットを呼び出すための少なくとも1つのコンピュータ制御命令を使用して、前記呼び出し側実行可能命令セット(122)を生成し(313)、
前記呼び出し側実行可能命令セットを実行するように前記呼び出し側プロセッシングユニットを構成し(321)、
前記ターゲット側実行可能命令セットを実行するように前記ターゲット側プロセッシングユニットを構成する(323)、
ように適合される、装置。 - 前記ターゲット側プロセッシングユニットは、前記ターゲット側プロセッシングユニットが前記ターゲット側実行可能命令セットのうちの少なくともいくつかを実行する(402)ことによって生成された少なくとも1つの値を、前記呼び出し側プロセッシングユニットに提供する(410)ようにさらに構成される、請求項1に記載の装置。
- 前記呼び出し側プロセッシングユニットは、前記ターゲット側プロセッシングユニットが前記ターゲット側実行可能命令セットのうちの少なくともいくつかを実行することによって生成された前記少なくとも1つの値を、前記呼び出し側プロセッシングユニットから受信する(413)ようにさらに構成される、請求項2に記載の装置。
- 前記呼び出し側プロセッシングユニットは、前記ターゲット側プロセッシングユニットに少なくとも1つの引数の値を提供する(410)ようにさらに構成される、請求項1に記載の装置。
- 前記ターゲット側プロセッシングユニットは、前記ターゲット側実行可能命令セットのうちの少なくともいくつかの他のものを実行した後、前記呼び出し側実行可能命令セットのうちの少なくともいくつかを実行するよう前記呼び出し側プロセッシングユニットに指令する(420)ようにさらに構成される、請求項1に記載の装置。
- 前記呼び出し側プロセッシングユニットは、さらに、
前記ターゲット側実行可能命令セットを呼び出すための前記少なくとも1つのコンピュータ制御命令を実行した後、前記呼び出し側実行可能命令セットの実行をサスペンドし、
前記ターゲット側プロセッシングユニットからの命令を受信することに応答して、前記呼び出し側実行可能命令セットのうちの前記少なくともいくつかを実行する(422)、
ように構成される、請求項5に記載の装置。 - 前記ターゲット側プロセッシングユニットは、中央処理装置、マルチコア中央処理装置(CPU)、データプロセッシングユニット(DPU)、マイクロコントローラユニット(MCU)、アクセラレーテッドプロセッシングユニット(ACU)、フィールドプログラマブルゲートアレイ(FPGA)、粗粒度再構成可能アーキテクチャ(CGRA)、ニューラルネットワークアクセラレータ、インテリジェンスプロセッシングユニット(IPU)、特定用途向け集積回路(ASIC)、量子コンピュータ、及び複数の構成可能データルーティングジャンクションによって接続された複数の再構成可能ロジック素子を備える相互接続されたコンピューティンググリッドからなるプロセッシングユニットの群から選択される、請求項1に記載の装置。
- 前記呼び出し側プロセッシングユニットの第1のコンピュータアーキテクチャは、前記ターゲット側プロセッシングユニットの第2のコンピュータアーキテクチャとは異なる、請求項1に記載の装置。
- 前記第1のコンピュータアーキテクチャ及び前記第2のコンピュータアーキテクチャのうちの少なくとも1つは、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、x86ファミリーベースのコンピュータアーキテクチャ、IBM(登録商標)(International Business Machine)Powerファミリーベースのコンピュータアーキテクチャ、及びARMファミリーベースのコンピュータアーキテクチャからなるコンピュータアーキテクチャの群から選択される、請求項8に記載の装置。
- 前記呼び出し側実行可能命令セットは、前記呼び出し側プロセッシングユニットの前記第1のコンピュータアーキテクチャと前記ターゲット側プロセッシングユニットの前記第2のコンピュータアーキテクチャとの間で変換するために、前記少なくとも1つの制御フロー中間命令に適用されたアプリケーションバイナリインタフェースを実装する、複数の変換命令を備える、請求項8に記載の装置。
- 前記ターゲット側ブロックは複数のターゲット側メタデータ値を備え、
前記ターゲット側実行可能命令セットを生成することは、前記ターゲット側プロセッシングユニットの前記第2のコンピュータアーキテクチャに従って前記複数のターゲット側メタデータ値を使用して変換された複数のターゲット側メタデータ値を生成することを備える、請求項8に記載の装置。 - 前記呼び出し側実行可能命令セットは、アプリケーションメモリアドレスの識別範囲内の少なくとも1つのメモリアドレスへの少なくとも1つの第1のメモリアクセス命令を備え、
前記ターゲット側実行可能命令セットは、前記アプリケーションメモリアドレスの前記識別範囲内の少なくとも1つの他のメモリアドレスへの少なくとも1つの第2のメモリアクセス命令を備える、請求項1に記載の装置。 - 前記アプリケーションメモリアドレスの前記識別範囲は、物理メモリアドレス範囲、仮想メモリアドレス範囲、メモリマップド入出力アドレス範囲、及びバスアドレス範囲のうちの1つである、請求項12に記載の装置。
- 前記呼び出し側実行可能命令セットは、少なくとも1つのデバイスに関連付けられた少なくとも1つのデバイスハンドルを使用して、前記少なくとも1つのデバイスにアクセスすることを備え、
前記ターゲット側実行可能命令セットは、前記少なくとも1つのデバイスハンドルを使用して前記少なくとも1つのデバイスにアクセスすることを備える、請求項1に記載の装置。 - 前記少なくとも1つのデバイスハンドルは、ネットワークソケットハンドル、オペレーティングシステムカーネルオブジェクトハンドル、及びファイル記述子のうちの少なくとも1つである、請求項14に記載の装置。
- 前記少なくとも1つのハードウェアプロセッサは、
前記ソフトウェアプログラムの少なくとも一部を実行中に複数の統計値を収集し(330)、
前記複数の統計値に従って前記呼び出し側ブロック及び前記ターゲット側ブロックを識別する(301)、
ようにさらに適合される、請求項1に記載の装置。 - 前記複数の統計値のうちの少なくとも1つは、制御フロー命令を実行するアウトカム、前記ソフトウェアプログラムの変数のデータ値、メモリアクセスパターン、及びメモリ仮想アドレス変換のうちの1つを示す、請求項16に記載の装置。
- 前記少なくとも1つのハードウェアプロセッサは、
前記複数の統計値を収集する目的のために、前記ソフトウェアプログラムの前記中間表現に複数のテレメトリ中間命令を挿入するようにさらに適合される、請求項16に記載の装置。 - 前記呼び出し側プロセッシングユニットは、前記少なくとも1つのハードウェアプロセッサである、請求項1に記載の装置。
- ソフトウェアプログラム(101)を実行するための方法(300)であって、
複数のブロックを備える前記ソフトウェアプログラムの中間表現であって、各ブロックが、前記ソフトウェアプログラムの複数の実行ブロックのうちの1つに関連付けられ、中間命令セットを備える、中間表現において、ターゲット側ブロックを実行する少なくとも1つのプロセッシングユニット(210,220)に、前記ターゲット側ブロックの少なくとも1つのターゲット側中間命令を実行させる少なくとも1つの制御フロー中間命令を備える呼び出し側ブロック(111)と、前記ターゲット側ブロック(121)と、を、少なくとも1つのコンピュータ処理プロセッサによって識別し(301)、
前記少なくとも1つのコンピュータ処理プロセッサによって、前記ターゲット側ブロックを使用して、ターゲット側実行可能命令セット(112)を生成し(311)、
呼び出し側実行可能命令セットが複数のプロセッシングユニット(210,220)のうちの呼び出し側プロセッシングユニット(210)によって実行され、前記ターゲット側実行可能命令セットが前記複数のプロセッシングユニットのうちのターゲット側プロセッシングユニット(220)によって実行される場合、前記少なくとも1つのコンピュータ処理プロセッサによって、前記呼び出し側ブロックを使用して、そして前記ターゲット側実行可能命令セットを呼び出すための少なくとも1つのコンピュータ制御命令を使用して、前記呼び出し側実行可能命令セット(112)を生成し(313)、
前記少なくとも1つのコンピュータ処理プロセッサによって、前記呼び出し側実行可能命令セットを実行するように前記呼び出し側プロセッシングユニットを構成し(321)、
前記少なくとも1つのコンピュータ処理プロセッサによって、前記ターゲット側実行可能命令セットを実行するように前記ターゲット側プロセッシングユニットを構成する(323)、
ことを備える、方法。 - ソフトウェアプログラムであって、
複数のブロックを備える前記ソフトウェアプログラムの中間表現であって、各ブロックが、前記ソフトウェアプログラムの複数の実行ブロックのうちの1つに関連付けられ、中間命令セットを備える、中間表現において、少なくとも1つのコンピュータ処理プロセッサに呼び出し側ブロックとターゲット側ブロックとを識別させる第1のプログラム命令であって、前記呼び出し側ブロックは、前記ターゲット側ブロックを実行する少なくとも1つのプロセッシングユニットに前記ターゲット側ブロックの少なくとも1つのターゲット側中間命令を実行させる少なくとも1つの制御フロー中間命令を備える、第1のプログラム命令と、
前記少なくとも1つのコンピュータ処理プロセッサに前記ターゲット側ブロックを使用して、ターゲット側実行可能命令セットを生成させる第2のプログラム命令と、
呼び出し側実行可能命令セットが複数のプロセッシングユニットのうちの呼び出し側プロセッシングユニットによって実行され、前記ターゲット側実行可能命令セットが前記複数のプロセッシングユニットのうちのターゲット側プロセッシングユニットによって実行される場合、前記少なくとも1つのコンピュータ処理プロセッサに、前記呼び出し側ブロックを使用して、そして前記ターゲット側実行可能命令セットを呼び出すための少なくとも1つのコンピュータ制御命令を使用して、前記呼び出し側実行可能命令セットを生成させる第3のプログラム命令と、
前記少なくとも1つのコンピュータ処理プロセッサに前記呼び出し側実行可能命令セットを実行するように前記呼び出し側プロセッシングユニットを構成させる第4のプログラム命令と、
前記少なくとも1つのコンピュータ処理プロセッサに前記ターゲット側実行可能命令セットを実行するように前記ターゲット側プロセッシングユニットを構成させる第5のプログラム命令と、
を備える、ソフトウェアプログラム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/172,134 | 2021-02-10 | ||
| US17/172,134 US11113059B1 (en) | 2021-02-10 | 2021-02-10 | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
| PCT/IL2022/050137 WO2022172263A1 (en) | 2021-02-10 | 2022-02-01 | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2024506642A JP2024506642A (ja) | 2024-02-14 |
| JP2024506642A5 JP2024506642A5 (ja) | 2025-01-31 |
| JP7804688B2 true JP7804688B2 (ja) | 2026-01-22 |
Family
ID=77558901
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023548318A Active JP7804688B2 (ja) | 2021-02-10 | 2022-02-01 | マルチアーキテクチャヘテロジニアスコンピューティングのための実行可能コードの動的割り振り |
Country Status (6)
| Country | Link |
|---|---|
| US (4) | US11113059B1 (ja) |
| EP (1) | EP4291981A1 (ja) |
| JP (1) | JP7804688B2 (ja) |
| KR (1) | KR20230138031A (ja) |
| CN (1) | CN117120971A (ja) |
| WO (1) | WO2022172263A1 (ja) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11113059B1 (en) | 2021-02-10 | 2021-09-07 | Next Silicon Ltd | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
| US11734187B2 (en) * | 2021-12-14 | 2023-08-22 | International Business Machines Corporation | Validating memory access patterns of static program code |
| CN115033288B (zh) * | 2022-07-06 | 2025-05-16 | 上海芯竹科技有限公司 | 一种高速模拟非目标指令集的系统及方法 |
| CN116842994B (zh) * | 2023-07-03 | 2024-03-01 | 上海交通大学 | 多神经网络执行效率动态优化方法及系统 |
| CN118069581B (zh) * | 2024-01-18 | 2025-08-01 | 遇贤微电子(广州)有限公司 | 基于芯粒技术的处理器及其运行方法、电子设备、介质 |
| US12197919B1 (en) * | 2024-06-17 | 2025-01-14 | Next Silicon Ltd | Dynamic software interface translation for computing in a heterogeneous environment |
| US12333231B1 (en) | 2024-11-03 | 2025-06-17 | Next Silicon Ltd. | Reconfigurable integrated circuit (IC) device and a system and method of configuring thereof |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007334643A (ja) | 2006-06-15 | 2007-12-27 | Renesas Technology Corp | プログラム実行方法、プログラム、およびプログラム実行システム |
| WO2010019254A1 (en) | 2008-08-13 | 2010-02-18 | TransCella, Inc. | Software application performance enhancement |
| JP2011028705A (ja) | 2009-07-24 | 2011-02-10 | Tops Systems:Kk | プロセッサの並列ソフトウェア実行方式 |
| US20160364216A1 (en) | 2015-06-15 | 2016-12-15 | Qualcomm Incorporated | Generating object code from intermediate code that includes hierarchical sub-routine information |
| JP2019144857A (ja) | 2018-02-21 | 2019-08-29 | 富士通株式会社 | 情報処理装置、コンパイル方法およびコンパイルプログラム |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5734908A (en) * | 1995-05-31 | 1998-03-31 | Silicon Graphics, Inc. | System and method for optimizing a source code representation as a function of resource utilization |
| US6802056B1 (en) * | 1999-06-30 | 2004-10-05 | Microsoft Corporation | Translation and transformation of heterogeneous programs |
| US6609248B1 (en) * | 1999-06-30 | 2003-08-19 | Microsoft Corporation | Cross module representation of heterogeneous programs |
| US7240059B2 (en) | 2002-11-14 | 2007-07-03 | Seisint, Inc. | System and method for configuring a parallel-processing database system |
| GB0309056D0 (en) * | 2003-04-22 | 2003-05-28 | Transitive Technologies Ltd | Block translation optimizations for program code conversion |
| US20050055594A1 (en) * | 2003-09-05 | 2005-03-10 | Doering Andreas C. | Method and device for synchronizing a processor and a coprocessor |
| US20050149915A1 (en) * | 2003-12-29 | 2005-07-07 | Intel Corporation | Methods and apparatus for optimizing a program undergoing dynamic binary translation using profile information |
| US20080163183A1 (en) * | 2006-12-29 | 2008-07-03 | Zhiyuan Li | Methods and apparatus to provide parameterized offloading on multiprocessor architectures |
| US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
| US8055782B2 (en) | 2008-10-13 | 2011-11-08 | International Business Machines Corporation | System and method for generating exception delay messages when messages are delayed |
| US20100153934A1 (en) * | 2008-12-12 | 2010-06-17 | Peter Lachner | Prefetch for systems with heterogeneous architectures |
| US8719635B2 (en) | 2012-01-06 | 2014-05-06 | International Business Machines Corporation | Cost effective use of simulated storage in a storage subsystem test environment |
| US20150046679A1 (en) * | 2013-08-07 | 2015-02-12 | Qualcomm Incorporated | Energy-Efficient Run-Time Offloading of Dynamically Generated Code in Heterogenuous Multiprocessor Systems |
| US10402176B2 (en) * | 2017-12-27 | 2019-09-03 | Intel Corporation | Methods and apparatus to compile code to generate data flow code |
| US10929129B2 (en) * | 2019-06-29 | 2021-02-23 | Intel Corporation | Apparatus and method for modifying addresses, data, or program code associated with offloaded instructions |
| US11016766B2 (en) * | 2019-06-29 | 2021-05-25 | Intel Corporation | Apparatus and method for compiler hints for inter-core offload |
| US11005970B2 (en) | 2019-07-24 | 2021-05-11 | EMC IP Holding Company LLC | Data storage system with processor scheduling using distributed peek-poller threads |
| US11113059B1 (en) | 2021-02-10 | 2021-09-07 | Next Silicon Ltd | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
-
2021
- 2021-02-10 US US17/172,134 patent/US11113059B1/en active Active
- 2021-08-19 US US17/406,151 patent/US11630669B2/en active Active
-
2022
- 2022-02-01 JP JP2023548318A patent/JP7804688B2/ja active Active
- 2022-02-01 KR KR1020237030581A patent/KR20230138031A/ko active Pending
- 2022-02-01 EP EP22704594.5A patent/EP4291981A1/en active Pending
- 2022-02-01 CN CN202280027434.3A patent/CN117120971A/zh active Pending
- 2022-02-01 WO PCT/IL2022/050137 patent/WO2022172263A1/en not_active Ceased
-
2023
- 2023-03-29 US US18/127,719 patent/US12189412B2/en active Active
-
2024
- 2024-12-24 US US19/000,775 patent/US20250130802A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007334643A (ja) | 2006-06-15 | 2007-12-27 | Renesas Technology Corp | プログラム実行方法、プログラム、およびプログラム実行システム |
| WO2010019254A1 (en) | 2008-08-13 | 2010-02-18 | TransCella, Inc. | Software application performance enhancement |
| JP2011028705A (ja) | 2009-07-24 | 2011-02-10 | Tops Systems:Kk | プロセッサの並列ソフトウェア実行方式 |
| US20160364216A1 (en) | 2015-06-15 | 2016-12-15 | Qualcomm Incorporated | Generating object code from intermediate code that includes hierarchical sub-routine information |
| WO2016204865A1 (en) | 2015-06-15 | 2016-12-22 | Qualcomm Incorporated | Generating object code from intermediate code that includes hierarchical sub-routine information |
| JP2019144857A (ja) | 2018-02-21 | 2019-08-29 | 富士通株式会社 | 情報処理装置、コンパイル方法およびコンパイルプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US11630669B2 (en) | 2023-04-18 |
| US20230229444A1 (en) | 2023-07-20 |
| JP2024506642A (ja) | 2024-02-14 |
| KR20230138031A (ko) | 2023-10-05 |
| US20250130802A1 (en) | 2025-04-24 |
| EP4291981A1 (en) | 2023-12-20 |
| US12189412B2 (en) | 2025-01-07 |
| WO2022172263A1 (en) | 2022-08-18 |
| US11113059B1 (en) | 2021-09-07 |
| US20220253312A1 (en) | 2022-08-11 |
| CN117120971A (zh) | 2023-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7804688B2 (ja) | マルチアーキテクチャヘテロジニアスコンピューティングのための実行可能コードの動的割り振り | |
| ES2933675T3 (es) | Sistemas, métodos y aparatos para informática heterogénea | |
| CN109597684B (zh) | 处理器中的动态性能偏置 | |
| CN110032395B (zh) | 用于提高资源利用率的统一寄存器文件 | |
| CN117940895A (zh) | 具有可编程直接存储器访问和扩展防护/转储清除操作的指令集架构 | |
| CN111279308B (zh) | 代码转换期间的屏障减少 | |
| BR102020019663A2 (pt) | algoritmo de remoção de linha de cache à base de prioridade de tecnologia de alocação de cache flexível | |
| Laccetti et al. | The high performance internet of things: using GVirtuS to share high-end GPUs with ARM based cluster computing nodes | |
| US20220197858A1 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
| CN103620554B (zh) | 别名化缓冲区 | |
| Hormati et al. | Macross: Macro-simdization of streaming applications | |
| Jann et al. | IBM POWER9 system software | |
| Li et al. | A comparative analysis of RTOS and linux scalability on an embedded many-core processor | |
| US12197919B1 (en) | Dynamic software interface translation for computing in a heterogeneous environment | |
| Bhat et al. | Enabling support for zero copy semantics in an Asynchronous Task-based Programming Model | |
| Kiyanclar | A survey of virtualization techniques focusing on secure on-demand cluster computing | |
| Wang et al. | TPS: an efficient VM scheduling algorithm for HPC applications in cloud | |
| Halli et al. | Performance comparison between Java and JNI for optimal implementation of computational micro-kernels | |
| Peña et al. | Ucx programming interface for remote function injection and invocation | |
| Alyas et al. | Gpgpu virtualization techniques a comparative survey | |
| Gerangelos et al. | vphi: Enabling xeon phi capabilities in virtual machines | |
| Klimiankou | Design and implementation of port-mapped IO management subsystem and kernel Interface for true microkernels on IA-32 processors | |
| Rajwar et al. | Specialized Evolution of the General Purpose CPU. | |
| Wang | Central processing unit | |
| Zilberman | Technical perspective: hXDP: Light and efficient packet processing offload |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20231005 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20231004 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250123 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250123 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250820 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250909 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251208 |
|
| 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: 20251216 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260109 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7804688 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |