JPH0439704B2 - - Google Patents

Info

Publication number
JPH0439704B2
JPH0439704B2 JP29478586A JP29478586A JPH0439704B2 JP H0439704 B2 JPH0439704 B2 JP H0439704B2 JP 29478586 A JP29478586 A JP 29478586A JP 29478586 A JP29478586 A JP 29478586A JP H0439704 B2 JPH0439704 B2 JP H0439704B2
Authority
JP
Japan
Prior art keywords
parallel
exclusive control
program
range
processing
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
Application number
JP29478586A
Other languages
Japanese (ja)
Other versions
JPS63148372A (en
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed filed Critical
Priority to JP29478586A priority Critical patent/JPS63148372A/en
Publication of JPS63148372A publication Critical patent/JPS63148372A/en
Publication of JPH0439704B2 publication Critical patent/JPH0439704B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は科学技術計算を高速に実施するための
並列計算機におけるプログラム分割装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program dividing device in a parallel computer for performing scientific and technical calculations at high speed.

〔従来の技術〕[Conventional technology]

排他制御とは並列計算に固有の概念であり記憶
装置上の特定のデータ域のような計算機資源をあ
る時間特定の処理装置が占有する事を意味する。
たとえば第3図に示すように内積計算を記憶装置
4に接続されたN台の処理装置5,6を用いて並
列に行なう場合に、部分和Sに対して排他制御を
行なわないと更新のタイミングにより積の反映が
抜け落ちる事のあることは良く知られている。
Exclusive control is a concept unique to parallel computing and means that a specific processing device occupies a computer resource such as a specific data area on a storage device for a certain period of time.
For example, when calculating the inner product in parallel using N processing devices 5 and 6 connected to the storage device 4 as shown in FIG. 3, if exclusive control is not performed on the partial sum S, the update timing It is well known that the reflection of the product may be omitted.

(Gottlieb etc.“The NYU Ultracomputer−
Designing a MIMD,Shared Memory
Parallel Machine”IEEE Trans.Comp.
Feb.1983,pp.175−189) 一台の処理装置が資源を占有している間、他の
処理装置からの要求は占有が解除されるまで待た
されるのでこれは並列計算の障害となり、アクセ
ス要求の多い特定資源の排他制御は著しく計算効
率を落す恐れがある。
(Gottlieb etc. “The NYU Ultracomputer−
Designing a MIMD, Shared Memory
Parallel Machine”IEEE Trans.Comp.
(February 1983, pp. 175-189) While one processing unit occupies a resource, requests from other processing units have to wait until the resource is released, which poses an obstacle to parallel computing and Exclusive control of specific resources that are frequently requested may significantly reduce computational efficiency.

計算効果の低下を防ぐ従来技術としては、まず
前述の文献にある“Fetch and Add”と呼ばれ
る方式が知られている。これは概略第4図に示す
ように排他制御回路の階層化によつてアクセスの
集中を緩和しようとするものである。他方、トー
ナメント加算のようなプログラム技法を用いて排
他制御の分散化をはかる技法も知られており用い
られている。これらは概略第5図に示すように、
処理装置ごとに異なる変数Si(S=1,k)を用
意してそこで一担部分和をとり、その後に改めて
S1,…Skの和をとつて全体の和とする技法であ
る。
As a conventional technique for preventing a decrease in calculation efficiency, a method called "Fetch and Add" described in the above-mentioned literature is known. This is an attempt to alleviate concentration of accesses by hierarchizing exclusive control circuits, as schematically shown in FIG. On the other hand, techniques for decentralizing exclusive control using programming techniques such as tournament addition are also known and used. These are roughly shown in Figure 5.
Prepare a different variable Si (S = 1, k) for each processing device, take the one-part sum there, and then calculate again.
This is a technique that calculates the sum of S 1 ,...S k to obtain the total sum.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術のうち、“Fech and Add”方式
は回路規模が大きくなり、トーナメント加算のよ
うなプログラム技法に頼る方式ではプログラマに
負担が掛る点に問題があつた。
Among the above-mentioned conventional techniques, the "Fech and Add" method requires a large circuit scale, and the method relying on programming techniques such as tournament addition has a problem in that it places a burden on the programmer.

本発明の目的はこのような問題点を解決し、大
規模な制御回路を必要とせずかつプログラマに負
担が掛らないで、排他制御を実現しうるプログラ
ム分割装置を提供するにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve these problems and provide a program dividing device that can realize exclusive control without requiring a large-scale control circuit or placing a burden on the programmer.

〔問題点を解決するための手段〕[Means for solving problems]

上記の目的は、処理プログラムの内容を解析す
る事により排他制御変数を検出する手段と、かつ
アクセスの集中を防ぐためにその分散化を実現す
べく排他制御変数のリネーミング(名称変更)を
実施する手段とにより達成される。
The above purpose is to provide a means to detect exclusive control variables by analyzing the contents of a processing program, and to perform renaming (name change) of exclusive control variables in order to achieve decentralization in order to prevent concentration of access. achieved by means.

〔作用〕[Effect]

本プログラム変換装置は、処理プログラムの並
列実行部位を特定し、またその内部での変数、配
列の定義・引用状況を解析する事によつて排他制
御変数に対し、共有範囲内の並列構造情報を用い
て分散化のためのリネーミングの範囲とその方式
を確定し、リネーミングを実施する。リネーミン
グにより変換されたプログラムを実行すれば、排
他制御への過度のアクセス集中が避けられ、原プ
ログラムに対して処理時間を短縮することができ
る。
This program conversion device specifies the parallel execution parts of the processing program, and analyzes the definition and citation status of variables and arrays within the parts, thereby providing parallel structure information within the shared range to exclusive control variables. The scope and method of renaming for decentralization are determined using the following methods, and the renaming is implemented. If a program converted by renaming is executed, excessive concentration of accesses to exclusive control can be avoided, and the processing time can be shortened compared to the original program.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図,第2図によ
り説明する。
An embodiment of the present invention will be described below with reference to FIGS. 1 and 2.

第2図は本変換装置と他の装置の関係を示す図
であり、処理プログラム1はプログラム変換装置
2によつて排他制御変数の分散化されたモデイフ
アイド処理プログラム3に変換され、記憶装置4
を共有する複数台の処理装置5,6によつて高速
に実行される。
FIG. 2 is a diagram showing the relationship between this conversion device and other devices, in which the processing program 1 is converted by the program conversion device 2 into a modified processing program 3 in which exclusive control variables are distributed, and the storage device 4
The processing is executed at high speed by the plurality of processing devices 5 and 6 that share the same information.

ここで処理プログラム1は並列性を明示するプ
ログラミング言語を用いて書かれているものとす
る。すなわち、行番号(1)に置かれたpcalc以下は、
Kについて1からNまで並列に(2)から(8)までの間
の処理を行なう事を意味し、同様に(3)のpcalcは
その中で(4)から(7)までの処理をJについて1から
Nまで並列に、さらに(4)のpcalcは(5)の処理をI
について1からNまで並列に行なう事を意味す
る。したがつて、変数SはKに関する並列処理手
続き(2)〜(8)内ではローカルに参照され共有されな
いが、Jに関する並列処理手続き(4)〜(6)、ならび
に上に関する並列処理手続き(5)の間では共有さ
れ、排他制御が必要となる。
Here, it is assumed that the processing program 1 is written using a programming language that explicitly supports parallelism. In other words, below pcalc placed at line number (1),
This means that processes (2) to (8) are performed in parallel from 1 to N for K, and similarly, pcalc in (3) processes processes (4) to (7) in parallel with J. 1 to N in parallel, and pcalc in (4) processes (5) in parallel.
This means that operations are performed from 1 to N in parallel. Therefore, the variable S is locally referenced and not shared within the parallel processing procedures (2) to (8) regarding K, but it is referenced locally in the parallel processing procedures (4) to (6) regarding J and the parallel processing procedure (5) regarding the above. ), and exclusive control is required.

プログラム変換装置2で変換を受けた処理プロ
グラム1の出力であるモデイフアイド処理プログ
ラム3においては、(5)でのSが一次元配列T(J)
にリネームされて置きかえられ、それに伴ない(4)
の直前にT(J)の初期化処理が、(6)の直後にT
(J)値のSへの加算処理が追加される。このよ
うにすると、SはIに関する並列手続き(5)中に出
現しないのでJに関する並列手続きの中でのみ共
有される事となり排他制御の回数を原プログラム
のN×N回からN回に減らす事ができる。一方、
T(J)はJの並列手続きごとに記憶域がとられ
ローカルに参照される。T(J)は上に関する並
列手続き(5)でのみ共有されるので、各T(J)へ
の排他制御回数はN回である。したがつてモデイ
フアイドプログラム3では各排他制御変数へのア
クセスはいずれもN回であり、アクセスの集中を
原プログラムのN分の1のに減らす事ができる。
In the modified processing program 3, which is the output of the processing program 1 that has been converted by the program conversion device 2, S in (5) is a one-dimensional array T(J)
was renamed and replaced by (4)
Immediately before (6), T(J) is initialized, and immediately after (6), T(J) is initialized.
(J) Addition of value to S is added. In this way, since S does not appear in the parallel procedure (5) related to I, it is shared only in the parallel procedure related to J, and the number of exclusive control can be reduced from N×N times in the original program to N times. I can do it. on the other hand,
A storage area for T(J) is allocated for each parallel procedure of J and is locally referenced. Since T(J) is shared only in the above parallel procedure (5), the number of times exclusive control is applied to each T(J) is N times. Therefore, in the modified program 3, each exclusive control variable is accessed N times, and the concentration of accesses can be reduced to 1/N of that of the original program.

次に第1図を用いて、このようなモデイフアイ
ド処理プログラムを出力するプログラム変換装置
2の構成と動作を説明する。
Next, the configuration and operation of the program conversion device 2 that outputs such a modified processing program will be explained using FIG.

プログラム変換装置2は、並列範囲特定部7、
排他制御変数検出部8、分散化決定部9、プログ
ラム変換部10の4つの部分から成り、各部分は
この順番に動作する。並列範囲特定部門は、入力
処理プログラムの並列構造を解析して、並列範囲
管理テーブル11を作成する。並列範囲管理テー
ブル11の各行は、ネストレベルフイールド1
4、制御変数フイールド15、先頭行番号フイー
ルド16、最終行番号フイールド17より成る。
本実施例で取り上げた第2図の処理プログラムに
ついては、3重の並列構造を含むので、第1図に
示すように並列範囲管理テーブル11の内容が決
定される。並列構造の解析は、通常の分節(シラ
ブル)切り出しと、その内容の並列処理キーワー
ド(“pcalc”,“end pcalc”)との比較をとる事に
よつて行なわれる。次の排他制御変数検出部9
は、各並列範囲内の変数の定義(値の設定)、引
用関係を変数参照テーブル12に記録し、その情
報と並列範囲テーブル11の内容を比較・対照す
る事によつて排他制御変数の検出を行ない、さら
に共有範囲を明らかにして、その結果を排他制御
リスト13に格納する。第1図にはSに対する変
数参照テーブル12の内容を示すが、変数参照テ
ーブル12は、変数名フイールド18、行番号フ
イールド19、引用・定義フイールド20、継続
フイールド21から成り、図に示すような内容が
設定される。この内容は、先の分節切り出し結果
をあらかじめ作りつけておく変数名一覧と比較す
る事により得る事ができる。引用か定義かの判定
は、それが代入文の右辺に出現するか、左辺に出
現するかによつて行なう。排他情報リスト13の
各行は、並列範囲フイールド22、分散フラグフ
イールド23より成り、22の内容を確定する排
他制御変数検出・排他制御範囲解析処理の手順は
以下の通りである。
The program conversion device 2 includes a parallel range specifying section 7,
It consists of four parts: an exclusive control variable detection part 8, a distribution determination part 9, and a program conversion part 10, and each part operates in this order. The parallel range identification department analyzes the parallel structure of the input processing program and creates the parallel range management table 11. Each row of the parallel range management table 11 has a nesting level field 1.
4, a control variable field 15, a first line number field 16, and a last line number field 17.
Since the processing program shown in FIG. 2 taken up in this embodiment includes a triple parallel structure, the contents of the parallel range management table 11 are determined as shown in FIG. Parallel structure analysis is performed by comparing ordinary segment (syllable) extraction and its contents with parallel processing keywords (“pcalc”, “end pcalc”). Next exclusive control variable detection unit 9
detects exclusive control variables by recording definitions (value settings) and citation relationships of variables within each parallel range in the variable reference table 12, and comparing and contrasting that information with the contents of the parallel range table 11. Further, the sharing range is clarified and the result is stored in the exclusive control list 13. FIG. 1 shows the contents of the variable reference table 12 for S. The variable reference table 12 consists of a variable name field 18, a line number field 19, a quotation/definition field 20, and a continuation field 21, as shown in the figure. The contents are set. This content can be obtained by comparing the previous segment extraction results with a list of variable names created in advance. Whether it is a quotation or a definition is determined by whether it appears on the right or left side of the assignment statement. Each row of the exclusive information list 13 consists of a parallel range field 22 and a distribution flag field 23, and the procedure for exclusive control variable detection and exclusive control range analysis processing to determine the contents of 22 is as follows.

並列範囲テーブル11に記載された各々の行範
囲での変数の定義引用関係を調べ、その範囲で
引用の先行する唯一回の引用と定義、引用と定
義の間には加減算のみが含まれる、の2条が満た
される時排他制御変数と認識して排他情報リスト
に登録する。本例題では、まず11の第1行にあ
るKに関する並列化範囲での定義・引用状況を1
2により調べる。この範囲でSは2ケ所の引用と
2ケ所の定義を含み、かつ定義が引用に先行する
ので排他制御変数には当らないと判断する。次い
で、11の第2行にあるJに関する並列化範囲で
の定義引用状況を調べると先に述べた2つの条件
の満たされている事が判るのでこの情報を排他情
報リスト13に登録する。すなわち、並列範囲フ
イールド22には並列範囲管理テーブル11の対
応する行番号を格納する。最後に11の第3行に
あるIに関する並列化範囲で同様な判定を行なう
と同じく排他制御変数の条件が満たされる事がわ
かるので同様に排他情報リストに登録する。
Examine the definition/quote relationship of variables in each line range listed in the parallel range table 11, and determine whether the only preceding citation and definition in that range, and the only addition/subtraction between the citation and definition. When clause 2 is satisfied, it is recognized as an exclusive control variable and registered in the exclusive information list. In this example, we will first check the definition and citation status of K in the parallelization range in the first line of 11.
Check by 2. In this range, S includes two quotations and two definitions, and since the definition precedes the quotation, it is determined that S does not correspond to an exclusive control variable. Next, when checking the definition citation status in the parallelization range regarding J in the second line of 11, it is found that the two conditions mentioned above are satisfied, so this information is registered in the exclusive information list 13. That is, the parallel range field 22 stores the corresponding row number of the parallel range management table 11. Finally, when a similar determination is made for the parallelization range related to I in the third line of 11, it is found that the exclusive control variable condition is also satisfied, so it is similarly registered in the exclusive information list.

次の分散化決定部9では、排他情報リスト13
と並列範囲管理テーブル11の内容に基づいて分
散化をはかる排他制御変数とその範囲を決定し、
その結果を排他情報リスト13の分散フラグフイ
ールド23にセツトする。単一の排他制御変数に
対してネストする2つ以上の並列範囲が存在する
時、最外側以外の各々の範囲を分散化の対象とし
て選択する。本例題では、排他情報リストに登録
された2つの行の内容が、並列範囲管理テーブル
の内容からネストしていると判断されるので、内
側すなわちIに関する並列範囲を分散化の対称と
し、分散フラグフイールド23にフラグを立て
る。
Next, in the decentralization determining unit 9, the exclusive information list 13
and determine the exclusive control variable and its range for decentralization based on the contents of the parallel range management table 11,
The result is set in the distribution flag field 23 of the exclusive information list 13. When there are two or more parallel ranges nested for a single exclusive control variable, each range other than the outermost range is selected as a target for distribution. In this example, the contents of the two rows registered in the exclusive information list are determined to be nested based on the contents of the parallel range management table, so the inner parallel range, that is, the parallel range related to I, is set as the object of distribution, and the distribution flag Set a flag in field 23.

最後のプログラム変換部10では、23に置か
れた分散化決定情報と並列範囲管理テーブル1
1、変数参照テーブル12の内容を用いて変数の
リネーミングを実施し、モデイフアイド処理プロ
グラム3を出力する。リネーミングの手順は次の
とおりである。まず排他情報リネーミングの手順
は次のとおりである。まず排他情報リストの分散
化指示フラグの立つた行(すなわちIに関する並
列範囲)内の変数Sは出現部を分散化された変数
名T(J)で置きかえる。この名称Tは任意に決
める。Jは、並列範囲管理テーブル11のフイー
ルド3(ネストレベル)とフイールド16,17
(範囲情報)に基づいて、分散化を行なつた範囲
の1つ外側の並列範囲が2行目に登録されたもの
である事を検知し、フイールド15にに格納され
た制御変数名称がJである事により決定する。変
数名の置きかえに引き続いて、分散化並列範囲の
直前にT(J)の初期化指示T(J)=0.0を挿入す
る。また分散化並列範囲の直後に、T(J)の外
側の排他制御変数(この場合はS)への加算指示
S=S+T(J)を挿入する。以上に述べた構成
と動作により、プログラム変換装置はモデイフア
イド処理プログラム3を作成し出力する。
In the last program converter 10, the decentralization decision information placed in 23 and the parallel range management table 1
1. Rename variables using the contents of the variable reference table 12, and output the modified processing program 3. The renaming procedure is as follows. First, the procedure for exclusive information renaming is as follows. First, the appearance part of the variable S in the line where the distribution instruction flag of the exclusive information list is set (that is, the parallel range related to I) is replaced with the distributed variable name T(J). This name T is arbitrarily determined. J is field 3 (nesting level) and fields 16 and 17 of parallel range management table 11.
(range information), it is detected that the parallel range one outside the range that was distributed is the one registered in the second line, and the control variable name stored in field 15 is J. Determined by the fact that Following the replacement of variable names, an initialization instruction T(J)=0.0 for T(J) is inserted immediately before the distributed parallel range. Immediately after the distributed parallel range, an addition instruction S=S+T(J) to the exclusive control variable (S in this case) outside T(J) is inserted. With the configuration and operation described above, the program conversion device creates and outputs the modified processing program 3.

本例題では排他制御が1つでかつ排他制御を必
要とする並列範囲が2重の場合のみを取り上げた
が、2つ以上の排他制御変数を含む場合あるいは
3重以上の並列範囲を有する場合も同一の構成で
分散化をはかる事ができる。また、1重の並列範
囲に対しては、まずそれを二重化する処理を追加
する事で分散化を実現できる。
In this example, only the case where there is one exclusive control and there are two parallel ranges that require exclusive control, but it may also be the case that there are two or more exclusive control variables or three or more parallel ranges. Decentralization can be achieved with the same configuration. Furthermore, for a single parallel range, distribution can be achieved by first adding processing to duplicate it.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、人手を掛ける事なしに排他制
御変数の分散がはかれるので、ハードウエアや工
数の増大なしに並列処理のネツクとななつている
排他制御による性能低下を容易に防止する事がで
きる。
According to the present invention, exclusive control variables can be distributed without requiring any human intervention, so it is possible to easily prevent performance degradation due to exclusive control, which is the bottleneck of parallel processing, without increasing hardware or man-hours. can.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明によるプログラム変換装置の構
成と動作を示す図、第2図は本発明プログラム変
換装置が適用されるシステムの全体構成図、第3
図は排他制御の必要性を示す概念図、第4図は排
他制御の階層化を示す図、第5図は排他制御変数
の分散化を示す図である。 符号の説明、1…処理プログラム、2…プログ
ラム変換装置、3…モデイフアイド処理プログラ
ム、4…記憶装置、5…処理装置1、6…処理装
置N、9…分散化決定部、10…プログラム変換
部、11…並列範囲管理テーブル、12…変数参
照テーブル、13…排他情報リスト、14…ネス
トレベルフイールド、15…制御変数フイール
ド、16…先頭行番号フイールド、17…最終行
番号フイールド、18…変数名フイールド、19
…行番号フイールド、20…引用・定義フイール
ド、21…継続フイールド、22…並列範囲フイ
ールド、23…分散フラグフイールド。
FIG. 1 is a diagram showing the configuration and operation of a program conversion device according to the present invention, FIG. 2 is an overall configuration diagram of a system to which the program conversion device of the present invention is applied, and FIG.
FIG. 4 is a conceptual diagram showing the necessity of exclusive control, FIG. 4 is a diagram showing hierarchization of exclusive control, and FIG. 5 is a diagram showing distribution of exclusive control variables. Explanation of symbols, 1... Processing program, 2... Program converting device, 3... Modified processing program, 4... Storage device, 5... Processing device 1, 6... Processing device N, 9... Dispersion determining section, 10... Program converting section , 11...Parallel range management table, 12...Variable reference table, 13...Exclusive information list, 14...Nest level field, 15...Control variable field, 16...First line number field, 17...Last line number field, 18...Variable name field, 19
...Line number field, 20...Citation/definition field, 21...Continuation field, 22...Parallel range field, 23...Distribution flag field.

Claims (1)

【特許請求の範囲】[Claims] 1 記憶装置を共有する並列装置群を有し、複数
の処理プログラムを並列的に処理する情報処理シ
ステムにおいて、処理プログラムを解析すること
により並列実行部門で共有されかつ排他的に記憶
装置へのアクセス制御がなされるべき排他制御変
数とその共有化範囲を認識する手段と、共有化範
囲の並列構造を解析して排他制御変数の分散化方
式を決定し、その結果を用いて、排他制御の分散
化のために、処理プログラムの排他制御変数の名
称を一部分変更する手段を有することを特徴とす
るプログラム変換装置。
1. In an information processing system that has a group of parallel devices that share a storage device and processes multiple processing programs in parallel, by analyzing the processing program, it is possible to access the storage device shared and exclusively by the parallel execution department. A method for recognizing exclusive control variables to be controlled and their sharing range is determined, and a method for distributing exclusive control variables is determined by analyzing the parallel structure of the sharing range, and the results are used to determine the distribution of exclusive control. 1. A program converting device comprising means for partially changing names of exclusive control variables of a processing program in order to convert the program into a program.
JP29478586A 1986-12-12 1986-12-12 Program conversion device Granted JPS63148372A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29478586A JPS63148372A (en) 1986-12-12 1986-12-12 Program conversion device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29478586A JPS63148372A (en) 1986-12-12 1986-12-12 Program conversion device

Publications (2)

Publication Number Publication Date
JPS63148372A JPS63148372A (en) 1988-06-21
JPH0439704B2 true JPH0439704B2 (en) 1992-06-30

Family

ID=17812249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29478586A Granted JPS63148372A (en) 1986-12-12 1986-12-12 Program conversion device

Country Status (1)

Country Link
JP (1) JPS63148372A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688618B2 (en) * 2000-10-10 2005-08-31 株式会社ソニー・コンピュータエンタテインメント Data processing system, data processing method, computer program, and recording medium
US7610585B2 (en) * 2004-06-03 2009-10-27 Intel Corporation Thread synchronization methods and apparatus for managed run-time environments
US7567963B2 (en) * 2004-06-28 2009-07-28 Intel Corporation Thread synchronization with lock inflation methods and apparatus for managed run-time environments

Also Published As

Publication number Publication date
JPS63148372A (en) 1988-06-21

Similar Documents

Publication Publication Date Title
Chen et al. A bi-layered parallel training architecture for large-scale convolutional neural networks
JP3266351B2 (en) Database management system and query processing method
Roosta Parallel processing and parallel algorithms: theory and computation
Padua et al. High-speed multiprocessors and compilation techniques
Kamburugamuve et al. Anatomy of machine learning algorithm implementations in MPI, Spark, and Flink
Emam et al. The architectural features and implementation techniques of the multicell CASSM
JP6502616B2 (en) Processor for batch thread processing, code generator and batch thread processing method
US8578389B1 (en) Method and system for merging directed acyclic graphs representing data flow codes
Elteir et al. Performance characterization and optimization of atomic operations on amd gpus
Han et al. Parallel data intensive applications using MapReduce: a data mining case study in biomedical sciences
US20040093477A1 (en) Scalable parallel processing on shared memory computers
Paul et al. Resource-awareness on heterogeneous MPSoCs for image processing
JPH0439704B2 (en)
Stewart et al. Comparing fork/join and MapReduce
Vick et al. Adptable Architectures for Supersystems
Denis et al. Study on progress threads placement and dedicated cores for overlapping MPI nonblocking collectives on manycore processor
Tang et al. Software combining algorithms for distributing hot-spot addressing
He et al. Handling data skew for aggregation in spark SQL using task stealing
Libutti et al. Towards a malleable tensorflow implementation
Midkiff Automatic generation of synchronization instructions for parallel processors
Kielanski et al. Performance analysis of work stealing strategies in large scale multi-threaded computing
Skliarova et al. Hardware/software co-design
Zou et al. Supernodal sparse Cholesky factorization on graphics processing units
Sasak-Okoń Modifying queries strategy for graph-based speculative query execution for RDBMS
Sasak-Okoń et al. Graph-based speculative query execution for RDBMS

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term