JP2010146577A - 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス - Google Patents
高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス Download PDFInfo
- Publication number
- JP2010146577A JP2010146577A JP2009297725A JP2009297725A JP2010146577A JP 2010146577 A JP2010146577 A JP 2010146577A JP 2009297725 A JP2009297725 A JP 2009297725A JP 2009297725 A JP2009297725 A JP 2009297725A JP 2010146577 A JP2010146577 A JP 2010146577A
- Authority
- JP
- Japan
- Prior art keywords
- file
- flow graph
- hardware
- bitstream
- cfg
- 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
Links
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/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Abstract
【解決手段】上位レベルのドライバは、コンパイル段階で、生成されているCFC表現を、ハードウェア記述表現に処理され得る最適化されたパイプラインロジックを表わすハイブリッド制御フローデータフローグラフ表現に翻訳する。ドライバは、再構成可能なコンピュータのためのビットストリームを生成するために必要とされるネットリストファイルを生成する。コンパイルドライバからの出力を取得し、かつ命令プロセッサおよび再構成可能なプロセッサの双方で実行することのできる統一された実行可能要素を生成するためにすべての必要な構成要素を互いに結合するためのサポートを与える。
【選択図】図1
Description
この特許文献の開示の一部には、著作権保護の対象となる資料が含まれる。著作権所有者は、米国特許商標局の特許ファイルまたは特許記録に現われるように、特許開示の特許文献の何人による複製にも異議を唱えないが、それ以外ではいかなるすべての著作権を保有する。以下の表示は、適用可能であれは図面を含む以下に記載のソフトウェアおよびデータに適用される。(C)2002 エス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)
発明の背景
発明の分野
本発明は一般的に、高級言語プログラムをハイブリッドの再構成可能なハードウェア命令プロセッサの計算環境で動作するように適合させることに関する。より特定的に、本発明は、高級言語プログラムをハイブリッドの再構成可能なハードウェア命令プロセッサコンピュータで実行することのできる統一された実行可能要素に変換することに関する。
命令プロセッサが処理能力を急速に向上させ続ける中で、命令プロセッサはかつてスーパーコンピュータのみによって行なわれていたコンピュータを多用する計算を行なうために用いられることが多くなった。しかしながら、たとえば、現代の命令プロセッサで行なうにはまだ実用的でない、数値計算のイメージ処理および流体力学的なシミュレーションを含むコンピュータを多用するタスクが存在する。
本発明の一実施例は、高級言語ソフトコードを統一された実行可能要素に変換する方法を含み、上記方法は、高級言語ソースコードの再構成可能なハードウェア部分からオブジェクトファイルを生成するステップと、オブジェクトファイルを統一された実行可能な要素に統合するステップとを含む。
ータフローグラフ表現の再構成可能なハードウェア部分をハードウェア定義言語ファイルに変換するための制御データフローグラフからハードウェア定義言語へのコンバータと、ハードウェア定義言語ファイルをビットストリームファイルに変換するためのハードウェア定義言語からビットストリームへのコンバータと、ビットストリームファイルをビットストリームオブジェクトファイルに変換するためのビットストリームからオブジェクトファイルへのコンバータと、ビットストリームオブジェクトファイルを統一された実行可能要素に統合するためのリンカとを含む。
システムの概観
ここで図1を参照すると、高級プログラミング言語で書かれたプログラムを、統一された実行可能要素に変換するためのハイブリッドの再構成可能なハードウェア命令プロセッサシステム100の実施例が示されている。一実施例において、システム100の再構成可能なハードウェア部分は、多重適応プロセッサ(MAP)を含み得、これはフィールド・プログラマブル・ゲートアレイ(FPGA)の再構成可能な回路をロジックと統合して、FPGAを制御し、システム100の命令プロセッサ部分と通信し得る。別の実施例において、システム100における再構成可能なハードウェアおよび命令プロセッサ間の電子通信は、スイッチ/ネットワークアダプタポートおよび/または多重MAPを命令プロセッサにリンクするためのスイッチの使用を含み得る。
換と、コードブロックにおけるスカラ参照の処理と、コードブロックにおけるアレイ参照の処理と、ループ制御の構成と、ポインタ参照の処理と、命令プロセッサコードへのコールの処理と、命令プロセッサOSへのシステムコールの処理と、組込関数コールの拡張と、外部関数コールの拡張と、ループの最適化と、マルチスレッドの最適化と、データ経路および論理装置のデータ幅の最適化と、不必要な構造の除去を含む構造の最適化とを含み得る。
語を含む出力ファイルが生成される。出力ファイルは、VerilogまたはEDIF等のハードウェア定義言語で書かれてもよい。
ここで図2を参照すると、本発明の実施例に従って高級言語(HLL)を、統一された実行可能要素に変換する方法200が示されている。方法200は、ステップ202でHLLプログラムを制御フローグラフ(CFG)に変換することによって開始され得る。一実施例において、HLLプログラムの、指定されたCFGフォーマットへの変換202は、従来のHLLコンパイラによって行なわれ得る。HLLプログラムのCFGへの変換202では、HLLプログラムをCFG表現にパーズし、かつ命令プロセッサで実行可能な命令コードを生成するためにコンパイラが用いられてもよい。命令コードは次にオブジェクトファイルに書込まれ、このオブジェクトファイルはアドレスを解くリンカ・ローダと
ともにリンクされ得る。
能なハードウェアのハードウェアロジックモジュールと相互接続されてもよい。「位置およびルート」プログラムは、モジュールが物理的にどこに進み得るか、およびこれらが再構成可能なハードウェアにおいていかにして互いに結合されるかを指示する。
ードウェアロジック実行可能要素328(すなわち統一された実行可能要素)の一部となり得る。
例示の実施例において、ハードウェアロジックのために分離されかつ目標にされ得る、高級言語で書かれたソースコードの領域を識別するための方法が提供され、一方でコードの他の部分は、従来のプロセッサで実行するためにコンパイルされ得る。例示の方法では、コードのうちどの領域がハードウェアロジックで実行されるべきかを示す特別なブラケット構文が用いられ、ブラケット領域内に含まれる変数のスコーピング(scoping)情報
が提供される。この情報を用いて、ユーザがさらに介入することなく、ハードウェアロジックで実行するように識別された領域の実行を容易にする通信およびデータ移動ルーチンを構築し得る。
様で処理されてデータの完全性が保護され得る。
コンパイルシステムのうち最初にコールされた構成要素が、いかなる命令プロセッサシステムでのコンパイルと同様の従来のコンパイル段階を開始する。この構成要素は、入力としていかなるプログラミング言語コードも受信し、ソースファイルから次にパーズすることのできるトークンを抽出する。パーズ段階が行なわれている間、意味解析も行なわれて、この段階の後でコードおよびシンボルテーブルの内部表現が生成されるようにしてもよい。意味上の誤り検査が行なわれて、適切な診断メッセージが出される。
ベルの表現は次に、制御フロー分析を含むさまざまな基本的な最適化に入力されるため、結果として生じる第2のレベルの中間表現は制御フロー表現と呼ぶことができる。制御フロー表現は、HLLコンバータが出力として生成する制御フロー情報における主要な構成要素となる。以下の文章では、このファイルおよびこの段階でのコンパイルの結果として生成することのできる追加のファイルの内容についての一層の詳細が示される。
セクションで既に確立されている。これらはここで、コンパイルのプロセスで生成された順序で生成される。
コンパイルシステムの別の構成要素は、オペレータ、組込関数コール、および既存の(規定されたシステムの)ハードウェアロジックモジュールへのMAPプロシージャのソースにおけるプロシージャコールのマッピングを示すデータベースである。このデータベースはシステムinfoファイルと呼ばれる。
ーカで区切られ、以下の形をとる。
データフローグラフに加えて、CFG−DFGからHDLへのコンバータへの第2の入力ファイルがある。これは、CFG−DFGからHDLへのコンバータバイナリファイルであり、このファイルは、インターフェイスおよびハードウェアロジックモジュール情報ファイルに含まれるハードウェアロジックモジュールに関する情報を含む。本発明の実施例において、小さな実行可能要素を用いてもよく、この要素は、ASCIIハードウェアロジックモジュール情報ファイルをCFG−DFGからHDLへのコンバータの内部テーブルに翻訳し、CFG−DFGからHDLへのコンバータをコールする前にコンパイルの際に実行される。
−DFGからHDLへのコンバータは、名前が“unconnected_”で始まるワイヤに接続されるべきいかなる接続も無視し得る。このオプションによって“unconnected_”ワイヤを改名することによって、これらはCFG−DFGからHDLへのコンバータによって処理され得る。−dオプションに関して、−rはVerilogのようなHDLを生成するときに有用であり、Verilogは、テストベンチまたはシミュレーション環境において用いられ、結果として生じるハードウェアロジックのために生成されたVerilogには実際に存在しない信号を有し得る。多重の−dおよび−rのオプションを指定してもよい。
ブルエントリがある。所与のsubrefのためのEQUIV_INおよびEQUIV_OUTテーブルエントリのテーブル索引は同じである。
出力信号のために生成され得る。PIN_NAMESテーブルエントリは、現在のsubrefエントリのためのEQUIV_IN/EQUIV_OUTテーブル索引、出力信号のビット幅、この信号のために生成されるHELDテーブルエントリの索引、ハードウェアロジックモジュールの内部の信号名、および信号が出力でありかつ信号のためのHELDテーブルエントリがあることを示す2つのフラグを含む。これがsubref構造のために処理される最初の信号である場合、PIN_NAMESテーブルエントリの索引は、subrefのためのEQUIV_OUTテーブルエントリに挿入されるために保存される。
CFG表現をハイブリッドCDFG−DFG表現に変換するための実施例がここで説明される。もとのCFG表現は、ノードおよび有向の辺(directed edges)を含んでもよく、各ノードはコードの基本ブロックであるかもしれず、各辺は1つのブロックの終わりから別のブロックの始めへの制御の移動を示し得る。基本ブロックにおけるコードは、エントランスの単一の点、および単一の出口を有し得、すなわちこれは、始めおよび終わりのそれぞれ以外へ、またはそれ以外から分岐することのできない直線のシーケンスの文を示し得る。基本ブロックにおける文は連続しているかもしれない。
ードブロックにおいてデータフローグラフを有する。一実施例において、CFGからCFG−DFGへの変換は、内部ループをフラットであるいはパイプライン化されたコードブロックへと形成するグループを含む基本ブロックのグループを統合し得る。
のローカルにあるかもしれず、辺として存在するかもしれないからである。さらに、‘a’に割当てられた中間値はその変数に記憶されず、単に辺として存在するかもしれない。なぜなら以下の順次の割当では‘a’の最終値が生成されるかもしれないからである。このようなデータフローグラフは、選択された機能ユニットを初期化することによって、再構成可能なハードウェアに直接マップされ得る。この例において、1つの加算、2つの減算、および2つの乗算が生成される。
用できるハードウェアロジックモジュールが指定された形状であると既に決定されている場合、コンパイラは、さらに高度な、したがってさらに単純な細分性のレベルで配置を行い、プロセスを潜在的にかなり高速化することができる。
)による。第2のセクションはコードブロックをリストにしたものである。この例においては、コードブロックはマージされていない。各々のブロックは一義的なID数および1組のデータフローノードを有する。各ブロックはいずれも、その始まりのノードおよび終わりのノードとしてSRC^INITIATE(開始)ノードおよびSRC^OUTPUT(出力)ノードを有する。各々のノードにつき以下の情報がある。すなわち、その機能、その入力および出力カウント、各々の入力のビット幅、入力が定数として指定される入力についての定数値、各々の出力のビット幅、各々の出力の目標リスト(すなわち他のノード入力ポートのうちどれがこの出力によって供給がなされるのか)、である。入力および出力ポートはまた括弧の中に一義的な擬似レジスタIDを有し得る。
への変換後の完全なコードブロックが示される。
作成され得る。
次に図29を参照して、本発明の区分化部要素の一実施例を示す。一実施例において、区分化部要素は、アルゴリズムの一部が実行されることになるところを決定でき、したがってコンパイルプロセスの目標を決定できる。区分化部は、制御データフローグラフに対して、コンパイルされているアルゴリズムを定義するHLLの内部表現を演算し得る。区分化部により取られる制御データフローグラフは、CFGからCFG−DFGへのコンバータにより生成されるCFG−DFGであり得る。CFG−DFGは、コンパイルされているファイルの中に見つかり得る1組の関数のグラフである。決定プロセスの結果、命令プロセッサのための命令を目標としたコードのうちの部分と、多数の再構成可能プロセッサの中に入っている多数の再構成可能チップ内のロジックのうちの部分がもたらされる。
CFGからCFG−DFGへのコンバータの出力の1つは、コンパイルされているプロシージャについての変換されたデータフローグラフを表わすASCIIテキストファイルである。コンパイルにおける次のステップは、コンパイルにおける、CFG−DFGからHDLへのコンバータのVerilogコード生成段階により利用可能なフォーマットへと上記ファイル(すなわち.dfgファイル)を翻訳するステップである。MAPコンパイラは、CFG−DFGからHDLへのコンバータ「タプル」フォーマットでコンパイルされているプロシージャを表わす、CFG−DFGからHDLへのコンバータの内部フォーマット化テーブルへASCII.dfgファイルを翻訳する論理命令を含むソフトウェアモジュールを実現する。翻訳されたテーブルは、CFG−DFGからHDLへのコンバータへの入力の1つであるバイナリフォーマット化ファイル(.grfファイル)に書込まれ得る。
れたルーチンをコールすることにより実行され得る。ファイルがパーズされると、ソフトウェアモジュールは内部データ構造を構築してデータフローグラフを表現する。グラフの表現に用いられる内部データ構造は、CFGからCFG−DFGへのコンバータにより用いられるのと同じ構造である。上記2つの一次構造は、プロシージャ変数を表現する構造のアレイと、コンパイルされているプロシージャの実行可能部分を含む基本コードブロックを表現する構造のアレイとである。
コンバータBLOCKSテーブルの中にエントリを得る。CFG−DFGからHDLへのコンバータのBLOCKSテーブルエントリは、以下に記載するブロック内のノードについての最初および最後のCFG−DFGからHDLへのコンバータのRAW_NODESテーブルエントリに対する索引を含む。ブロックが終了ブロックであり、すなわちコンパイルされているプロシージャからの戻りを含むブロックであることを意味している場合、BLOCKSテーブルエントリにはこれ以上の情報は入れられない。ブロックがドロップスルーブロックであり、条件分岐で終わらないことを意味している場合、後継のブロックのためのBLOCKSテーブルエントリに対する索引が現在のブロックのBLOCKSテーブルエントリに入れられる。他ではブロックは条件分岐で終わることになる。この場合、2つのあり得る後継のブロック(分岐の真のブロックおよび分岐の偽ブロック)のBLOCKSテーブル索引が現在のブロックBLOCKSテーブルエントリに入れられる。
再構成可能FPGAチップについてのコンパイルシステムの一構成要素について説明する。このコンパイルシステムは、CやFortranのようなより高級な言語を、より大きな実行フレームワーク内で動作するFPGAのための構成ビットストリームにコンパイルする能力を有する。
者によって提供される標準的なツールセットへの入力として用いられ得るHDL(hardware description language)である。
ータユーティリティにより、CFG−DFGからHDLコンバータファイルフォーマットへと変換されたCFGからCFG−DFGコンバータのデータフローグラフ出力からなる。
ODEテーブルに読込まれ、オペコードノードの名前がEQUIV_INテーブルにおいて探索される。見つかれば、対応のEQUIV_OUTテーブルエントリは、予め定められたハードウェアモジュールのMODULE索引を与える。このモジュール情報への索引はNODEテーブルに置かれる。
る。新たにPICT_NODESテーブルに追加される各々のノードにつき、関連付けられたINSTANCESテーブルエントリを作成する。
コンパイルシステムの1構成要素であって、ユーザの実行可能要素へと最終的に統合されることになるコンパイル可能なCコードへザイリンクス(Xilinx)ツールから作成されるビットストリームファイルを含める作業を行なう。この構成要素は、プログラミングデータのみを含むバイナリファイルの中にある1または2のFPGAビットストリームファイルを入力として取る。このコンパイル段階の結果は、一方が各々のFPGAビットストリームについてある2つの構造を含むCコードである。各々の構造は、下記のように、アレイの中に入ったFPGAビットストリームについてのパックされた表現;ビットストリームについての内部場所を指すポインタ;このビットストリームが表現するFPGAの数、ビットストリームアレイの長さ;ビットストリームアレイの始まりのアドレス;および、エミュレートに用いられるMAPルーチンのCバージョンを指すポインタ、を含む。
てのすべての場合に対処し、これを反映するために適当なデータ構造を構築する。
異なりしたがって一様でないプラットフォームに対して実行されるであろうオブジェクトファイルを作成した結果として、コンパイルプロセスにおける次のステップは、これらさまざまな構成要素を、「統一された実行可能要素」と称されるものを構築するようにまとめなければならない。次に、統一された実行可能要素は、命令プロセッサで実行されるマシンコードと、ハードウェアロジックプロセッサで実行されるマシンコードとの両方を含む。
統一されたバイナリが実行されるランタイム環境は、命令プロセッサバイナリが実行されるランタイム環境を超えて拡張され得る。MAPライブラリは、データフローグラフのエミュレートおよびシミュレーションのためのサポートルーチンを含み得る。ユーザの観点からは、ランタイム環境にはルーチンについて3つのカテゴリがある。すなわちメモリ管理、MAPリソース管理、およびMAP実行である。
ョブに割付けられている場合、これらは整数0〜6で識別される。3つが割付け解除されれば、MAP ID0〜3はジョブに割付けられたままである。そして、2つが割付けられれば、最も最近に割付けられたMAP IDは4および5である。
エミュレートは極めて有用なデバッグツールであるとともに、データフローグラフレベルでの性能プロファイリングを可能にするツールである。エミュレーションの能力は、MAPコンパイルシステムにより構築される実行可能要素のランタイム環境の中に構築される。
」を有する、すなわち以前に行なったことについての記憶をいくらか有している場合がある。このようなノードは「状態を持つ」と呼ばれ得る。いくつかのノードはこれを取囲むハードウェアと対話する、すなわちフラグレジスタ、データレジスタまたはオンボードメモリに読み書きをする場合がある。データフローシミュレータは、適当なMAPエミュレータ関数へのコールを行なうことによりこれらノードを実行し得る。
分化部、112 コンバータ、114 コンバータ、116 リンカ。
Claims (22)
- 高級言語ソースコードを統一された実行可能要素に変換する方法であって、
当該高級言語ソースコードの再構成可能なハードウェア部分からオブジェクトファイルを生成するステップと、
当該オブジェクトファイルを当該統一された実行可能要素に統合するステップとを含む、方法。 - 前記方法は、当該高級言語ソースコードを制御フローグラフ表現に変換するステップを含む、請求項1に記載の方法。
- 前記方法は、当該制御フローグラフ表現を制御データフローグラフ表現に変換するステップを含む、請求項2に記載の方法。
- 前記方法は、当該制御フローデータグラフを、命令プロセッサ部分および当該再構成可能なハードウェア部分に区分化するステップを含む、請求項3に記載の方法。
- 前記方法は、当該再構成可能なハードウェア部分をハードウェア定義言語ファイルに変換するステップを含む、請求項1に記載の方法。
- 前記方法は、当該ハードウェア定義言語ファイルを再構成可能なハードウェアビットストリームファイルに変換するステップを含む、請求項5に記載の方法。
- 前記方法は、当該再構成可能なハードウェアビットストリームファイルを当該オブジェクトファイルに変換するステップを含む、請求項6に記載の方法。
- 統一された実行可能要素を形成する方法であって、
高級言語ソースコードを制御フローグラフ表現に変換するステップと、
当該制御フローグラフ表現を制御データフローグラフ表現に変換するステップと、
当該制御データフローグラフを、命令プロセッサ部分および再構成可能なハードウェア部分に区分化するステップと、
当該制御データフローグラフの当該再構成可能なハードウェア部分をハードウェア定義言語部分に、および当該命令プロセッサ部分を命令プロセッサオブジェクトファイルに変換するステップと、
当該ハードウェア定義言語部分を再構成可能なハードウェアビットストリームに変換するステップと、
当該再構成可能なハードウェアビットストリームを、命令プロセッサが読取ることのできるビデオストリームオブジェクトファイルに変換するステップと、
当該統一された実行可能要素を形成するために、当該ビットストリームオブジェクトファイルを当該命令プロセッサオブジェクトファイルに統合するステップとを含む、方法。 - 統一された実行可能要素を形成するためのシステムであって、
制御データフローグラフデータを、再構成可能なハードウェア部分および命令プロセッサ部分に区分化するための区分化部を含む、システム。 - 前記システムは、高級言語を制御フローグラフ表現に変換するための高級言語コンバータを含む、請求項9に記載のシステム。
- 前記システムは、当該制御フローグラフ表現を当該制御データフローグラフデータに変換するための制御データフローグラフコンバータへの制御フローグラフを含む、請求項1
0に記載のシステム。 - 前記システムは、当該制御データフローグラフデータの当該再構成可能なハードウェア部分をハードウェア定義言語ファイルに変換するためのハードウェア定義言語コンバータへの制御データフローグラフを含む、請求項9に記載のシステム。
- 前記システムは、当該ハードウェア定義言語ファイルをビットストリームファイルに変換するためのビットストリームコンバータへのハードウェア定義言語を含む、請求項12に記載のシステム。
- 前記システムは、当該ビットストリームファイルをビットストリームオブジェクトファイルに変換するためのオブジェクトファイルコンバータへのビットストリームを含む、請求項13に記載のシステム。
- 前記システムは、当該ビットストリームオブジェクトファイルを当該統一された実行可能要素に統合するためのリンカを含む、請求項14に記載のシステム。
- 前記システムはサポートハードウェアロジックモジュールを含む、請求項9に記載のシステム。
- 前記システムはユーザハードウェアロジックモジュールを含む、請求項9に記載のシステム。
- 前記システムはランタイムライブラリを含む、請求項9に記載のシステム。
- 前記システムは、命令プロセッサおよび再構成可能なハードウェアを含むハイブリッドコンピュータを含む、請求項9に記載のシステム。
- 前記再構成可能なハードウェアは、多重適応プロセッサ(MAP)を含む、請求項19に記載のシステム。
- ハイブリッドで再構成可能なハードウェア命令プロセッサコンピュータで実行することのできる統一された実行可能要素を形成するためのシステムであって、前記システムは、
高級言語を制御フローグラフ表現に変換するための高級言語コンバータと、
当該制御フローグラフ表現を制御データフローグラフ表現に変換するための制御データフローグラフコンバータへの制御フローグラフと、
当該制御データフローグラフ表現を、再構成可能なハードウェア部分および命令プロセッサ部分に区分化するための区分化部と、
当該制御データフローグラフ表現の当該再構成可能なハードウェア部分を、ハードウェア定義言語ファイルに変換するためのハードウェア定義言語コンバータへの制御データフローグラフと、
当該ハードウェア定義言語ファイルをビットストリームに変換するためのビットストリームコンバータへのハードウェア定義言語と、
当該ビットストリームファイルをビットストリームオブジェクトファイルに変換するためのオブジェクトファイルコンバータへのビットストリームと、
当該ビットストリームオブジェクトファイルを当該統一された実行可能要素に統合するためのリンカとを含む、システム。 - 統一された実行可能要素の形成を引き起こすために中に実現されたコンピュータ読取可能プログラムコードを有するコンピュータ使用可能媒体を含み、当該コンピュータ読取可
能プログラムコードは、
コンピュータに、高級言語ソースコードを制御フローグラフ表現に変換させるためのコンピュータ読取可能プログラムコードと、
当該コンピュータに、当該制御フローグラフを制御データフローグラフに変換させるためのコンピュータ読取可能プログラムコードと、
当該コンピュータに、当該制御データフローグラフを命令プロセッサ部分および再構成可能なハードウェア部分に区分化させるためのコンピュータ読取可能プログラムコードと、
当該コンピュータに、当該制御データフローグラフの当該再構成可能なハードウェア部分をハードウェア定義言語部分に、および当該命令プロセッサ部分を命令プロセッサオブジェクトファイルに変換させるためのコンピュータ読取可能プログラムコードと、
当該コンピュータに、当該ハードウェア定義言語部分を再構成可能なハードウェアビットストリームに変換させるためのコンピュータ読取可能プログラムコードと、
当該コンピュータに、当該再構成可能なハードウェアビットストリームを命令プロセッサが読取ることのできるビットストリームオブジェクトファイルに変換させるためのコンピュータ読取可能プログラムコードと、
当該統一された実行可能要素を形成するために、当該コンピュータに、当該ビットストリームオブジェクトファイルを当該命令プロセッサオブジェクトファイルに統合させるためのコンピュータ読取可能プログラムコードとを含む、コンピュータプログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/285,299 US6983456B2 (en) | 2002-10-31 | 2002-10-31 | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US10/285,299 | 2002-10-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004549981A Division JP4482454B2 (ja) | 2002-10-31 | 2003-09-30 | 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010146577A true JP2010146577A (ja) | 2010-07-01 |
JP5036801B2 JP5036801B2 (ja) | 2012-09-26 |
Family
ID=32175150
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004549981A Expired - Lifetime JP4482454B2 (ja) | 2002-10-31 | 2003-09-30 | 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス |
JP2009297725A Expired - Fee Related JP5036801B2 (ja) | 2002-10-31 | 2009-12-28 | 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004549981A Expired - Lifetime JP4482454B2 (ja) | 2002-10-31 | 2003-09-30 | 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス |
Country Status (6)
Country | Link |
---|---|
US (3) | US6983456B2 (ja) |
EP (1) | EP1556758A4 (ja) |
JP (2) | JP4482454B2 (ja) |
AU (1) | AU2003275340A1 (ja) |
CA (1) | CA2502892A1 (ja) |
WO (1) | WO2004042929A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235672B2 (en) | 2013-10-10 | 2016-01-12 | Socionext Inc. | High-level synthesis data generation apparatus, high-level synthesis apparatus, and high-level synthesis data generation method |
Families Citing this family (219)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662354B1 (en) * | 1999-01-29 | 2003-12-09 | Unisys Corporation | Determining destinations of a dynamic branch |
US7337437B2 (en) * | 1999-12-01 | 2008-02-26 | International Business Machines Corporation | Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code |
US8176108B2 (en) * | 2000-06-20 | 2012-05-08 | International Business Machines Corporation | Method, apparatus and computer program product for network design and analysis |
US7765329B2 (en) * | 2002-06-05 | 2010-07-27 | Silicon Graphics International | Messaging between heterogeneous clients of a storage area network |
US7617292B2 (en) | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US8010558B2 (en) | 2001-06-05 | 2011-08-30 | Silicon Graphics International | Relocation of metadata server with outstanding DMAPI requests |
US7024663B2 (en) * | 2002-07-10 | 2006-04-04 | Micron Technology, Inc. | Method and system for generating object code to facilitate predictive memory retrieval |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7051322B2 (en) * | 2002-12-06 | 2006-05-23 | @Stake, Inc. | Software analysis framework |
JP3956131B2 (ja) * | 2002-12-26 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム変換装置、プログラム変換方法及びプログラム |
US7143376B1 (en) * | 2003-03-04 | 2006-11-28 | Xilinx, Inc. | Method and apparatus for design verification with equivalency check |
SE0300742D0 (sv) * | 2003-03-17 | 2003-03-17 | Flow Computing Ab | Data Flow Machine |
US7302677B2 (en) * | 2003-05-08 | 2007-11-27 | Microsoft Corporation | Event driven graph explorer for model-based testing of software |
JP2005018626A (ja) * | 2003-06-27 | 2005-01-20 | Ip Flex Kk | 並列処理システムの生成方法 |
US7263692B2 (en) * | 2003-06-30 | 2007-08-28 | Intel Corporation | System and method for software-pipelining of loops with sparse matrix routines |
US7316009B2 (en) * | 2003-08-06 | 2008-01-01 | National Instruments Corporation | Emulation of a programmable hardware element |
US7171544B2 (en) * | 2003-12-15 | 2007-01-30 | International Business Machines Corporation | Run-time parallelization of loops in computer programs by access patterns |
JP4275013B2 (ja) * | 2004-06-21 | 2009-06-10 | 三洋電機株式会社 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
US7464375B2 (en) * | 2004-06-24 | 2008-12-09 | International Business Machines Corporation | Method for flattening hierarchically structured flows |
US8044951B1 (en) | 2004-07-02 | 2011-10-25 | Nvidia Corporation | Integer-based functionality in a graphics shading language |
US7426724B2 (en) * | 2004-07-02 | 2008-09-16 | Nvidia Corporation | Optimized chaining of vertex and fragment programs |
US7958498B1 (en) | 2004-07-02 | 2011-06-07 | Nvidia Corporation | Methods and systems for processing a geometry shader program developed in a high-level shading language |
US7746347B1 (en) * | 2004-07-02 | 2010-06-29 | Nvidia Corporation | Methods and systems for processing a geometry shader program developed in a high-level shading language |
US7389490B2 (en) * | 2004-07-29 | 2008-06-17 | International Business Machines Corporation | Method, system and program product for providing a configuration specification language supporting selective presentation of configuration entities |
US7386825B2 (en) * | 2004-07-29 | 2008-06-10 | International Business Machines Corporation | Method, system and program product supporting presentation of a simulated or hardware system including configuration entities |
US7493627B2 (en) * | 2004-08-19 | 2009-02-17 | Lenovo (Singapore) Pte. Ltd. | System and method for configuring computer for operation |
US7506331B2 (en) * | 2004-08-30 | 2009-03-17 | International Business Machines Corporation | Method and apparatus for determining the profitability of expanding unpipelined instructions |
US7941794B2 (en) * | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
US8984496B2 (en) * | 2004-09-20 | 2015-03-17 | The Mathworks, Inc. | Extensible internal representation of systems with parallel and sequential implementations |
US7584465B1 (en) | 2004-09-20 | 2009-09-01 | The Mathworks, Inc. | Memory mapping for single and multi-processing implementations of code generated from a block diagram model |
US7725887B2 (en) * | 2004-12-22 | 2010-05-25 | Intel Corporation | Method and system for reducing program code size |
US8418132B2 (en) * | 2005-04-29 | 2013-04-09 | Microsoft Corporation | Application description language |
US8275793B2 (en) * | 2005-04-29 | 2012-09-25 | Microsoft Corporation | Transaction transforms |
US20060245096A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Application framework phasing model |
US8132148B2 (en) * | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US7886269B2 (en) | 2005-04-29 | 2011-02-08 | Microsoft Corporation | XML application framework |
US7840914B1 (en) | 2005-05-13 | 2010-11-23 | Massachusetts Institute Of Technology | Distributing computations in a parallel processing environment |
US8521752B2 (en) | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US9774699B2 (en) * | 2005-09-20 | 2017-09-26 | The Mathworks, Inc. | System and method for transforming graphical models |
JP4388518B2 (ja) * | 2005-11-01 | 2009-12-24 | 株式会社ソニー・コンピュータエンタテインメント | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
TW200725411A (en) * | 2005-12-30 | 2007-07-01 | Tatung Co Ltd | Method for automatically translating a high level programming language into an extended activity diagram |
US7813823B2 (en) * | 2006-01-17 | 2010-10-12 | Sigmatel, Inc. | Computer audio system and method |
US8074166B2 (en) * | 2006-04-04 | 2011-12-06 | Microsoft Corporation | XSLT/XPATH focus inference for optimized XSLT implementation |
US20070245325A1 (en) * | 2006-04-04 | 2007-10-18 | Microsoft Corporation | Type inference for optimized XSLT implementation |
JP2007286671A (ja) * | 2006-04-12 | 2007-11-01 | Fujitsu Ltd | ソフトウェア/ハードウェア分割プログラム、および分割方法。 |
US20070277163A1 (en) * | 2006-05-24 | 2007-11-29 | Syver, Llc | Method and tool for automatic verification of software protocols |
US7788658B2 (en) * | 2006-05-31 | 2010-08-31 | International Business Machines Corporation | Computer code partitioning for enhanced performance |
WO2007145680A1 (en) * | 2006-06-13 | 2007-12-21 | Microsoft Corporation | Declarative management framework |
US7730068B2 (en) * | 2006-06-13 | 2010-06-01 | Microsoft Corporation | Extensible data collectors |
US7970746B2 (en) * | 2006-06-13 | 2011-06-28 | Microsoft Corporation | Declarative management framework |
US8134566B1 (en) | 2006-07-28 | 2012-03-13 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
JP2008059279A (ja) * | 2006-08-31 | 2008-03-13 | Internatl Business Mach Corp <Ibm> | 文字列出力処理を最適化する技術 |
US7949907B2 (en) * | 2006-10-03 | 2011-05-24 | Wipro Limited | Method and device for data communication |
US8843906B1 (en) * | 2006-10-16 | 2014-09-23 | The Mathworks, Inc. | Inferring data types from compiler call site |
US7992139B2 (en) | 2006-11-29 | 2011-08-02 | International Business Machines Corporation | Method, system and program product for transforming a single language program into multiple language programs |
US8656381B2 (en) * | 2006-12-07 | 2014-02-18 | International Business Machines Corporation | Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations |
US8181168B1 (en) * | 2007-02-07 | 2012-05-15 | Tilera Corporation | Memory access assignment for parallel processing architectures |
US20080209405A1 (en) * | 2007-02-28 | 2008-08-28 | Microsoft Corporation | Distributed debugging for a visual programming language |
EP1965300A1 (en) * | 2007-03-02 | 2008-09-03 | Siemens Aktiengesellschaft | A method for validating a graphical workflow translation |
US8024433B2 (en) * | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
WO2008142631A1 (en) | 2007-05-22 | 2008-11-27 | Philips Intellectual Property & Standards Gmbh | Compiler and compiling method for a networked control system comprising a plurality of devices |
US7996798B2 (en) * | 2007-05-24 | 2011-08-09 | Microsoft Corporation | Representing binary code as a circuit |
US8196123B2 (en) * | 2007-06-26 | 2012-06-05 | Microsoft Corporation | Object model for transactional memory |
US7761690B2 (en) * | 2007-07-26 | 2010-07-20 | International Business Machines Corporation | Method, apparatus and computer program product for dynamically selecting compiled instructions |
JP4989354B2 (ja) * | 2007-08-09 | 2012-08-01 | 三洋電機株式会社 | データフローグラフ生成装置、設定データ生成装置、処理装置、及びデータフローグラフ生成方法 |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8122229B2 (en) | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US20090064092A1 (en) * | 2007-08-29 | 2009-03-05 | Microsoft Corporation | Visual programming language optimization |
US8185883B2 (en) | 2007-09-14 | 2012-05-22 | International Business Machines Corporation | Instruction exploitation through loader late fix-up |
US7954093B2 (en) * | 2007-09-14 | 2011-05-31 | International Business Machines Corporation | Load time instruction substitution |
US20090112932A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Visualizing key performance indicators for model-based applications |
US7865862B2 (en) * | 2007-11-08 | 2011-01-04 | International Business Machines Corporation | Design structure for dynamically selecting compiled instructions |
US8402449B1 (en) | 2008-01-10 | 2013-03-19 | The Mathworks, Inc. | Technique for automatically assigning placement for pipeline registers within code generated from a program specification |
US20090193400A1 (en) * | 2008-01-30 | 2009-07-30 | Ivan Baev | Interprocedural register allocation for global variables |
EP2698710A3 (en) * | 2008-02-12 | 2014-05-28 | Scrutiny, INC. | Systems and methods for information flow analysis |
US8181155B2 (en) * | 2008-02-29 | 2012-05-15 | Microsoft Corporation | Unified expression and location framework |
US8516435B2 (en) * | 2008-06-19 | 2013-08-20 | International Business Machines Corporation | System and method for generating implementation artifacts for contextually-aware business applications |
US20100070951A1 (en) * | 2008-09-15 | 2010-03-18 | Horizon Semiconductors Ltd. | Generic assembler |
US8423980B1 (en) * | 2008-09-18 | 2013-04-16 | Google Inc. | Methods for handling inlined functions using sample profiles |
US8423983B2 (en) * | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
US8327344B2 (en) * | 2008-10-14 | 2012-12-04 | International Business Machines Corporation | Array reference safety analysis in the presence of loops with conditional control flow |
US9652231B2 (en) * | 2008-10-14 | 2017-05-16 | International Business Machines Corporation | All-to-all permutation of vector elements based on a permutation pattern encoded in mantissa and exponent bits in a floating-point SIMD architecture |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US8370822B2 (en) * | 2008-11-20 | 2013-02-05 | Apple Inc. | Compiling techniques for providing limited accuracy and enhanced performance granularity |
US8863101B2 (en) | 2008-12-10 | 2014-10-14 | International Business Machines Corporation | Compiler generator |
US8667476B1 (en) * | 2009-01-20 | 2014-03-04 | Adaptmicrosys LLC | Instruction grouping and ungrouping apparatus and method for an adaptive microprocessor system |
KR101553652B1 (ko) * | 2009-02-18 | 2015-09-16 | 삼성전자 주식회사 | 이종 프로세서에 대한 명령어 컴파일링 장치 및 방법 |
US8185693B2 (en) * | 2009-03-17 | 2012-05-22 | Microsoft Corporation | Cache-line aware collection for runtime environments |
US8356290B2 (en) * | 2009-04-27 | 2013-01-15 | National Instruments Corporation | Conversion of a class oriented data flow program with inheritance to a structure oriented data flow program |
US8423977B2 (en) * | 2009-04-27 | 2013-04-16 | National Instruments Corporation | Implementing a class oriented data flow program on a programmable hardware element |
US8311683B2 (en) | 2009-04-29 | 2012-11-13 | International Business Machines Corporation | Processor cooling management |
US8601458B2 (en) * | 2009-05-14 | 2013-12-03 | International Business Machines Corporation | Profile-driven data stream processing |
US8490072B2 (en) * | 2009-06-23 | 2013-07-16 | International Business Machines Corporation | Partitioning operator flow graphs |
US8191019B2 (en) * | 2009-07-17 | 2012-05-29 | Achronix Semiconductor Corporation | Non-predicated to predicated conversion of asynchronous representations |
US9367582B2 (en) * | 2009-08-07 | 2016-06-14 | International Business Machines Corporation | Systems and methods involving information objects |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US9063805B2 (en) | 2009-11-25 | 2015-06-23 | Freescale Semiconductor, Inc. | Method and system for enabling access to functionality provided by resources outside of an operating system environment |
JP4959774B2 (ja) * | 2009-11-30 | 2012-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーション生成システム、方法及びプログラム |
US8364946B2 (en) * | 2010-03-22 | 2013-01-29 | Ishebabi Harold | Reconfigurable computing system and method of developing application for deployment on the same |
US8683451B1 (en) * | 2010-04-30 | 2014-03-25 | The United States Of America As Represented By The Secretary Of The Navy | System and method for translating software code |
US9424010B2 (en) | 2010-08-30 | 2016-08-23 | International Business Machines Corporation | Extraction of functional semantics and isolated dataflow from imperative object oriented languages |
US8713518B2 (en) * | 2010-11-10 | 2014-04-29 | SRC Computers, LLC | System and method for computational unification of heterogeneous implicit and explicit processing elements |
US9043764B2 (en) * | 2011-03-09 | 2015-05-26 | International Business Machines Corporation | Cross-platform compiler for data transforms |
US10089277B2 (en) | 2011-06-24 | 2018-10-02 | Robert Keith Mykland | Configurable circuit array |
US20130007517A1 (en) * | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | Checkpoint Recovery Utility for Programs and Compilers |
US9335977B2 (en) * | 2011-07-28 | 2016-05-10 | National Instruments Corporation | Optimization of a data flow program based on access pattern information |
US8799864B2 (en) * | 2011-09-13 | 2014-08-05 | Synopsys, Inc. | Providing SystemVerilog testing harness for a standardized testing language |
US8671397B2 (en) * | 2011-09-27 | 2014-03-11 | International Business Machines Corporation | Selective data flow analysis of bounded regions of computer software applications |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
US8806452B2 (en) | 2011-11-10 | 2014-08-12 | International Business Machines Corporation | Transformation of computer programs and eliminating errors |
US9633160B2 (en) | 2012-06-11 | 2017-04-25 | Robert Keith Mykland | Method of placement and routing in a reconfiguration of a dynamically reconfigurable processor |
US9304770B2 (en) * | 2011-11-21 | 2016-04-05 | Robert Keith Mykland | Method and system adapted for converting software constructs into resources for implementation by a dynamically reconfigurable processor |
US9032380B1 (en) * | 2011-12-05 | 2015-05-12 | The Mathworks, Inc. | Identifying function calls and object method calls |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US9361079B2 (en) * | 2012-01-30 | 2016-06-07 | Nvidia Corporation | Method for compiling a parallel thread execution program for general execution |
US20130212366A1 (en) * | 2012-02-09 | 2013-08-15 | Altera Corporation | Configuring a programmable device using high-level language |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US10558437B1 (en) * | 2013-01-22 | 2020-02-11 | Altera Corporation | Method and apparatus for performing profile guided optimization for high-level synthesis |
US20160239461A1 (en) * | 2013-03-01 | 2016-08-18 | Synaptic Engines, Llc | Reconfigurable graph processor |
US9323502B2 (en) | 2013-03-15 | 2016-04-26 | Nvidia Corporation | System, method, and computer program product for altering a line of code |
US9015643B2 (en) | 2013-03-15 | 2015-04-21 | Nvidia Corporation | System, method, and computer program product for applying a callback function to data values |
US20140278328A1 (en) | 2013-03-15 | 2014-09-18 | Nvidia Corporation | System, method, and computer program product for constructing a data flow and identifying a construct |
US9021408B2 (en) * | 2013-04-10 | 2015-04-28 | Nvidia Corporation | System, method, and computer program product for translating a source database into a common hardware database |
US9015646B2 (en) | 2013-04-10 | 2015-04-21 | Nvidia Corporation | System, method, and computer program product for translating a hardware language into a source database |
US9171115B2 (en) | 2013-04-10 | 2015-10-27 | Nvidia Corporation | System, method, and computer program product for translating a common hardware database into a logic code model |
CN105164639B (zh) * | 2013-04-23 | 2018-11-09 | 起元科技有限公司 | 控制由计算系统执行的任务 |
US9177646B2 (en) | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
US10102039B2 (en) | 2013-05-17 | 2018-10-16 | Entit Software Llc | Converting a hybrid flow |
US10741226B2 (en) | 2013-05-28 | 2020-08-11 | Fg Src Llc | Multi-processor computer architecture incorporating distributed multi-ported common memory modules |
US8806403B1 (en) * | 2013-06-21 | 2014-08-12 | Altera Corporation | Efficient configuration of an integrated circuit device using high-level language |
US9104432B2 (en) * | 2013-06-24 | 2015-08-11 | International Business Machines Corporation | Extracting stream graph structure in a computer language by pre-executing a deterministic subset |
CN105683940A (zh) | 2013-06-24 | 2016-06-15 | 惠普发展公司,有限责任合伙企业 | 处理混合流的数据流图 |
US9075624B2 (en) * | 2013-06-24 | 2015-07-07 | Xilinx, Inc. | Compilation of system designs |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
CN103546342B (zh) * | 2013-10-18 | 2016-10-05 | 工业和信息化部电信传输研究所 | 一种终端一致性测试方法及用于该方法的api接口通用适配器 |
US9110672B2 (en) * | 2013-11-07 | 2015-08-18 | International Business Machines Corporation | Compiler generation of thunking code |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US10318261B2 (en) * | 2014-11-24 | 2019-06-11 | Mentor Graphics Corporation | Execution of complex recursive algorithms |
CN104572072B (zh) * | 2014-12-01 | 2017-09-29 | 北京百度网讯科技有限公司 | 一种对基于mvc模式的程序的语言转换方法与设备 |
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
US9984037B1 (en) * | 2015-04-27 | 2018-05-29 | Synaptic Engines, Llc | Scheduler for a fine grained graph processor |
US10303498B2 (en) | 2015-10-01 | 2019-05-28 | Microsoft Technology Licensing, Llc | Performance optimizations for emulators |
US9805152B1 (en) * | 2016-02-17 | 2017-10-31 | Xilinx, Inc. | Compilation of system designs |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10824786B1 (en) * | 2016-10-05 | 2020-11-03 | Xilinx, Inc. | Extend routing range for partial reconfiguration |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
JP6801460B2 (ja) * | 2017-01-11 | 2020-12-16 | 富士通株式会社 | 情報処理装置、プログラム、および情報処理方法 |
CN107239276B (zh) * | 2017-05-22 | 2021-01-12 | 广州安圣信息科技有限公司 | 一种基于c语言的异步延时执行方法及执行装置 |
US10346145B2 (en) * | 2017-06-23 | 2019-07-09 | Intel Corporation | Loop execution with predicate computing for dataflow machines |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US11204747B1 (en) * | 2017-10-17 | 2021-12-21 | Xilinx, Inc. | Re-targetable interface for data exchange between heterogeneous systems and accelerator abstraction into software instructions |
CN117640170A (zh) * | 2017-11-09 | 2024-03-01 | 区块链控股有限公司 | 用于简化可执行指令以优化可验证计算的系统 |
US10489541B1 (en) * | 2017-11-21 | 2019-11-26 | Xilinx, Inc. | Hardware description language specification translator |
SG11202005567QA (en) | 2017-12-13 | 2020-07-29 | Nchain Holdings Ltd | System and method for securely sharing cryptographic material |
US10402176B2 (en) * | 2017-12-27 | 2019-09-03 | Intel Corporation | Methods and apparatus to compile code to generate data flow code |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10452367B2 (en) * | 2018-02-07 | 2019-10-22 | Microsoft Technology Licensing, Llc | Variable analysis using code context |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10705967B2 (en) | 2018-10-15 | 2020-07-07 | Intel Corporation | Programmable interface to in-memory cache processor |
US10846449B1 (en) * | 2018-12-11 | 2020-11-24 | Xilinx, Inc. | Conversion of block model-based circuit designs into circuit implementations |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US11455153B2 (en) * | 2019-03-18 | 2022-09-27 | Advanced Micro Devices, Inc. | Dynamic instances semantics |
US11048479B2 (en) * | 2019-03-28 | 2021-06-29 | Sap Se | Software conversion simulation mode |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10853541B1 (en) * | 2019-04-30 | 2020-12-01 | Xilinx, Inc. | Data processing engine (DPE) array global mapping |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11573790B2 (en) | 2019-12-05 | 2023-02-07 | International Business Machines Corporation | Generation of knowledge graphs based on repositories of code |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11194555B2 (en) * | 2020-04-13 | 2021-12-07 | International Business Machines Corporation | Optimization of execution of smart contracts |
WO2021211911A1 (en) * | 2020-04-16 | 2021-10-21 | Blackswan Technologies Inc. | Artificial intelligence cloud operating system |
CN111831285B (zh) * | 2020-06-23 | 2023-03-14 | 西安电子科技大学 | 一种面向内存计算平台的代码转换方法、系统及应用 |
US11275580B2 (en) * | 2020-08-12 | 2022-03-15 | Servicenow, Inc. | Representing source code as implicit configuration items |
US11403100B2 (en) | 2020-08-31 | 2022-08-02 | Microsoft Technology Licensing, Llc | Dual architecture function pointers having consistent reference addresses |
US11231918B1 (en) | 2020-08-31 | 2022-01-25 | Microsoft Technologly Licensing, LLC | Native emulation compatible application binary interface for supporting emulation of foreign code |
US11042422B1 (en) * | 2020-08-31 | 2021-06-22 | Microsoft Technology Licensing, Llc | Hybrid binaries supporting code stream folding |
US11138010B1 (en) | 2020-10-01 | 2021-10-05 | International Business Machines Corporation | Loop management in multi-processor dataflow architecture |
US11347490B1 (en) * | 2020-12-18 | 2022-05-31 | Red Hat, Inc. | Compilation framework for hardware configuration generation |
US11520570B1 (en) | 2021-06-10 | 2022-12-06 | Xilinx, Inc. | Application-specific hardware pipeline implemented in an integrated circuit |
US11815935B2 (en) * | 2022-03-25 | 2023-11-14 | Micron Technology, Inc. | Programming a coarse grained reconfigurable array through description of data flow graphs |
US11954424B2 (en) | 2022-05-02 | 2024-04-09 | International Business Machines Corporation | Automatic domain annotation of structured data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320214A (ja) * | 1997-04-09 | 1998-12-04 | Ricoh Co Ltd | コンパイルシステム及びコンピュータプログラム製品 |
JPH11250112A (ja) * | 1998-02-26 | 1999-09-17 | Sharp Corp | ハードウェア合成方法およびハードウェア合成装置並びにハードウェア合成プログラムを記録した記録媒体 |
JP2002508102A (ja) * | 1997-06-27 | 2002-03-12 | カメレオン・システムズ・インコーポレーテッド | 高水準プログラミング言語をコンパイルするための方法 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4885684A (en) * | 1987-12-07 | 1989-12-05 | International Business Machines Corporation | Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network |
EP0360527B1 (en) | 1988-09-19 | 1995-01-04 | Fujitsu Limited | Parallel computer system using a SIMD method |
US5175856A (en) * | 1990-06-11 | 1992-12-29 | Supercomputer Systems Limited Partnership | Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution |
US5293631A (en) * | 1991-08-06 | 1994-03-08 | Hewlett-Packard Company | Analysis and optimization of array variables in compiler for instruction level parallel processor |
US5666296A (en) * | 1991-12-31 | 1997-09-09 | Texas Instruments Incorporated | Method and means for translating a data-dependent program to a data flow graph with conditional expression |
US5802290A (en) | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5675803A (en) | 1994-01-28 | 1997-10-07 | Sun Microsystems, Inc. | Method and apparatus for a fast debugger fix and continue operation |
FR2718868B1 (fr) * | 1994-04-18 | 1996-05-31 | Bull Sa | Procédé de détection d'interblocages dans les systèmes multiprocesseurs à mémoire partagée. |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5655122A (en) * | 1995-04-05 | 1997-08-05 | Sequent Computer Systems, Inc. | Optimizing compiler with static prediction of branch probability, branch frequency and function frequency |
US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
US5764951A (en) * | 1995-05-12 | 1998-06-09 | Synopsys, Inc. | Methods for automatically pipelining loops |
US5701489A (en) * | 1995-06-06 | 1997-12-23 | International Business Machines Corporation | System for partial in-line expansion of procedure calls during program compilation |
US5903771A (en) | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US6226789B1 (en) * | 1996-01-29 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for data flow analysis |
US5737766A (en) | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
US5926636A (en) * | 1996-02-21 | 1999-07-20 | Adaptec, Inc. | Remote procedural call component management method for a heterogeneous computer network |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5930510A (en) * | 1996-11-19 | 1999-07-27 | Sun Microsystems, Inc. | Method and apparatus for an improved code optimizer for pipelined computers |
US5946492A (en) * | 1997-02-19 | 1999-08-31 | International Business Machines Corporation | Compiler that reduces call stack size through identification of stackless variables |
US6631518B1 (en) * | 1997-03-19 | 2003-10-07 | International Business Machines Corporation | Generating and utilizing organized profile information |
US6286135B1 (en) * | 1997-03-26 | 2001-09-04 | Hewlett-Packard Company | Cost-sensitive SSA-based strength reduction algorithm for a machine with predication support and segmented addresses |
US5991539A (en) * | 1997-09-08 | 1999-11-23 | Lucent Technologies, Inc. | Use of re-entrant subparsing to facilitate processing of complicated input data |
US6226776B1 (en) | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
US5937196A (en) * | 1997-09-19 | 1999-08-10 | International Business Machines Corporation | Compiling with partial copy propagation |
US6076152A (en) | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US6175948B1 (en) * | 1998-02-05 | 2001-01-16 | Motorola, Inc. | Method and apparatus for a waveform compiler |
US6079032A (en) | 1998-05-19 | 2000-06-20 | Lucent Technologies, Inc. | Performance analysis of computer systems |
US6192439B1 (en) | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
GB9828381D0 (en) * | 1998-12-22 | 1999-02-17 | Isis Innovation | Hardware/software codesign system |
US6594822B1 (en) * | 1999-02-19 | 2003-07-15 | Nortel Networks Limited | Method and apparatus for creating a software patch by comparing object files |
US6505328B1 (en) * | 1999-04-27 | 2003-01-07 | Magma Design Automation, Inc. | Method for storing multiple levels of design data in a common database |
US6782511B1 (en) * | 1999-05-26 | 2004-08-24 | Cadence Design Systems, Inc. | Behavioral-synthesis electronic design automation tool business-to-business application service provider |
US6069032A (en) * | 1999-08-17 | 2000-05-30 | United Silicon Incorporated | Salicide process |
US6507947B1 (en) * | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6374403B1 (en) * | 1999-08-20 | 2002-04-16 | Hewlett-Packard Company | Programmatic method for reducing cost of control in parallel processes |
US6567975B1 (en) * | 1999-11-08 | 2003-05-20 | Sun Microsystems, Inc. | Method and apparatus for inserting data prefetch operations using data flow analysis |
US6526572B1 (en) * | 2000-02-09 | 2003-02-25 | Hewlett-Packard Company | Mechanism for software register renaming and load speculation in an optimizer |
US6922830B1 (en) * | 2000-03-10 | 2005-07-26 | International Business Machines Corporation | Skip list data storage during compilation |
CA2321016A1 (en) * | 2000-09-27 | 2002-03-27 | Ibm Canada Limited-Ibm Canada Limitee | Interprocedural dead store elimination |
US6751792B1 (en) * | 2000-10-04 | 2004-06-15 | Sun Microsystems, Inc. | Using value-expression graphs for data-flow optimizations |
US6839893B2 (en) * | 2001-10-18 | 2005-01-04 | International Business Machines Corporation | Debugger capable of providing warnings for unreachable breakpoints |
US7043721B2 (en) * | 2002-03-18 | 2006-05-09 | International Business Machines Corporation | Initial object capacity determination |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
US7299458B2 (en) * | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7500230B2 (en) * | 2005-03-25 | 2009-03-03 | Microsoft Corporation | Raising native software code |
-
2002
- 2002-10-31 US US10/285,299 patent/US6983456B2/en not_active Expired - Lifetime
-
2003
- 2003-01-14 US US10/345,082 patent/US7134120B2/en not_active Expired - Lifetime
- 2003-09-30 WO PCT/US2003/030988 patent/WO2004042929A2/en active Search and Examination
- 2003-09-30 AU AU2003275340A patent/AU2003275340A1/en not_active Abandoned
- 2003-09-30 EP EP03759616A patent/EP1556758A4/en not_active Withdrawn
- 2003-09-30 JP JP2004549981A patent/JP4482454B2/ja not_active Expired - Lifetime
- 2003-09-30 CA CA002502892A patent/CA2502892A1/en not_active Abandoned
-
2005
- 2005-10-04 US US11/243,498 patent/US7703085B2/en not_active Expired - Fee Related
-
2009
- 2009-12-28 JP JP2009297725A patent/JP5036801B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320214A (ja) * | 1997-04-09 | 1998-12-04 | Ricoh Co Ltd | コンパイルシステム及びコンピュータプログラム製品 |
JP2002508102A (ja) * | 1997-06-27 | 2002-03-12 | カメレオン・システムズ・インコーポレーテッド | 高水準プログラミング言語をコンパイルするための方法 |
JPH11250112A (ja) * | 1998-02-26 | 1999-09-17 | Sharp Corp | ハードウェア合成方法およびハードウェア合成装置並びにハードウェア合成プログラムを記録した記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235672B2 (en) | 2013-10-10 | 2016-01-12 | Socionext Inc. | High-level synthesis data generation apparatus, high-level synthesis apparatus, and high-level synthesis data generation method |
Also Published As
Publication number | Publication date |
---|---|
CA2502892A1 (en) | 2004-05-21 |
AU2003275340A1 (en) | 2004-06-07 |
EP1556758A2 (en) | 2005-07-27 |
US20060041872A1 (en) | 2006-02-23 |
WO2004042929A3 (en) | 2004-11-25 |
EP1556758A4 (en) | 2008-04-16 |
US20040088673A1 (en) | 2004-05-06 |
US6983456B2 (en) | 2006-01-03 |
JP2006505055A (ja) | 2006-02-09 |
US7134120B2 (en) | 2006-11-07 |
JP4482454B2 (ja) | 2010-06-16 |
US7703085B2 (en) | 2010-04-20 |
JP5036801B2 (ja) | 2012-09-26 |
WO2004042929A2 (en) | 2004-05-21 |
US20040088685A1 (en) | 2004-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5036801B2 (ja) | 高級プログラミング言語におけるプログラムをハイブリッド計算プラットフォームの統一された実行可能要素に変換するためのプロセス | |
JP4403080B2 (ja) | 再構成可能なハードウェアエミュレーションによる制御データフローグラフを用いたデバッグ | |
US6964029B2 (en) | System and method for partitioning control-dataflow graph representations | |
US7299458B2 (en) | System and method for converting control flow graph representations to control-dataflow graph representations | |
WO2000046704A2 (en) | Automated processor generation system and method for designing a configurable processor | |
Qin et al. | Architecture Description Languages for Retargetable Compilation. | |
US7702499B1 (en) | Systems and methods for performing software performance estimations | |
Wirthlin et al. | Synthesizing RTL hardware from Java byte codes | |
Chang | Compiler support for multiple-instruction-issue architectures | |
Manual | Rough Draft User Manual (KiwiC Version Alpha 0.3. 2e)(Sept 2017) | |
Poulsen et al. | EPG source code instrumentation tools-user manual | |
Kuchcinski et al. | Parallelism extraction from sequential programs for VLSI applications | |
Wahlen | C Compiler Aided Design of Application-Specific Instruction-Set Processors Using the Machine Description Language LISA | |
SVOBODA | ARCHITECTURE INFORMATION FOR LLVM COMPILER OPTIMIZATIONS | |
Mittal | A compiler infrastructure for compiling assembly and binary programs onto FPGAS | |
Chang | High-level cycle-accurate specification of microprocessors | |
Janssen | Enhancing the Move framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120417 |
|
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: 20120612 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5036801 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
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 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |