JP5479942B2 - 並列化方法、システム、及びプログラム - Google Patents
並列化方法、システム、及びプログラム Download PDFInfo
- Publication number
- JP5479942B2 JP5479942B2 JP2010035691A JP2010035691A JP5479942B2 JP 5479942 B2 JP5479942 B2 JP 5479942B2 JP 2010035691 A JP2010035691 A JP 2010035691A JP 2010035691 A JP2010035691 A JP 2010035691A JP 5479942 B2 JP5479942 B2 JP 5479942B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- strand
- blocks
- internal state
- strands
- 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.)
- Expired - Fee Related
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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
while (ts < EOS) {
// 出力
f1 = Aout(sA)
f2 = a(f1)
f3 = Bout(sB)
f4 = b(f3)
f5 = c(f4)
// 状態の更新
sA = Ain(f5)
sB = Bin(f2)
// 時間の更新
ts++
}
先ず、内部状態をもたないブロック(以下、SLBとも書く)は、必ず、所属するストランド内のSBの入力側か出力側に属する。
入力側に属するとは、同一ストランド内で、子供を辿っていくと、SBにぶつかるSLBをさす。
出力側に属するとは、同一ストランド内で、親を辿っていくと、SBにぶつかるSLBをさす。
尚、ブロックの親子関係とは、(親)→(子)のように、ブロック間の矢印の出所のブロックを親、矢印の行き先のブロックを子、とするものである。このような入力側ブロックと、出力側ブロックの例を、図7に示す。
但し、ループ構造中のSLBは、どちらにも所属可能であるが、それは、ストランド作成モジュール508のアルゴリズムによって一意的に決められる。
各候補Bi (i = 1,,n)を隣接ブロックに移動させた後にできる最大ストランドを、sk+1 max(i)とする。なお、図7を参照すると理解できるように、各候補Bi (i = 1,,n)は、隣接ストランド中のブロックとの接続関係で、どの隣接ストランドに移動するかが決定される。
|sk max| − |sk+1 max(i)|を最大にするようなiを見つけ、そのiをjとおく。なお、|s|のような記法は、sの計算時間を意味する。
|sk max| − |sk+1 max(j)| > 0かどうか、判断する。
|sk max| − |sk+1 max(j)| > 0であるということは、より最適なブロックの移動の余地があるということを意味するので、ストランド・バランシング・モジュール510は、ステップ614に進んで、Bj中の全ブロックを隣接ストランドに移動する処理を行う。ステップ614では更に、kを1だけ増分し、新たにできるストランド集合がSkとされる。
(1) 使用ブロック数 = 0で、定義ブロック数 = 0:
この場合は、その機能ブロックは、隣接する、使用ブロック数 = 0、定義ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(2) 使用ブロック数 = 0で、定義ブロック数 = 1:
この場合は、その機能ブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(3) 使用ブロック数 = 0で、定義ブロック数 > 1:
この場合は、その機能ブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(4) 使用ブロック数 = 1で、定義ブロック数 = 0:
この場合は、その機能ブロックは、隣接する定義ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(5) 使用ブロック数 = 1で、定義ブロック数 = 1:
この場合は、その機能ブロックは、定義ブロックと同じストランドに割り当てられる。ただし、
後で負荷バランスのために、割当てし直すことがある。
(6) 使用ブロック数 = 1で、定義ブロック数 > 1:
この場合は、その機能ブロックは、使用ブロックと同じストランドに割り当てられる。
(7) 使用ブロック数 > 1で、定義ブロック数 = 0:
この場合は、その機能ブロックは、隣接する定義ブロック数=0となるブロックと同じストランドに割り当てられる。
(8) 使用ブロック数 > 1で、定義ブロック数 = 1:
この場合は、その機能ブロックは、定義ブロックと同じストランドに割り当てられる。
(9) 使用ブロック数 > 1で、定義ブロック数 > 1:
この場合は、その機能ブロックは、重複して、使用ブロック集合の各使用ブロックのストランドに割り当てられる。
if ( 定義ブロック数 == 0 && 使用ブロック数 == 0 ) {
処理;
} else if ( 定義ブロック数 == 1 && 使用ブロック数 == 0 ) {
処理;
}
・・・
のようなステートメントで記述することができる。
404a、404b、・・・404n CPU
406 メイン・メモリ
408 バス
410 キーボード
412 マウス
414 ディスプレイ
416 ハードティスク・ドライブ
502 シミュレーション・モデリング・ツール
504 ソース・コード
506 解析モジュール
504 ソースコード
508 ストランド作成モジュール
512 コード生成モジュール
514 コンパイラ
516 実行環境
1402〜1410 ストランド
Claims (20)
- コンピュータの処理により、内部状態をもつブロックと、内部状態をもたないブロックを連結して構成されたコードを並列化する方法であって、
前記ブロックをノードとし、前記ブロックの間の接続をリンクとするグラフ表現を作成して、前記コンピュータのメモリに格納するステップと、
前記グラフ表現を辿ることによって、前記ブロックを複数のストランドに分けるステップであって、該各ストランドの入力から出力までのパス中に、内部状態をもつブロックを含まないパスが存在しないようにストランドに分けるステップと、
前記ストランドのうち、最大の計算時間をもつものを選択するステップと、
前記選択された最大の計算時間をもつストランドにおいて、内部状態をもたないブロックにつき、内部状態をもつブロックに対する親子関係に基づき、移動可能なブロックを特定するステップと、
前記移動可能なブロックを隣接ストランドに移動させた場合の最大の計算時間をもつストランドが、元の最大の計算時間をもつストランドよりも計算時間が減少することに基づき、前記移動可能なブロックを隣接ストランドに実際に移動させるステップを有する、
並列化方法。 - 前記移動可能なブロックを特定するステップが、同一ストランドで子ブロックを辿っていくと内部状態をもつブロックにぶつかる入力側ブロックと、同一ストランドで親ブロックを辿っていくと内部状態をもつブロックにぶつかる出力側ブロックから前記移動可能なブロックを特定し、前記入力側ブロックから特定されたブロックは、入力側にあるストランドに移動され、前記出力側ブロックから特定されたブロックは、出力側にあるストランドに移動される、請求項1に記載の並列化方法。
- 前記移動可能なブロックが入力側ブロックである場合、当該ブロックに直接入力を与える全てのストランドを一つに統合し、当該ブロックを全てのストランドから削除し、統合されてできた新しいストランドに当該ブロックを所属させる処理を行う、請求項2に記載の並列化方法。
- 前記移動可能なブロックが出力側ブロックである場合、当該ブロックが直接出力を与える全てのストランドに当該ブロックをコピーし、上記最大の計算時間をもつストランドから当該ブロックを削除する処理を行う、請求項2に記載の並列化方法。
- 前記ストランドに分けるステップが、
前記グラフ表現上で前記ノードを順次訪問し、前記ノードが内部状態をもたないブロックであることに応答して、該内部状態をもたないブロックから内部状態をもつブロックへの入力を検出して該内部状態をもつブロックを使用ブロック集合として前記メモリに記憶し、内部状態をもつブロックから該内部状態をもたないブロックへの入力を検出して該内部状態をもつブロックを定義ブロック集合として前記メモリに記憶するステップと、
前記ブロックに関連して記憶された前記使用ブロック集合の情報及び前記定義ブロック集合の情報に基づき、ブロックのストランドを形成するステップを有する、
請求項1に記載の並列化方法。 - 前記ストランドを形成するステップでは、下記の条件に従い前記ストランドが形成される、請求項5に記載の並列化方法。
(1) 使用ブロック数 = 0で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する、使用ブロック数 = 0、定義ブロック数 =0となるブロックと同じストランドに割り当てられる。
(2) 使用ブロック数 = 0で、定義ブロック数 = 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(3) 使用ブロック数 = 0で、定義ブロック数 > 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(4) 使用ブロック数 = 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(5) 使用ブロック数 = 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(6) 使用ブロック数 = 1で、定義ブロック数 > 1:
この場合は、そのブロックは、使用ブロックと同じストランドに割り当てられる。
(7) 使用ブロック数 > 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数=0となるブロックと同じストランドに割り当てられる。
(8) 使用ブロック数 > 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(9) 使用ブロック数 > 1で、定義ブロック数 > 1:
この場合は、そのブロックは、重複して、使用ブロック集合の各使用ブロックのストランドに割り当てられる。 - マルチコアまたはマルチプロセッサの環境において、請求項1に記載の方法にさらに、前記ストランドを個別にコンパイルして実行可能コードを生成するステップと、前記生成された実行可能コードを、個別に前記コアまたはプロセッサに割り当てて実行させるステップを有する、並列化されたコードの実行方法。
- コンピュータの処理により、内部状態をもつブロックと、内部状態をもたないブロックを連結して構成されたコードを並列化するプログラムであって、
前記コンピュータをして、
前記ブロックをノードとし、前記ブロックの間の接続をリンクとするグラフ表現を作成して、前記コンピュータのメモリに格納するステップと、
前記グラフ表現を辿ることによって、前記ブロックを複数のストランドに分けるステップであって、該各ストランドの入力から出力までのパス中に、内部状態をもつブロックを含まないパスが存在しないようにストランドに分けるステップと、
前記ストランドのうち、最大の計算時間をもつものを選択するステップと、
前記選択された最大の計算時間をもつストランドにおいて、内部状態をもたないブロックにつき、内部状態をもつブロックに対する親子関係に基づき、移動可能なブロックを特定するステップと、
前記移動可能なブロックを隣接ストランドに移動させた場合の最大の計算時間をもつストランドが、元の最大の計算時間をもつストランドよりも計算時間が減少することに基づき、前記移動可能なブロックを隣接ストランドに実際に移動させるステップを実行させる、
並列化プログラム。 - 前記移動可能なブロックを特定するステップが、同一ストランドで子ブロックを辿っていくと内部状態をもつブロックにぶつかる入力側ブロックと、同一ストランドで親ブロックを辿っていくと内部状態をもつブロックにぶつかる出力側ブロックから前記移動可能なブロックを特定し、前記入力側ブロックから特定されたブロックは、入力側にあるストランドに移動され、前記出力側ブロックから特定されたブロックは、出力側にあるストランドに移動される、請求項8に記載の並列化プログラム。
- 前記移動可能なブロックが入力側ブロックである場合、当該ブロックに直接入力を与える全てのストランドを一つに統合し、当該ブロックを全てのストランドから削除し、統合されてできた新しいストランドに当該ブロックを所属させる処理を行う、請求項9に記載の並列化プログラム。
- 前記移動可能なブロックが出力側ブロックである場合、当該ブロックが直接出力を与える全てのストランドに当該ブロックをコピーし、上記最大の計算時間をもつストランドから当該ブロックを削除する処理を行う、請求項9に記載の並列化プログラム。
- 前記ストランドに分けるステップが、前記グラフ表現上で前記ノードを順次訪問し、前記ノードが内部状態をもたないブロックであることに応答して、該内部状態をもたないブロックから内部状態をもつブロックへの入力を検出して該内部状態をもつブロックを使用ブロック集合として前記メモリに記憶し、内部状態をもつブロックから該内部状態をもたないブロックへの入力を検出して該内部状態をもつブロックを定義ブロック集合として前記メモリに記憶するステップと、
前記ブロックに関連して記憶された前記使用ブロック集合の情報及び前記定義ブロック集合の情報に基づき、ブロックのストランドを形成するステップを有する、
請求項8に記載の並列化プログラム。 - 前記ストランドを形成するステップでは、下記の条件に従い前記ストランドが形成される、請求項12に記載の並列化プログラム。
(1) 使用ブロック数 = 0で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する、使用ブロック数 = 0、定義ブロック数 =0となるブロックと同じストランドに割り当てられる。
(2) 使用ブロック数 = 0で、定義ブロック数 = 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(3) 使用ブロック数 = 0で、定義ブロック数 > 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(4) 使用ブロック数 = 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(5) 使用ブロック数 = 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(6) 使用ブロック数 = 1で、定義ブロック数 > 1:
この場合は、そのブロックは、使用ブロックと同じストランドに割り当てられる。
(7) 使用ブロック数 > 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数=0となるブロックと同じストランドに割り当てられる。
(8) 使用ブロック数 > 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(9) 使用ブロック数 > 1で、定義ブロック数 > 1:
この場合は、そのブロックは、重複して、使用ブロック集合の各使用ブロックのストランドに割り当てられる。 - コンピュータの処理により、内部状態をもつブロックと、内部状態をもたないブロックを連結して構成されたコードを並列化するシステムであって、
メモリと、
前記ブロックをノードとし、前記ブロックの間の接続をリンクとするグラフ表現を作成して、前記メモリに格納する手段と、
前記グラフ表現を辿ることによって、前記ブロックを複数のストランドに分けるステップであって、該各ストランドの入力から出力までのパス中に、内部状態をもつブロックを含まないパスが存在しないようにストランドに分ける手段と、
前記ストランドのうち、最大の計算時間をもつものを選択する手段と、
前記選択された最大の計算時間をもつストランドにおいて、内部状態をもたないブロックにつき、内部状態をもつブロックに対する親子関係に基づき、移動可能なブロックを特定するステップと、
前記移動可能なブロックを隣接ストランドに移動させた場合の最大の計算時間をもつストランドが、元の最大の計算時間をもつストランドよりも計算時間が減少することに基づき、前記移動可能なブロックを隣接ストランドに実際に移動させる手段を有する、
並列化システム。 - 前記移動可能なブロックを特定する手段が、同一ストランドで子ブロックを辿っていくと内部状態をもつブロックにぶつかる入力側ブロックと、同一ストランドで親ブロックを辿っていくと内部状態をもつブロックにぶつかる出力側ブロックから前記移動可能なブロックを特定し、前記入力側ブロックから特定されたブロックは、入力側にあるストランドに移動され、前記出力側ブロックから特定されたブロックは、出力側にあるストランドに移動される、請求項14に記載の並列化システム。
- 前記移動可能なブロックが入力側ブロックである場合、当該ブロックに直接入力を与える全てのストランドを一つに統合し、当該ブロックを全てのストランドから削除し、統合されてできた新しいストランドに当該ブロックを所属させる処理を行う、請求項15に記載の並列化システム。
- 前記移動可能なブロックが出力側ブロックである場合、当該ブロックが直接出力を与える全てのストランドに当該ブロックをコピーし、上記最大の計算時間をもつストランドから当該ブロックを削除する処理を行う、請求項15に記載の並列化システム。
- 前記ストランドに分ける手段が、
前記グラフ表現上で前記ノードを順次訪問し、前記ノードが内部状態をもたないブロックであることに応答して、該内部状態をもたないブロックから内部状態をもつブロックへの入力を検出して該内部状態をもつブロックを使用ブロック集合として前記メモリに記憶し、内部状態をもつブロックから該内部状態をもたないブロックへの入力を検出して該内部状態をもつブロックを定義ブロック集合として前記メモリに記憶する手段と、
前記ブロックに関連して記憶された前記使用ブロック集合の情報及び前記定義ブロック集合の情報に基づき、ブロックのストランドを形成する手段を有する、
請求項14に記載の並列化システム。 - 前記ストランドを形成するステップでは、下記の条件に従い前記ストランドが形成される、請求項18に記載の並列化システム。
(1) 使用ブロック数 = 0で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する、使用ブロック数 = 0、定義ブロック数 =0となるブロックと同じストランドに割り当てられる。
(2) 使用ブロック数 = 0で、定義ブロック数 = 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(3) 使用ブロック数 = 0で、定義ブロック数 > 1:
この場合は、そのブロックは、隣接する使用ブロック数 = 0となるブロックと同じ
ストランドに割り当てられる。
(4) 使用ブロック数 = 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数 = 0となるブロックと同じストランドに割り当てられる。
(5) 使用ブロック数 = 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(6) 使用ブロック数 = 1で、定義ブロック数 > 1:
この場合は、そのブロックは、使用ブロックと同じストランドに割り当てられる。
(7) 使用ブロック数 > 1で、定義ブロック数 = 0:
この場合は、そのブロックは、隣接する定義ブロック数=0となるブロックと同じストランドに割り当てられる。
(8) 使用ブロック数 > 1で、定義ブロック数 = 1:
この場合は、そのブロックは、定義ブロックと同じストランドに割り当てられる。
(9) 使用ブロック数 > 1で、定義ブロック数 > 1:
この場合は、そのブロックは、重複して、使用ブロック集合の各使用ブロックのストランドに割り当てられる。 - マルチコアまたはマルチプロセッサの環境において、請求項14に記載のシステムにさらに、前記ストランドを個別にコンパイルして実行可能コードを生成する手段と、前記生成された実行可能コードを、個別に前記コアまたはプロセッサに割り当てて実行させる手段を有する、並列化されたコードの実行システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010035691A JP5479942B2 (ja) | 2010-02-22 | 2010-02-22 | 並列化方法、システム、及びプログラム |
US13/031,666 US8959498B2 (en) | 2010-02-22 | 2011-02-22 | Parallelization method, system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010035691A JP5479942B2 (ja) | 2010-02-22 | 2010-02-22 | 並列化方法、システム、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011170732A JP2011170732A (ja) | 2011-09-01 |
JP5479942B2 true JP5479942B2 (ja) | 2014-04-23 |
Family
ID=44477552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010035691A Expired - Fee Related JP5479942B2 (ja) | 2010-02-22 | 2010-02-22 | 並列化方法、システム、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8959498B2 (ja) |
JP (1) | JP5479942B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7793276B2 (en) * | 2003-11-14 | 2010-09-07 | Intel Corporation | Apparatus and method for automatically parallelizing network applications through pipelining transformation |
JP5204300B2 (ja) * | 2009-04-28 | 2013-06-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム |
US8661424B2 (en) * | 2010-09-02 | 2014-02-25 | Honeywell International Inc. | Auto-generation of concurrent code for multi-core applications |
JP6004818B2 (ja) * | 2012-08-07 | 2016-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 並列化方法、システム、及びプログラム |
KR102182198B1 (ko) * | 2015-08-11 | 2020-11-24 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 처리 그래프 컴파일 |
US11176698B2 (en) * | 2016-03-30 | 2021-11-16 | Nec Corporation | Analysis apparatus, analysis method, and storage medium |
US11308595B1 (en) * | 2020-03-19 | 2022-04-19 | Descartes Labs, Inc. | Thermal anomaly detection and classification |
US20230108560A1 (en) * | 2021-10-04 | 2023-04-06 | Changfeng C Wang | Methods and Systems for Representation, Composition and Execution of Artificial Intelligence Centric Applications |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09167144A (ja) * | 1995-12-19 | 1997-06-24 | Hitachi Eng Co Ltd | プログラム作成方法およびプログラム作成システム |
JP3658061B2 (ja) * | 1995-12-20 | 2005-06-08 | 株式会社日立製作所 | Faシステムの制御装置と方法、制御プログラム生成方法 |
JP2001092647A (ja) * | 1999-09-27 | 2001-04-06 | Hitachi Ltd | プロセス定義情報からフロー制御プログラムへの変換方法 |
US6609216B1 (en) * | 2000-06-16 | 2003-08-19 | International Business Machines Corporation | Method for measuring performance of code sequences in a production system |
JP3673809B2 (ja) | 2001-09-18 | 2005-07-20 | 独立行政法人 宇宙航空研究開発機構 | 多重反復処理超並列化ソースコード自動生成プログラム、自動生成装置および自動生成方法 |
US7793276B2 (en) | 2003-11-14 | 2010-09-07 | Intel Corporation | Apparatus and method for automatically parallelizing network applications through pipelining transformation |
JP2009251044A (ja) | 2008-04-01 | 2009-10-29 | Kawai Musical Instr Mfg Co Ltd | 電子楽器および音量制御方法 |
-
2010
- 2010-02-22 JP JP2010035691A patent/JP5479942B2/ja not_active Expired - Fee Related
-
2011
- 2011-02-22 US US13/031,666 patent/US8959498B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110209129A1 (en) | 2011-08-25 |
US8959498B2 (en) | 2015-02-17 |
JP2011170732A (ja) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4886838B2 (ja) | 並列化方法、システム、及びプログラム | |
JP4629768B2 (ja) | 並列化処理方法、システム、及びプログラム | |
JP4931978B2 (ja) | 並列化処理方法、システム、及びプログラム | |
JP5479942B2 (ja) | 並列化方法、システム、及びプログラム | |
JP5209059B2 (ja) | ソース・コード処理方法、システム、及びプログラム | |
JP6021342B2 (ja) | 並列化方法、システム、及びプログラム | |
US8234637B2 (en) | Non-blocking semantics for modeling systems | |
JP4988789B2 (ja) | シミュレーション・システム、方法及びプログラム | |
Aronsson | Automatic parallelization of equation-based simulation programs | |
Bakhtin et al. | DVM-approach to the automation of the development of parallel programs for clusters | |
Bruce et al. | Enabling reproducible and agile full-system simulation | |
JP6004818B2 (ja) | 並列化方法、システム、及びプログラム | |
Ramaswamy et al. | Scalable behavioral emulation of extreme-scale systems using structural simulation toolkit | |
Krämer et al. | Executing cyclic scientific workflows in the cloud | |
Chen et al. | Slapo: A schedule language for progressive optimization of large deep learning model training | |
JPH05101141A (ja) | 高位合成装置 | |
JP7521597B2 (ja) | オフロードサーバ、オフロード制御方法およびオフロードプログラム | |
JP5775386B2 (ja) | 並列化方法、システム、及びプログラム | |
Armstrong et al. | ExM: High level dataflow programming for extreme-scale systems | |
Catthoor et al. | Run-Time Exploitation of Application Dynamism for Energy-Efficient Exascale Computing | |
Schrammel et al. | Generating test case chains for reactive systems | |
US10241764B2 (en) | Automatically transform pass-by-value semantics into pass-by-reference implementation | |
JP7385536B2 (ja) | ソフトウェア開発支援装置及びソフトウェア開発支援方法 | |
JPH06231203A (ja) | シミュレーションモデルのためのコンパイルメカニズム | |
Ivutin et al. | Low-level Code Auto-tuning for State-of-the-art Multicore Architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120906 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131225 |
|
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: 20140128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5479942 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |