JP5925202B2 - Method for quantifying and analyzing parallel processing of algorithms - Google Patents
Method for quantifying and analyzing parallel processing of algorithms Download PDFInfo
- Publication number
- JP5925202B2 JP5925202B2 JP2013518789A JP2013518789A JP5925202B2 JP 5925202 B2 JP5925202 B2 JP 5925202B2 JP 2013518789 A JP2013518789 A JP 2013518789A JP 2013518789 A JP2013518789 A JP 2013518789A JP 5925202 B2 JP5925202 B2 JP 5925202B2
- Authority
- JP
- Japan
- Prior art keywords
- parallel processing
- algorithm
- computer
- information regarding
- strict
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 72
- 238000000034 method Methods 0.000 title claims description 32
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000003595 spectral effect Effects 0.000 claims description 3
- 238000004587 chromatography analysis Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
- Stored Programmes (AREA)
Description
本発明は、アルゴリズムの並行処理を定量化及び分析する方法に関し、より詳しくは、アルゴリズムの本質的な並行処理を定量化及び分析する方法に関する。 The present invention relates to a method for quantifying and analyzing parallel processing of an algorithm, and more particularly to a method for quantifying and analyzing intrinsic parallel processing of an algorithm.
G.M.アムダールは、アルゴリズムの逐次実行部分の比率に従ったアルゴリズムの並列処理化の方法を紹介した。("大規模演算性能を達成するシングル・プロセッサによるアプローチの有効性、" AFIPS会議の会議録、483から485ページ、1967)。 G. M.M. Amdahl introduced a method for parallel processing of algorithms according to the ratio of the sequential execution part of the algorithm. ("Effectiveness of a single processor approach to achieve large-scale computing performance," AFIPS conference proceedings, pages 483 to 485, 1967).
アムダールの方法の欠点は、この方法によって得られたアルゴリズムの並行処理の程度は、この方法を実行するターゲットとなるプラットフォームに依存し、アルゴリズム自体には必ずしも依存しないことである。従って、アムダールの方法を使って得られた並行処理の程度は、アルゴリズムに対して非本質的なであり、ターゲットとなるプラットフォームによるバイアスを受ける。 The disadvantage of Amdahl's method is that the degree of parallel processing of the algorithm obtained by this method depends on the target platform on which the method is executed and not necessarily on the algorithm itself. Thus, the degree of parallelism obtained using Amdahl's method is not intrinsic to the algorithm and is biased by the target platform.
A.プリホジーらは、アルゴリズムのクリティカル・パス長と複雑性の比に基づくアルゴリズムの並列処理化可能性を評価する方法を提案した("効率的なマルチメディア実装のための並列処理化可能性の評価:アルゴリズム・クリティカル・パスの動的評価、" 動画技術のための回路及びシステムについてのIEEE論文誌、593から608ページ、15巻、No.5、2005年5月)。複雑性とは、アルゴリズムの演算の合計回数であり、クリティカル・パスとは、演算データ依存性により逐次実行しなければならない演算の最大回数である。この方法は、アルゴリズムに埋め込まれた並行処理の平均の程度を決めることができるかもしれないが、アルゴリズムに埋め込まれた様々なマルチグレイン並行処理を網羅的に決めるには不十分である。
A. Prehozy et al. Proposed a method for evaluating parallelism of an algorithm based on the ratio of the critical path length to the complexity of the algorithm ("Evaluation of parallelism for efficient multimedia implementation: Dynamic evaluation of algorithm critical path, "IEEE paper on circuits and systems for video technology, pages 593 to 608,
従って、本発明の目的は、ターゲットとなるハードウェア及び/又はソフトウェアのプラットフォームによってバイアスを受けない、アルゴリズムの本質的な並行処理を定量化及び分析する方法を提供することにある。 Accordingly, it is an object of the present invention to provide a method for quantifying and analyzing the intrinsic parallelism of an algorithm that is not biased by the target hardware and / or software platform.
従って、本発明によるアルゴリズムの本質的な並行処理を定量化及び分析する方法は、コンピューターによって実装されるように構成され、以下のステップを有する:
a) コンピューターを、複数の演算セットによるアルゴリズムを表現するよう構成させる、
b) コンピューターを、複数の演算セットに従いラプラス行列を取得するよう構成させる、
c) コンピューターを、ラプラス行列の固有値及び固有ベクトルを計算するよう構成させる、
d) コンピューターを、ラプラス行列の固有値及び固有ベクトルに従って、アルゴリズムの本質的な並行処理に関する情報のセットを取得させるよう構成させる。
Thus, the method for quantifying and analyzing the intrinsic parallelism of the algorithm according to the invention is configured to be implemented by a computer and comprises the following steps:
a) configure the computer to represent algorithms with multiple sets of operations,
b) configuring the computer to obtain a Laplace matrix according to multiple sets of operations;
c) configuring the computer to compute eigenvalues and eigenvectors of the Laplace matrix;
d) Configure the computer to obtain a set of information about the intrinsic parallelism of the algorithm according to the eigenvalues and eigenvectors of the Laplace matrix.
本発明の他の特徴や利点は、添付図面を参照しながら、下記の好適な実施例の詳細な記載において明らかになる。添付図面は、下記の通りである。 Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiments with reference to the accompanying drawings. The attached drawings are as follows.
図1を参照し、本発明によるアルゴリズムの本質的な並行処理を評価する方法の好適な実施例は、コンピューターによって実装されるように構成され、以下のステップを有する。 Referring to FIG. 1, a preferred embodiment of a method for evaluating the intrinsic parallelism of an algorithm according to the present invention is configured to be implemented by a computer and has the following steps.
本質的な並列処理の程度は、ソフトウェア及びハードウェアの設計及び構成を考慮せず、アルゴリズム自身の並列処理の程度を示すものである。つまり、本発明の方法は、アルゴリズムを分析する時、ソフトウェア及びハードウェアによって制限されない。 The essential degree of parallel processing indicates the degree of parallel processing of the algorithm itself without considering the design and configuration of software and hardware. That is, the method of the present invention is not limited by software and hardware when analyzing the algorithm.
ステップ11において、コンピューターは、複数の演算セットによるアルゴリズムを表現するよう構成される。それぞれの演算セットは、等式、プログラムコード、フローチャート、その他、アルゴリズムを表すどのような形態であってもよい。下記の例においては、アルゴリズムは、下記のようにあらわされる、3つの演算セットO1、O2、及びO3を含む。
O1=A1+B1+C1+D1、
O2=A2+B2+C2、及び
O3=A3+B3+C3
In
O1 = A 1 + B 1 + C 1 + D 1 ,
O2 = A 2 + B 2 + C 2 , and
O3 = A 3 + B 3 + C 3
ステップ12は、演算セットに従ったラプラス行列Ldを取得するようコンピューターを構成することであり、下記のサブステップを含む。
サブステップ121において、演算セットに従い、コンピューターは、アルゴリズムに関するデータフロー情報を取得するよう構成される。図2に示されるように、この例の演算セットに対応するデータフロー情報は、下記のように表現されてもよい。
データ1=A1+B1
データ2=A2+B2
データ3=A3+B3
データ4=データ1+データ7
データ5=データ2+C2
データ6=データ3+C3
データ7=C1+D1
In
Data 1 = A 1 + B 1
Data 3 = A 3 + B 3
Data 4 = Data 1 + Data 7
Data 5 =
Data 7 = C 1 + D 1
サブステップ122において、コンピューターは、データフロー情報に従って、データフロー・グラフを取得するよう構成される。データフロー・グラフは、アルゴリズムにおいて演算を表す複数の頂点及び、頂点のうち対応する2つの頂点の相互接続を示しアルゴリズムにおけるデータのソースとデスティネーションを示す方向性のある複数の辺によって構成される。図2に示されるデータフロー情報については、演算記号V1からV7(つまり、頂点)が加算記号の代わりに使われ、矢印(つまり、方向性のある辺)が、データのソースとデスティネーションを示し、これにより、図3のデータフロー・グラフが取得される。特に、演算記号V1が加算演算A1+B1を示し、演算記号V2が加算演算A2+B2を示し、演算記号V3が加算演算A3+B3を示し、演算記号V4が加算演算データ1+データ7を示し、演算記号V5が加算演算データ2+C2を示し、演算記号V6が加算演算データ3+C3を示し、そして演算記号V7が加算演算D1+C1を示す。
In
図3に示されるデータフロー・グラフから、演算記号V4が演算記号V1及びV7に依存することが分かる。同様に、演算記号V5が演算記号V2に依存し、演算記号V6が演算記号V3に依存し、演算記V4、V5及びV6は、互いに依存しない。 From the data flow graph shown in FIG. 3, it can be seen that the operation symbol V 4 depends on the operation symbols V 1 and V 7 . Similarly, the operation symbol V 5 depends on the operation symbol V 2 , the operation symbol V 6 depends on the operation symbol V 3, and the operation symbols V 4 , V 5, and V 6 do not depend on each other.
サブステップ123において、コンピューターは、データフロー・グラフに従ったラプラス行列Ldを取得するように構成される。ラプラス行列Ldにおいて、i番目の対角の要素は、演算記号Viに接続される演算記号の数を示し、対角から外れた要素は、2つの演算記号が接続されているかどうかを示す。 従って、ラプラス行列Ldは、明確にデータフロー・グラフを、線形代数形式によって示すことができる。図3に示されるデータフロー・グラフのセットは、下記のように示されてもよい。
In
ラプラス行列Ldは、演算記号V1からV7の間の接続性を示し、第1列から第7列は、演算記号V1からV7をそれぞれ示す。例えば、最初の列において、演算記号V1は、演算記号V4に接続され、従って、行列要素(1,4)は−1である。 The Laplace matrix L d indicates connectivity between the operation symbols V 1 to V 7 , and the first to seventh columns indicate the operation symbols V 1 to V 7 , respectively. For example, in the first column, the operation symbol V 1 is connected to the operation symbol V 4 , and thus the matrix element (1, 4) is −1.
ステップ13において、コンピューターは、ラプラス行列Ldの固有値λ及び固有ベクトルXdを計算するように構成される。上記例において取得されたラプラス行列Ldについて、固有値λ及び固有ベクトルXdは、下記の通りである。
In
ステップ14において、コンピューターは、ラプラス行列Ldの固有値λ及び固有ベクトルXdに従って、アルゴリズムの本質的な並列処理に関する情報のセットを取得するように構成される。上記本質的な並列処理に関する情報のセットは、演算セットのうち、互いに独立しており並列処理に実行可能な独立な演算セットを認識するように厳密に定義される。厳密な並列処理に関する情報のセットは、アルゴリズムの上記演算セットのうち、独立な演算セットの数を示す厳密な並列処理の程度、及び、演算セットに対応する厳密な並列処理の構成のセットをそれぞれ含む。F.R.K.チャン(数学のリジョナル・カンファレンス・シリーズ、No.92、1997)によって紹介されたスペクトルグラフ理論に基づき、グラフの接続された構成の数は、0に等しいラプラス行列の固有値の数に等しい。アルゴリズムに埋め込まれた厳密な並列処理の程度は、従って、0に等しい固有値λの数に等しい。その上、スペクトルグラフ理論に基づき、厳密な並列処理の構成は、0に等しい固有値λに関連付けられる固有ベクトルXdに従って、特定されてもよい。
In
上記例から、0に等しいラプラス固有値は3つ存在するので、データフロー・グラフのセットは、3つの独立な演算セットから構成されることが分かる。従って、例示されるアルゴリズムに埋め込まれる厳密な並列処理の程度は、3に等しい。次に、固有ベクトルXdの第1、2、及び3の固有ベクトルは、0に等しい固有値λに関連付けられる。固有ベクトルXdの第1の固有ベクトルを観察することにより、演算記号V1、V4及びV7に対応する値が0ではないということが明らかであり、つまり、演算記号V1、V4及びV7は依存し、データフロー・グラフの接続されたもの(V1−V4−V7)を形成する。同様に、0に等しい固有値λに関連付けられた固有ベクトルXdの第2及び3の固有ベクトルを形成し、演算記号V2、V5及び演算記号V3、V6 は依存し、データフロー・グラフの残りの2つの接続されたもの(V2−V5及びV3−V6)をそれぞれ形成すると理解される。従って、コンピューターは、3に等しい厳密な並列処理の程度、及び、(図3に示されるような)グラフ、テーブル、等式、又はプログラムコードの形態で表現されうる厳密な並列処理の構成を取得するように構成される。 From the above example, it can be seen that since there are three Laplace eigenvalues equal to 0, the dataflow graph set is composed of three independent sets of operations. Therefore, the degree of strict parallel processing embedded in the illustrated algorithm is equal to 3. Next, the first, second, and third eigenvectors of eigenvector X d are associated with an eigenvalue λ equal to zero. By observing the first eigenvector of the eigenvector X d , it is clear that the values corresponding to the operation symbols V 1 , V 4 and V 7 are not 0, that is, the operation symbols V 1 , V 4 and V 7 depends and forms a connected (V 1 -V 4 -V 7 ) of the data flow graph. Similarly, the second and third eigenvectors of the eigenvector X d associated with the eigenvalue λ equal to 0 are formed, the operation symbols V 2 , V 5 and the operation symbols V 3 , V 6 are dependent, and the data flow graph the remaining two connected ones (V 2 -V 5 and V 3 -V 6) is understood to form respectively. Thus, the computer obtains a degree of strict parallel processing equal to 3 and a strict parallel processing configuration that can be expressed in the form of a graph, table, equation, or program code (as shown in FIG. 3). Configured to do.
ステップ15において、コンピューターは、アルゴリズムの複数の依存性深さの少なくとも1つ及び厳密な並列処理に関する情報のセットに従ったアルゴリズムのマルチグレイン並列処理に関する情報の複数のセットを取得するように構成される。マルチグレイン並列処理に関する情報のセットは、独立な演算セットに埋め込まれた全ての可能性のある並列処理を特徴付けるアルゴリズムの広義の並列処理に関する情報のセット含む。
In
尚、アルゴリズムの依存性深さは、アルゴリズムの処理において重要な、関連付けられた逐次ステップを表し、つまり、アルゴリズムの可能な並列処理に対して相互補完的である。従って、 アルゴリズムの異なる本質的な並列処理に関する情報は、異なる依存性深さに基づいて取得されてもよい。特に、厳密な並列処理に関する情報は、アルゴリズムの依存性深さのうち最大のものに対応するアルゴリズムの本質的な並列処理に関する情報であり、広義の並列処理に関する情報は、依存性深さのうち最小のものに対応するアルゴリズムの本質的な並列処理に関する情報である。 Note that the depth of dependency of an algorithm represents an associated sequential step that is important in the processing of the algorithm, that is, complementary to the possible parallel processing of the algorithm. Thus, information regarding the intrinsic parallel processing of different algorithms may be obtained based on different dependency depths. In particular, information on strict parallel processing is information on the intrinsic parallel processing of the algorithm corresponding to the largest of the algorithm dependency depths, and information on parallel processing in a broad sense is information on the dependency depths. Information on the essential parallel processing of the algorithm corresponding to the smallest one.
例えば、上記アルゴリズムは、厳密な並列処理の2つの異なる構成、つまり、V1−V4−V7及びV2−V5を含む(V3−V6は、V2−V5に似ており、同じ構成と考えられる)。厳密な並列処理V1−V4−V7の構成については、演算記号V1及びV7が互いに独立である、つまり、演算記号V1及びV7が並列に処理されることができることが分かる。従って、 アルゴリズムの広義の並列処理に関する情報のセットは、4に等しい広義の並列処理の程度を含み、広義の並列処理の構成は、厳密な並列処理の構成に類似する。 For example, the above algorithm includes two different configurations of strictly parallel processing: V 1 -V 4 -V 7 and V 2 -V 5 (V 3 -V 6 is similar to V 2 -V 5. And is considered the same configuration). The configuration of strict parallelism V 1 -V 4 -V 7, an independent operation symbol V 1 and V 7 are mutually, i.e., it can be seen that the operation symbol V 1 and V 7 can be processed in parallel . Therefore, the set of information regarding the parallel processing in the broad sense of the algorithm includes the degree of parallel processing in the broad sense equal to 4, and the configuration of the parallel processing in the broad sense is similar to the configuration of strict parallel processing.
この実施例の方法によれば、上記アルゴリズムの広義の並列処理の程度は、4に等しい。 アルゴリズムを実装するのに、処理要素は7回の処理サイクルを要する。なぜならば、アルゴリズムは7個の演算記号V1−V7を含むからである。3に等しい厳密な並列処理の程度によれば、3個の処理要素を使ってアルゴリズムを実装するには、3回の処理サイクルを使う。4に等しい広義の並列処理の程度によれば、4個の処理要素を使ってアルゴリズムを実装するには、2回の処理サイクルを使う。更に、より多くの処理要素が使われるものの、少なくとも2回の処理サイクルがアルゴリズムを実装するのに必要であることが分かる。従って、アルゴリズムを実装するのに使われる処理要素の最適な数は、この実施例の方法に従って取得されうる。 According to the method of this embodiment, the degree of parallel processing in the broad sense of the above algorithm is equal to 4. The processing element requires seven processing cycles to implement the algorithm. This is because the algorithm includes seven operational symbols V 1 -V 7 . According to the degree of strict parallel processing equal to 3, to implement an algorithm using three processing elements, three processing cycles are used. According to the degree of parallel processing in a broad sense equal to 4, two processing cycles are used to implement an algorithm using four processing elements. Furthermore, although more processing elements are used, it can be seen that at least two processing cycles are required to implement the algorithm. Thus, the optimal number of processing elements used to implement the algorithm can be obtained according to the method of this embodiment.
4×4離散コサイン変換(DCT)を例とすると、DCTアルゴリズムの演算セットは、図4に示されるデータフロー・グラフによって表現される。4×4DCTは当業者によってよく知られているので、その更に詳細については、簡潔さのためにここでは省略される。図4より、4×4DCTアルゴリズムの依存性深さの最大のものは、6に等しいことが分かる。依存性深さの最大のもの(つまり、6)については、このアルゴリズムの厳密な並列処理の構成は、図5に示されるように取得されてもよく、このアルゴリズムの厳密な並列処理の程度は、この実施例の方法によれば、4に等しい。5に等しい依存性深さのうち1つをもって4×4DCTアルゴリズムの本質的な並列処理を分析する時、このアルゴリズムの本質的な並列処理の構成は、図6に示されるように取得されてもよく、本質的な並列処理の程度は8に等しい。更に、3に等しい依存性深さのうち1つをもって4×4DCTアルゴリズムの本質的な並列処理を分析する時、このアルゴリズムの本質的な並列処理の構成は、図7に示されるように取得されてもよく、本質的な並列処理の程度は16に等しい。 Taking a 4 × 4 discrete cosine transform (DCT) as an example, the operation set of the DCT algorithm is represented by the data flow graph shown in FIG. Since 4 × 4 DCT is well known by those skilled in the art, further details thereof are omitted here for the sake of brevity. FIG. 4 shows that the maximum dependency depth of the 4 × 4 DCT algorithm is equal to 6. For the maximum dependency depth (ie 6), the exact parallelism configuration of this algorithm may be obtained as shown in FIG. According to the method of this embodiment, it is equal to 4. When analyzing the intrinsic parallelism of the 4 × 4 DCT algorithm with one of the dependency depths equal to 5, the intrinsic parallelism configuration of this algorithm can be obtained as shown in FIG. Well, the degree of intrinsic parallelism is equal to 8. Furthermore, when analyzing the intrinsic parallelism of the 4 × 4 DCT algorithm with one of the dependency depths equal to 3, the intrinsic parallelism configuration of this algorithm is obtained as shown in FIG. The degree of intrinsic parallel processing is equal to 16.
つまり、この発明による方法は、アルゴリズムの本質的な並列処理を評価するのに使われてもよい。 That is, the method according to the invention may be used to evaluate the intrinsic parallelism of the algorithm.
本発明は、最も実用的で好適な実施例と考えられるものに関連付けられて記載されたものの、この発明は、記載された実施例に限定されることなく、最も広い解釈の精神及び範囲に含まれる様々な配設を網羅するように意図され、そのような全ての変更や均等な配設を含む、と考えられなければならない。 Although the present invention has been described in connection with what are considered to be the most practical and preferred embodiments, the invention is not limited to the described embodiments and is included in the spirit and scope of the broadest interpretation. It is intended to cover various arrangements that may be considered, and should be considered to include all such modifications and equivalent arrangements.
Claims (10)
a) 前記コンピューターを、複数の演算セットによる前記アルゴリズムを表現するよう構成させるステップ、
b) 前記コンピューターを、前記複数の演算セットに従いラプラス行列を取得するよう構成させるステップ、
c) 前記コンピューターを、前記ラプラス行列の固有値及び固有ベクトルを計算するよう構成させるステップ、及び
d) 前記コンピューターを、前記ラプラス行列の前記固有値及び前記固有ベクトルに従って、アルゴリズムの本質的な並行処理に関する情報のセットを取得させるよう構成させるステップ、を含み、
ステップd)は、
d1)前記コンピューターを、前記ラプラス行列の前記固有値及び前記固有ベクトルに従って、前記アルゴリズムの厳密な並列処理に関する情報のセットを取得するよう構成させるサブステップ、並びに
d2)前記コンピューターを、前記アルゴリズムの複数の依存性深さの少なくとも1つ及び前記厳密な並列処理に関する情報のセットに従って、前記アルゴリズムのマルチグレイン並列処理に関する情報のセットを取得するよう構成させるサブステップ、
を含むことを特徴とする前記方法。 A method for quantifying and analyzing the intrinsic parallelism of an algorithm, said method being configured to be implemented by a computer, said method comprising:
a) configuring the computer to represent the algorithm with a plurality of sets of operations;
b) configuring the computer to obtain a Laplace matrix according to the plurality of operation sets;
c) configuring the computer to calculate eigenvalues and eigenvectors of the Laplace matrix; and d) setting the computer with information about intrinsic parallel processing of the algorithm according to the eigenvalues and eigenvectors of the Laplace matrix. viewing including the step, which is configured so as to get a,
Step d)
d1) causing the computer to be configured to obtain a set of information regarding exact parallel processing of the algorithm according to the eigenvalues and the eigenvectors of the Laplace matrix; and
d2) Substep of configuring the computer to obtain a set of information regarding multi-grain parallel processing of the algorithm according to at least one of the plurality of dependency depths of the algorithm and the set of information regarding the strict parallel processing. ,
Said method comprising including Mukoto a.
b1) 前記コンピューターを、演算セットに従い、前記アルゴリズムに関するデータフロー情報を取得するよう構成させるサブステップ、
b2) 前記コンピューターを、前記データフロー情報に従い、前記アルゴリズムにおける演算を示す複数の頂点から成るデータフロー・グラフを取得するよう構成させ、前記頂点のうち対応する2つの頂点の相互接続を示し前記アルゴリズムにおけるデータのソースとデスティネーションを示す方向性のある複数の辺を取得するよう構成させるサブステップ、及び
b3) 前記コンピューターを、前記データフロー・グラフに従って、前記ラプラス行列を取得するよう構成させるサブステップ、
を含む、請求項1に記載の方法。 Step b)
b1) Substep for configuring the computer to obtain data flow information regarding the algorithm according to a set of operations;
b2) The computer is configured to acquire a dataflow graph composed of a plurality of vertices indicating operations in the algorithm according to the dataflow information, and indicates an interconnection of two corresponding vertices among the vertices. A sub-step configured to obtain a plurality of directional edges indicating the source and destination of the data, and b3) a sub-step configured to obtain the Laplace matrix according to the data flow graph ,
The method of claim 1 comprising:
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099122162 | 2010-07-06 | ||
TW099122162A TWI501168B (en) | 2010-07-06 | 2010-07-06 | An intrinsic parallelism of an algorithm quantification and analysis method |
US12/832,557 | 2010-07-08 | ||
US12/832,557 US20120011186A1 (en) | 2010-07-08 | 2010-07-08 | Method for quantifying and analyzing intrinsic parallelism of an algorithm |
PCT/US2011/042962 WO2012006285A1 (en) | 2010-07-06 | 2011-07-05 | Method for quantifying and analyzing intrinsic parallelism of an algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013530477A JP2013530477A (en) | 2013-07-25 |
JP5925202B2 true JP5925202B2 (en) | 2016-05-25 |
Family
ID=45441539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013518789A Active JP5925202B2 (en) | 2010-07-06 | 2011-07-05 | Method for quantifying and analyzing parallel processing of algorithms |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2591414A4 (en) |
JP (1) | JP5925202B2 (en) |
KR (1) | KR20130038903A (en) |
WO (1) | WO2012006285A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10593080B2 (en) | 2017-04-27 | 2020-03-17 | Daegu Gyeongbuk Institute Of Science And Technology | Graph generating method and apparatus |
KR101998020B1 (en) * | 2017-04-27 | 2019-07-08 | 재단법인대구경북과학기술원 | Method and apparatus for graph generation |
CN111061150B (en) * | 2019-10-23 | 2020-11-27 | 南京大学 | Hardware implementation method of Laplace frequency response |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5587922A (en) * | 1993-06-16 | 1996-12-24 | Sandia Corporation | Multidimensional spectral load balancing |
US7418470B2 (en) * | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
US6615211B2 (en) * | 2001-03-19 | 2003-09-02 | International Business Machines Corporation | System and methods for using continuous optimization for ordering categorical data sets |
US7171397B1 (en) * | 2002-08-21 | 2007-01-30 | Ncr Corp. | Method and system for measuring parallelism of a database system execution step |
US7724256B2 (en) * | 2005-03-21 | 2010-05-25 | Siemens Medical Solutions Usa, Inc. | Fast graph cuts: a weak shape assumption provides a fast exact method for graph cuts segmentation |
US8548238B2 (en) * | 2007-05-03 | 2013-10-01 | Carnegie Mellon University | Method for partitioning combinatorial graphs |
US8201171B2 (en) * | 2007-06-27 | 2012-06-12 | Microsoft Corporation | Adjacent data parallel and streaming operator fusion |
US7406200B1 (en) * | 2008-01-08 | 2008-07-29 | International Business Machines Corporation | Method and system for finding structures in multi-dimensional spaces using image-guided clustering |
US8522224B2 (en) | 2010-06-22 | 2013-08-27 | National Cheng Kung University | Method of analyzing intrinsic parallelism of algorithm |
-
2011
- 2011-07-05 JP JP2013518789A patent/JP5925202B2/en active Active
- 2011-07-05 KR KR1020137001820A patent/KR20130038903A/en not_active Application Discontinuation
- 2011-07-05 EP EP11804255.5A patent/EP2591414A4/en not_active Withdrawn
- 2011-07-05 WO PCT/US2011/042962 patent/WO2012006285A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2012006285A1 (en) | 2012-01-12 |
EP2591414A1 (en) | 2013-05-15 |
EP2591414A4 (en) | 2014-08-06 |
JP2013530477A (en) | 2013-07-25 |
KR20130038903A (en) | 2013-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109190758B (en) | Method and apparatus for unwrapping tensor data for convolutional neural networks | |
KR101517308B1 (en) | Method of analyzing intrinsic parallelism of algorithm | |
CN106855952B (en) | Neural network-based computing method and device | |
JP5925202B2 (en) | Method for quantifying and analyzing parallel processing of algorithms | |
US11899741B2 (en) | Memory device and method | |
TW201030607A (en) | Instruction and logic for performing range detection | |
EP3295300B1 (en) | System and method for determining concurrency factors for dispatch size of parallel processor kernels | |
US11880463B2 (en) | Systems and methods for thermal side-channel analysis and malware detection | |
Hwang et al. | A parallel adaptive nonlinear elimination preconditioned inexact Newton method for transonic full potential equation | |
TWI622014B (en) | Apparatus and method for image processing | |
WO2019023910A1 (en) | Data processing method and device | |
CN110750249A (en) | Method and device for generating fast Fourier transform code | |
Kaiser et al. | Package ‘biclust’ | |
GB2567038B (en) | Accessing prologue and epilogue data | |
US20230334062A1 (en) | Computer-readable recording medium storing correlation coefficient computation program, information processing device, and correlation coefficient computation method | |
Shahbahrami et al. | Avoiding conversion and rearrangement overhead in SIMD architectures | |
JPWO2017026051A1 (en) | Image processing apparatus, image processing method, and image processing program | |
Imamura et al. | Numerical reproducibility based on minimal-precision validation | |
Cong et al. | Block Krylov subspace methods for approximating the linear combination of φ-functions arising in exponential integrators | |
JP7452247B2 (en) | Conversion program, conversion method, and information processing device | |
Amano et al. | Performance and cost analysis of time-multiplexed execution on the dynamically reconfigurable processor | |
Lin et al. | Quantifying intrinsic parallelism via eigen-decomposition of dataflow graphs for algorithm/architecture co-exploration | |
Curreri et al. | Communication visualization for bottleneck detection of high-level synthesis applications | |
KR101614215B1 (en) | Low-power approximate multiplier and opertation mehotd of thereof | |
Zhang et al. | Hlanc: heterogeneous parallel implementation of the implicitly restarted Lanczos method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151027 |
|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5925202 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |