JPH0736680A - Parallel program development support device - Google Patents
Parallel program development support deviceInfo
- Publication number
- JPH0736680A JPH0736680A JP5202056A JP20205693A JPH0736680A JP H0736680 A JPH0736680 A JP H0736680A JP 5202056 A JP5202056 A JP 5202056A JP 20205693 A JP20205693 A JP 20205693A JP H0736680 A JPH0736680 A JP H0736680A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- program
- unit
- development support
- 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.)
- Withdrawn
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 プログラム中の並列化できる可能性のある箇
所を自動的に検出し、それを知らせる並列化プログラム
開発支援装置を提供すること
【構成】 公知のコンパイラ1に開発支援装置2が接続
される。すなわち、プログラム解析部4を共有し、その
プログラム解析部にて所定の処理を行うブロック単位に
分割し、解析ツリー生成部13にてブロックの依存関係
を検出してツリー構造を生成する。ツリー化をすること
により分岐され互いに依存関係のないブロック同士は並
列処理可能であることがわかるのでそれをブロックエン
トリー部14にて検出し、各ブロック名,プログラムの
行番号並びに関連する他のブロックについてテーブルを
作成し、二次記憶部15に格納する。表示用データ作成
部16では、二次記憶部に格納されたデータに基づいて
依存関係のない並列化可能なブロックを抽出し、少なく
とも並列可能なブロックに関する情報を出力する。
(57) [Abstract] [Purpose] To provide a parallelized program development support device that automatically detects a possible parallelization part in a program and notifies it [Configuration] Development support for a well-known compiler 1 The device 2 is connected. In other words, the program analysis unit 4 is shared, the program analysis unit 4 divides the program into predetermined blocks, and the analytic tree generation unit 13 detects a block dependency and generates a tree structure. Since it can be seen that the blocks that are branched by the tree formation and have no dependency relationship with each other can be processed in parallel, they are detected by the block entry unit 14, and each block name, line number of the program and other related blocks are detected. Table is created and stored in the secondary storage unit 15. The display data creation unit 16 extracts parallelizable blocks having no dependency relationship based on the data stored in the secondary storage unit, and outputs at least information regarding the parallelizable blocks.
Description
【0001】[0001]
【産業上の利用分野】本発明は、並列化プログラム開発
支援装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel program development support device.
【0002】[0002]
【発明の背景】従来、アプリケーションの高速処理等の
ための並列化プログラムを作成する場合、プログラマー
が予め並列化することを意識して作成しなければならな
かった。また、多くの場合、並列化を意識せずにプログ
ラムを作成するが、係る場合に、作成後並列化しようと
すると、プログラマーは自分でプログラムリスト全体を
再検討しながら並列化用のプログラムを修正・作成しな
ければならず、その作業は煩雑である。しかも、プログ
ラムの容量が大きくなればなるほど、並列化できるとこ
ろを検出することも困難となる。2. Description of the Related Art Conventionally, when creating a parallelized program for high-speed processing of an application or the like, a programmer had to be prepared in advance in consideration of parallelization. In many cases, programs are created without being aware of parallelization, but in such cases, when attempting to parallelize after creation, the programmer modifies the program for parallelization while reviewing the entire program list by himself.・ It has to be created, and its work is complicated. Moreover, the larger the capacity of the program, the more difficult it is to detect where parallelization is possible.
【0003】また、コンパイラが自動的に並列化を行う
ものもあったが、これも予めコンパイルできるようにプ
ログラムを作成する必要があり、その適用範囲も狭く汎
用性に欠けるものであった。Some compilers automatically perform parallelization, but it is also necessary to create a program so that the compiler can be compiled in advance, and the applicable range is narrow and lacks versatility.
【0004】本発明は、上記した背景に鑑みてなされた
もので、その目的とするところは、たとえプログラマー
が並列化のことを意識せずに作成したプログラムであっ
ても、並列化できる可能性のあるところを自動的に検出
し、それを知らせることによりプログラム開発の支援を
行うことのできる並列化プログラム開発支援装置を提供
することにある。The present invention has been made in view of the above background, and an object of the present invention is that even a program created by a programmer without being aware of parallelization can be parallelized. It is an object of the present invention to provide a parallelized program development supporting device capable of supporting program development by automatically detecting a certain place and notifying it.
【0005】[0005]
【課題を解決するための手段】上記した目的を達成する
ために、本発明に係る並列化プログラム開発支援装置で
は、与えられたプログラムを所定の処理を行うブロック
単位に分割するブロック分割手段4と、そのブロック分
割手段により分割されたブロックの依存関係を検出しツ
リー構造を生成する解析ツリー生成手段13と、解析ツ
リー生成手段の出力を受け、少なくとも前記各ブロック
を構成するプログラム部位の存在箇所並びにそのブロッ
クが接続される親ブロックと子ブロックの情報を関連付
けるとともに記憶手段15に格納する手段14と、前記
記憶手段に格納された前記関連付けられた情報に基づい
て、相互に依存関係のない並列化可能なブロックを抽出
すると共に、少なくともその並列可能なブロックに関す
る情報を出力する手段16とから構成した。In order to achieve the above-mentioned object, the parallelized program development supporting apparatus according to the present invention comprises a block dividing means 4 for dividing a given program into blocks for performing predetermined processing. , An analysis tree generating means 13 for detecting a dependency relationship of the blocks divided by the block dividing means and generating a tree structure, and an output portion of the analysis tree generating means, and at least an existing portion of a program part constituting each block, A means 14 for associating information of a parent block and a child block to which the block is connected and storing the same in a storage means 15, and parallelization having no mutual dependence on the basis of the associated information stored in the storage means. Extract possible blocks and output at least information about the parallelizable blocks It was constructed from the stage 16..
【0006】[0006]
【作用】プログラムをブロック分割手段に入力すると、
そこにおいて所定の処理を行うブロック単位に分割し、
その分割されれたブロックを解析ツリー生成手段13に
送り、相互の依存関係・接続関係を検出してツリー構造
を生成する。ツリー化をすることにより、各ブロックの
接続関係は明確になり、あるブロックから分岐され互い
に依存関係のないブロックがあるとそのブロック同士は
並列処理可能であることがわかるのでそれを検出し記憶
手段に格納する。そして情報を出力する手段により、上
記記憶手段に格納されたデータを読み出すと共に依存関
係のない並列化可能なブロックを抽出し、少なくとも並
列可能なブロックに関する情報を出力する。すると、プ
ログラマー等は、係る出力された情報を見ることによ
り、一連のプログラムの中で並列可能な箇所を容易に認
識することができるため、係る並列化情報に基づいて並
列化プログラミングを行うことになる。When the program is input to the block dividing means,
Divide into blocks that perform predetermined processing there,
The divided blocks are sent to the analysis tree generation means 13 to detect mutual dependency relationships / connection relationships and generate a tree structure. By forming a tree, the connection relationship of each block becomes clear, and if there is a block that branches from a certain block and has no dependency on each other, it can be seen that the blocks can be processed in parallel. To store. Then, the means for outputting information reads out the data stored in the storage means, extracts parallelizable blocks having no dependency relationship, and outputs at least information on the parallelizable blocks. Then, the programmer or the like can easily recognize the parallelizable part in the series of programs by looking at the output information, and therefore, the parallelization programming is performed based on the parallelization information. Become.
【0007】[0007]
【実施例】以下、本発明に係る並列化プログラム開発支
援装置の好適な実施例を添付図面を参照にして詳述す
る。図1は本発明の一実施例の全体構成を示している。
同図に示すように、公知のコンパイラ1に本発明の並列
化プログラム開発支援装置2を接続している。すなわ
ち、コンパイラ1は、原始言語(ソースコード)を生成
する(一部拡張された場合には、コンパイラ処理可能な
現資源語で書かれたプログラムに変換することも行われ
る)プリプロセス処理部(プリコンパイラ)3の出力
(原子プログラム)を、プログラム解析モジュール4に
送り、ここにおいて与えられた原始プログラムの文字列
を意味のある基本単位の字句に分割分化すると共に、原
子言語として許されている構文であるか否かのチェッ
ク,文がどの様な階層構成になっているか等の構文解析
を行うようになっている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A preferred embodiment of a parallelized program development supporting apparatus according to the present invention will be described in detail below with reference to the accompanying drawings. FIG. 1 shows the overall configuration of an embodiment of the present invention.
As shown in the figure, a parallelized program development support device 2 of the present invention is connected to a known compiler 1. That is, the compiler 1 generates a source language (source code) (when partially expanded, it is also converted into a program written in a current resource word that can be processed by the compiler) The output of the precompiler 3 (atomic program) is sent to the program analysis module 4, and the character string of the source program given here is divided into lexical units of a meaningful basic unit and is permitted as an atomic language. It is designed to check whether or not it is a syntax, and to perform a syntax analysis such as what kind of hierarchical structure the sentence has.
【0008】そして、その構文解析結果を次段の意味解
析部5に送り、そこにおいて構文解析された結果をもと
に、意味的な正しさのチェックを行い、変数宣言されて
いる場合にはその変数の名前,型等の情報を記号表に登
録し、また、実行文を認識した場合にはその実行文の内
容の特定,その文中に使用されている変数などのチェッ
クをし、それに対応する内部形式を生成した後、係る意
味解析結果を最適化部6に送る。Then, the result of the syntax analysis is sent to the semantic analysis unit 5 in the next stage, and the semantic correctness is checked based on the result of the syntax analysis in the next stage, and if the variable is declared, Information such as the name and type of the variable is registered in the symbol table, and when the executable statement is recognized, the content of the executable statement is specified, the variables used in the statement are checked, and the corresponding After generating the internal format, the semantic analysis result is sent to the optimization unit 6.
【0009】最適化部6では、与えられた内部形式等を
検査し、冗長な処理をなくし、実行速度のより速い命
令,より小さい目的プログラムの生成を可能にするべく
中間言語の改良を行うようになっている。そして、上記
各処理の結果が、最終段のコード生成部7に与えられ、
アセンブリ言語,機械語などの目的コードに変換するよ
うになっている。なお、上記した各モジュール3〜7
は、従来公知のコンパイラと同様であるため、各部の機
能の詳細な説明は省略する。The optimization unit 6 checks the given internal format and the like, eliminates redundant processing, and improves the intermediate language so as to enable generation of instructions having a faster execution speed and a smaller target program. It has become. Then, the result of each of the above processes is given to the code generator 7 at the final stage,
It is designed to be converted into a target code such as assembly language or machine language. In addition, each of the above-mentioned modules 3 to 7
Is the same as a conventionally known compiler, and detailed description of the function of each unit is omitted.
【0010】次に開発支援装置2について詳述すると、
本例では上記プログラム解析モジュール4を含み、その
プログラム解析モジュール4から出力される解析結果に
基づいて所定の処理を行うものである。そして、説明の
便宜上プログラム解析モジュール4の内部構成について
説明する。Next, the development support device 2 will be described in detail.
In this example, the program analysis module 4 is included, and predetermined processing is performed based on the analysis result output from the program analysis module 4. Then, for convenience of explanation, the internal configuration of the program analysis module 4 will be described.
【0011】図2に示すように、プログラム解析部4
は、大域ブロックに対して解析を行う大域ブロック依存
解析部11と、小ブロックに対して解析を行う小ブロッ
ク依存解析部12とから構成されている。ここで大域ブ
ロックとは、例えば複数のプログラムを合成して1つの
新たなプログラムを生成したような場合には、合成前の
各プログラムの単位が大域ブロックとなり、関数,ファ
イル名が変わるような大きな単位である。また、小ブロ
ックとは、一つのループを構成する部分や、if条件文
の及ぶ範囲などのある処理を実行し得る単位をいう。As shown in FIG. 2, the program analysis unit 4
Is composed of a global block dependency analysis unit 11 that analyzes a global block and a small block dependency analysis unit 12 that analyzes a small block. Here, a global block is a large block in which, for example, when a plurality of programs are combined to generate one new program, the unit of each program before the combination is a global block, and the function and file name change. It is a unit. A small block is a unit that can execute a certain process, such as a part forming one loop or a range covered by an if conditional statement.
【0012】そして、大域ブロック依存解析部11で
は、具体的にはファイル依存解析部11aにて、プログ
ラム中の「ファイル」,「関数」,「ジャンプ」を検出
し、その単位で分割して各大域ブロックと設定する。そ
して、関数依存解析部14にて各大域ブロック中に存在
する変数を参照することにより各大域ブロック間の依存
関係を検出する。In the global block dependency analysis unit 11, specifically, the file dependency analysis unit 11a detects "file", "function", and "jump" in the program and divides them into units to divide them. Set as global block. Then, the function dependence analysis unit 14 refers to the variable existing in each global block to detect the dependency between the global blocks.
【0013】小ブロック依存解析部12は、構文解析部
12a並びに字句解析部12bを有し、与えられた各大
域ブロック毎に上記した構文解析並びに字句解析を行い
各小ブロック間の依存関係を検出する。また係る処理と
並列にそのブロック内を小ブロックに分割する。この分
割処理は、分岐命令単位に行う。すなわち、プログラム
を走査して分岐命令を検出し、原則として1つの分岐命
令から次の分岐命令の1つ上までが1つの小ブロックを
構成する。但し1のループ内に別のループが存在する入
子構造の場合には、一番外枠が小ブロックの単位とな
る。The small block dependency analysis unit 12 has a syntax analysis unit 12a and a lexical analysis unit 12b, and performs the above-described syntactic analysis and lexical analysis for each given global block to detect the dependency relationship between the small blocks. To do. In addition, the block is divided into small blocks in parallel with the processing. This division processing is performed for each branch instruction. That is, a program is scanned to detect a branch instruction, and in principle, one branch instruction to the next branch instruction up to one constitutes a small block. However, in the case of a nested structure in which another loop exists within one loop, the outermost frame becomes a unit of a small block.
【0014】そして、上記プログラム解析部4の出力
が、解析ツリー生成部13に与えられる。この解析ツリ
ー生成部13では、内蔵するブロックレベル分割部13
aにより、与えられた小ブロック間の依存関係に基づい
てそれぞれ各ブロックをノードとしたツリーが生成され
るとともに、各小ブロックにレベル値が設定される。こ
のレベル値は、ツリーの頂点の小ブロックを1とし、以
下、分岐が起こるごとにレベル値をインクリメントする
ようになっている。したがって、図3に示すように複数
のブロック(ブロック3とブロック7)であってもそれ
が直列接続されている(分岐しない)ような場合には、
それらは同一のレベル値が設定される。また、あるブロ
ック(ブロック4)から複数のブロック(ブロック5と
ブロック6)に分岐されたような場合には、係る複数の
ブロックも同一レベルとなる。The output of the program analysis section 4 is given to the analysis tree generation section 13. The analysis tree generation unit 13 includes a built-in block level division unit 13
With a, a tree in which each block is a node is generated based on the given dependency between the small blocks, and a level value is set for each small block. As for this level value, the small block at the top of the tree is set to 1, and thereafter, the level value is incremented every time a branch occurs. Therefore, even if a plurality of blocks (block 3 and block 7) are connected in series (not branched) as shown in FIG. 3,
They are set to the same level value. Further, when a certain block (block 4) is branched into a plurality of blocks (block 5 and block 6), the plurality of blocks are also at the same level.
【0015】さらに、この解析ツリー生成部13は、ブ
ロック修正部13bを有し、上記ブロックレベル分割部
13aによってレベル分割されたブロック構造に基づい
てブロックの統合処理を行う。具体的には、直列接続さ
れたブロックを統合して新たな単一のブロックとして再
定義するようにしている。すなわち、図3の例に従って
説明すると、例えばレベル1のブロック1とブロック2
を統合して新たなブロックとして定義(ブロックA)す
る。そして、この定義は、ソースプログラムの行番号で
行うようにしている。係るブロック修正を行うことによ
り図3に示すツリー構造が図4に示すように再定義され
る。Further, the analytic tree generation unit 13 has a block correction unit 13b, and performs block integration processing based on the block structure divided into levels by the block level division unit 13a. Specifically, the blocks connected in series are integrated and redefined as a new single block. That is, to explain according to the example of FIG. 3, for example, level 1 block 1 and block 2
Are integrated and defined as a new block (block A). Then, this definition is made by the line number of the source program. By performing such block correction, the tree structure shown in FIG. 3 is redefined as shown in FIG.
【0016】この様に再定義するのは、並列処理可能な
ブロック(モジュール)と不可能なブロック(モジュー
ル)とを明確化するためである。つまり、例えば図3に
示すブロック3とブロック4は、いずれもブロック2の
後に処理されるべきものでありしかも両者の間で変数の
参照などの依存関係が存在しないため並列実行可能であ
ることを意味する。同様にブロック7とブロック4との
間でも何等依存関係がないため並列処理が可能である
が、ブロック7はブロック3の後に処理されるものであ
り、すぐにブロック4と並列処理可能か否かの判断が困
難な場合がある。特に、プログラムの容量が増大し、ツ
リー構造が複雑化した場合にはなおさらである。しか
し、図4に示すように統合して再定義したツリー構造で
は並列処理が可能であるか否かがより簡単に判別するこ
とができるようになる。The redefinition is performed in order to clarify the blocks (modules) that can be processed in parallel and the blocks (modules) that cannot be processed in parallel. That is, for example, block 3 and block 4 shown in FIG. 3 should be processed after block 2, and since there is no dependency such as variable reference between them, they can be executed in parallel. means. Similarly, since there is no dependency between block 7 and block 4, parallel processing is possible, but block 7 is processed after block 3, and whether parallel processing is possible immediately with block 4 or not. May be difficult to judge. Especially when the program capacity is increased and the tree structure is complicated. However, as shown in FIG. 4, it is possible to more easily determine whether or not parallel processing is possible in the tree structure that is integrated and redefined.
【0017】一方、この様にしてブロック修正された結
果が次段のブロックエントリー部14に送られ、ここに
おいて与えられたツリー構造に基づいてブロックエント
リーテーブル(図5参照)が作成され、二次記憶部15
に格納される。具体的には、エントリーテーブル生成部
14aにて各ブロックの依存関係を検出し、そのブロッ
クのレベル値,ブロック名(再定義されたもの)並びに
ソースプログラムの行番号(ブロック修正部13bで定
義されている)と、そのブロックと接続関係(依存関
係)にある親ブロック名並びに子ブロック名のテーブル
を作成する。そして、その様にして作成されたテーブル
が書込み部14bを介して二次記憶部15に格納され
る。On the other hand, the result of the block correction thus sent is sent to the block entry unit 14 of the next stage, and the block entry table (see FIG. 5) is created based on the tree structure given here, and the secondary entry is made. Storage unit 15
Stored in. Specifically, the entry table generation unit 14a detects the dependency of each block, and the level value of the block, the block name (redefined), and the line number of the source program (defined by the block correction unit 13b). , And a table of parent block names and child block names that have a connection relationship (dependency relationship) with the block. Then, the table thus created is stored in the secondary storage unit 15 via the writing unit 14b.
【0018】さらに、この二次記憶部15に格納された
テーブルデータは、表示用データ作成部16により読み
出され、並列化情報、すなわちブロックの依存関係グラ
フ(図4に示すツリー)化し、並列化可能なブロックの
ソースプログラムの行番号を抽出し、それを図外の表示
装置,プリンタなどの出力装置に対して出力するように
なっている。これにより、プログラム作成者等は、出力
された情報に基づいて並列化可能なブロック(モジュー
ル)を容易に認識することができ、その情報に基づいて
ソースプログラムに対して並列化処理可能になるように
所定の修正処理を施す。すなわち、並列化を意識しない
で作成したプログラムに対し、本装置を実行することに
より並列化可能な箇所を自動的に検出することができ、
開発支援が行われ、並列化プログラムの開発に要する労
力・時間が軽減する。Further, the table data stored in the secondary storage unit 15 is read out by the display data creating unit 16 and converted into parallelization information, that is, a block dependency graph (tree shown in FIG. 4) and parallelized. The line number of the source program of the convertible block is extracted and output to an output device such as a display device or a printer (not shown). As a result, the program creator or the like can easily recognize a block (module) that can be parallelized based on the output information, and can perform parallelization processing on the source program based on the information. A predetermined correction process is applied to the. In other words, by executing this device for a program created without paying attention to parallelization, it is possible to automatically detect points that can be parallelized.
Development support is provided to reduce the labor and time required to develop parallel programs.
【0019】そして、かかる機能をデバッガに取り入れ
ることにより、デバッグ効率が向上する。また、並列コ
ンパイラの性能評価にも使用することができる。さらに
は、専用ユーザインタフェースでプログラムの依存関係
や並列情報が表示されるため、プログラム構造分析や並
列化プログラミングのトレーニングに有効に機能する。
すなわち、並列化を意識して作成したプログラムを本装
置に入力することにより、並列状態をツリー構造という
視覚で簡単に認識できるため、自己が行った並列化プロ
グラミングの評価ができるのである。By incorporating such a function in the debugger, the debugging efficiency is improved. It can also be used for performance evaluation of parallel compilers. Furthermore, since the dependency relation and parallel information of the program are displayed on the dedicated user interface, it effectively functions for training of program structure analysis and parallel programming.
That is, by inputting a program created in consideration of parallelization to this device, the parallel state can be easily recognized visually with a tree structure, so that the parallelized programming performed by itself can be evaluated.
【0020】[0020]
【発明の効果】以上のように、本発明に係る並列化プロ
グラム開発支援装置では、並列化可能なブロック(プロ
グラムの所定のモジュール)を自動的に検出し、表示等
の出力がされる。すなわち、検出困難な並列化可能な箇
所が自動的に抽出されるため、開発に要する時間・労力
が短縮される。また、ブロック分割手段で分割された所
定のブロックを統合する手段を設けた場合には、より各
ブロックの接続状況が明確になり、並列プログラミング
の開発支援効率が上昇する。As described above, in the parallelized program development supporting apparatus according to the present invention, the blocks (predetermined modules of the program) which can be parallelized are automatically detected, and outputs such as display are output. That is, since the locations that are difficult to detect and can be parallelized are automatically extracted, the time and labor required for development can be reduced. Further, when the means for integrating the predetermined blocks divided by the block dividing means is provided, the connection status of each block becomes clearer, and the development support efficiency of parallel programming increases.
【図1】本発明に係る開発支援装置の好適な一実施例を
示すブロック図である。FIG. 1 is a block diagram showing a preferred embodiment of a development support device according to the present invention.
【図2】本実施例の開発支援装置の内部構造を示すブロ
ック図である。FIG. 2 is a block diagram showing an internal structure of a development support device of the present embodiment.
【図3】解析ツリー生成部のブロックレベル分割部の作
用を説明する図である。FIG. 3 is a diagram illustrating an operation of a block level division unit of an analysis tree generation unit.
【図4】解析ツリー生成部のブロックレベル修正部の作
用を説明する図である。FIG. 4 is a diagram illustrating an operation of a block level correction unit of an analysis tree generation unit.
【図5】二次記憶部に格納されるテーブルのデータ構造
の一例を示す図である。FIG. 5 is a diagram showing an example of a data structure of a table stored in a secondary storage unit.
2 並列化プログラム開発支援装置 4 プログラム解析部(ブロック分割部) 13 解析ツリー生成部 13a ブロックレベル分割部 13b ブロック修正部 14 ブロックエントリー部(記憶手段に格納する手
段) 15 二次記憶部(記憶手段) 16 表示用データ作成部(情報を出力する手段)2 parallelization program development support device 4 program analysis unit (block division unit) 13 analysis tree generation unit 13a block level division unit 13b block correction unit 14 block entry unit (means for storing in storage means) 15 secondary storage unit (storage means) ) 16 Display data creation unit (means for outputting information)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 茂木 義則 京都府京都市右京区花園土堂町10番地 オ ムロン株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Yoshinori Mogi 10 Ouron Co., Ltd. 10 Hanazono Dodocho, Ukyo-ku, Kyoto City, Kyoto Prefecture
Claims (2)
うブロック単位に分割するブロック分割手段と、 そのブロック分割手段により分割されたブロックの依存
関係を検出しツリー構造を生成する解析ツリー生成手段
と、 解析ツリー生成手段の出力を受け、少なくとも前記各ブ
ロックを構成するプログラム部位の存在箇所並びにその
ブロックが接続される親ブロックと子ブロックの情報を
関連付けるとともに記憶手段に格納する手段と、 前記記憶手段に格納された前記関連付けられた情報に基
づいて、相互に依存関係のない並列化可能なブロックを
抽出すると共に、少なくともその並列可能なブロックに
関する情報を出力する手段とを備えた並列化プログラム
開発支援装置。1. A block dividing unit that divides a given program into blocks that perform a predetermined process, and an analysis tree generating unit that detects a dependency relationship of blocks divided by the block dividing unit and generates a tree structure. A means for receiving the output of the analysis tree generation means, associating at least the existence location of the program part constituting each block and the information of the parent block and the child block to which the block is connected, and storing the information in the storage means; Based on the associated information stored in, parallelizable program development support including means for extracting parallelizable blocks having no mutual dependency and outputting at least information on the parallelizable blocks apparatus.
れたブロックの接続関係を検出し、直列接続されたブロ
ック同士を統合して新たなブロックとして再定義するブ
ロック修正手段を備えた請求項1に記載の並列化プログ
ラム開発支援装置。2. The analysis tree generation means comprises block correction means for detecting a connection relation of the divided blocks, integrating blocks connected in series and redefining as a new block. The parallelized program development support device described in.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5202056A JPH0736680A (en) | 1993-07-23 | 1993-07-23 | Parallel program development support device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5202056A JPH0736680A (en) | 1993-07-23 | 1993-07-23 | Parallel program development support device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0736680A true JPH0736680A (en) | 1995-02-07 |
Family
ID=16451216
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5202056A Withdrawn JPH0736680A (en) | 1993-07-23 | 1993-07-23 | Parallel program development support device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0736680A (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003529808A (en) * | 1999-01-13 | 2003-10-07 | エービー イニティオ ソフトウェア コーポレーション | Script driven tool parallel processing application |
| JP2006154971A (en) * | 2004-11-25 | 2006-06-15 | Matsushita Electric Ind Co Ltd | Program conversion apparatus, program conversion execution apparatus, program conversion method, and program conversion execution method |
| JP2007241642A (en) * | 2006-03-08 | 2007-09-20 | Kubota Systems Inc | Analysis method, analysis apparatus, and computer program |
| JP2009271572A (en) * | 2008-04-30 | 2009-11-19 | Mitsubishi Electric Corp | Control system development support device |
| JPWO2008072334A1 (en) | 2006-12-14 | 2010-03-25 | 富士通株式会社 | Compiling method and compiler |
| US7712079B2 (en) | 2002-12-27 | 2010-05-04 | International Business Machines Corporation | Program editing apparatus, program editing method, and program for splitting a program file |
| JP2012510661A (en) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | Method and system for parallel processing of sequential computer program code |
| WO2014128920A1 (en) * | 2013-02-22 | 2014-08-28 | 三菱電機株式会社 | System development device, method, and program |
| JP2021140501A (en) * | 2020-03-05 | 2021-09-16 | 日立Astemo株式会社 | Model parallelization device and method |
-
1993
- 1993-07-23 JP JP5202056A patent/JPH0736680A/en not_active Withdrawn
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003529808A (en) * | 1999-01-13 | 2003-10-07 | エービー イニティオ ソフトウェア コーポレーション | Script driven tool parallel processing application |
| US7712079B2 (en) | 2002-12-27 | 2010-05-04 | International Business Machines Corporation | Program editing apparatus, program editing method, and program for splitting a program file |
| JP2006154971A (en) * | 2004-11-25 | 2006-06-15 | Matsushita Electric Ind Co Ltd | Program conversion apparatus, program conversion execution apparatus, program conversion method, and program conversion execution method |
| JP2007241642A (en) * | 2006-03-08 | 2007-09-20 | Kubota Systems Inc | Analysis method, analysis apparatus, and computer program |
| JPWO2008072334A1 (en) | 2006-12-14 | 2010-03-25 | 富士通株式会社 | Compiling method and compiler |
| JP2009271572A (en) * | 2008-04-30 | 2009-11-19 | Mitsubishi Electric Corp | Control system development support device |
| JP2012510661A (en) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | Method and system for parallel processing of sequential computer program code |
| JP2015207318A (en) * | 2008-12-01 | 2015-11-19 | ケーピーアイティ テクノロジーズ リミテッド | Method and system for parallelization of sequential computer program codes |
| WO2014128920A1 (en) * | 2013-02-22 | 2014-08-28 | 三菱電機株式会社 | System development device, method, and program |
| TWI475344B (en) * | 2013-02-22 | 2015-03-01 | Mitsubishi Electric Corp | System development device, method and program |
| KR20150119314A (en) * | 2013-02-22 | 2015-10-23 | 미쓰비시덴키 가부시키가이샤 | System development device, method, and program |
| US10295976B2 (en) | 2013-02-22 | 2019-05-21 | Mitsubishi Electric Corporation | System development device, system development method, and system development program |
| JP2021140501A (en) * | 2020-03-05 | 2021-09-16 | 日立Astemo株式会社 | Model parallelization device and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100385399C (en) | Method and system for intermediate representation of multiple exception handling models | |
| EP1918812A1 (en) | A software development system | |
| Favre | Preprocessors from an abstract point of view | |
| Long et al. | Consistent code generation from UML models | |
| CA2418670A1 (en) | Method and system for generating executable code for formatiing and printing complex data structures | |
| KR20090011974A (en) | How to Extract Compile Target Files | |
| JPH0736680A (en) | Parallel program development support device | |
| EP2535813B1 (en) | Method and device for generating an alert during an analysis of performance of a computer application | |
| JPH10187461A (en) | Language processing system | |
| JP2000242485A (en) | System and method for supporting programming language translation program development and recording medium | |
| JP3584204B2 (en) | Automatic source program converter | |
| Hermenegildo et al. | An Automatic Documentation Generator for (C) LP-Reference Manual | |
| Tselikis | Introduction to C++ | |
| JP2002132502A (en) | Automatic creating system and method of distributed object with interpretation of language function | |
| KR100279731B1 (en) | How to Display Control Flow for Fill Languages | |
| Kay et al. | An XSLT compiler written in XSLT: can it perform | |
| JP2977642B2 (en) | FORTRAN compilation processor | |
| JP2003330731A (en) | Project management file generator | |
| Henkel et al. | Case study: Debugging a discovered specification for java. util. arraylist by using algebraic interpretation | |
| Mössenböck | Compiler Construction | |
| JP2000132405A (en) | Inline expansion processing apparatus and method | |
| Sigg | Yeti 2-tinyos 2. x eclipse plugin | |
| JP2720643B2 (en) | Program generator generator | |
| JPH07141165A (en) | Information processor | |
| JPH05108372A (en) | System for outputting compiler optimization processing content |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001003 |