JPH0981530A - 並列計算機のリダクション処理方法 - Google Patents
並列計算機のリダクション処理方法Info
- Publication number
- JPH0981530A JPH0981530A JP7239659A JP23965995A JPH0981530A JP H0981530 A JPH0981530 A JP H0981530A JP 7239659 A JP7239659 A JP 7239659A JP 23965995 A JP23965995 A JP 23965995A JP H0981530 A JPH0981530 A JP H0981530A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- communication
- broadcast
- combination
- 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
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 並列計算機のリダクション処理方法におい
て、各計算機間のデータ通信量の減少を図る。 【解決手段】 ブロードキャスト処理の実行により中間
結果を得るステップと、前記中間結果に基づいてコンビ
ネーション処理を実行するステップとを含む。
て、各計算機間のデータ通信量の減少を図る。 【解決手段】 ブロードキャスト処理の実行により中間
結果を得るステップと、前記中間結果に基づいてコンビ
ネーション処理を実行するステップとを含む。
Description
【0001】
【発明の属する技術分野】本発明は情報処理分野に関
し、特に並列計算機におけるリダクション処理方法に関
する。
し、特に並列計算機におけるリダクション処理方法に関
する。
【0002】
【従来の技術】マトリックス対ベクタ積を求める計算
や、ニューラルネットワーク等の計算を並列計算機で処
理する場合を考える。これらの計算は複数の入力データ
に対して複数の出力データを生成するが、各出力データ
のすべて(あるいは多数)が入力データに依存している
という特徴を持っている。
や、ニューラルネットワーク等の計算を並列計算機で処
理する場合を考える。これらの計算は複数の入力データ
に対して複数の出力データを生成するが、各出力データ
のすべて(あるいは多数)が入力データに依存している
という特徴を持っている。
【0003】このような計算を一般的な並列計算機で行
なう場合においては、特に並列計算機としてはプロセッ
サ数が問題の入力データ数と同程度であるものを考え
る。すなわち、マトリックス対ベクタ積を求める計算に
おいてはプロセッサ数がベクタ長と同程度であり、ニュ
ーラルネットワーク計算においてはプロセッサ数がネッ
トワーク各層のノード数と同程度であるものとする。こ
のとき、入力データはプロセッサに分散して入力される
ため、各プロセッサは他のプロセッサにあるデータを通
信により得る必要がある。
なう場合においては、特に並列計算機としてはプロセッ
サ数が問題の入力データ数と同程度であるものを考え
る。すなわち、マトリックス対ベクタ積を求める計算に
おいてはプロセッサ数がベクタ長と同程度であり、ニュ
ーラルネットワーク計算においてはプロセッサ数がネッ
トワーク各層のノード数と同程度であるものとする。こ
のとき、入力データはプロセッサに分散して入力される
ため、各プロセッサは他のプロセッサにあるデータを通
信により得る必要がある。
【0004】並列計算機のプロセッサ間には1対1通信
を行なうネットワークを有するものとする。ここでの1
対1通信はハードウェアとして1対1である必要はな
く、仮想的に1対1通信を行なうことが可能であればよ
い。実際には本方式の適用においてはバス型ネットワー
クでも良く、一般的な並列計算機のすべてがこの条件に
あてはまる。
を行なうネットワークを有するものとする。ここでの1
対1通信はハードウェアとして1対1である必要はな
く、仮想的に1対1通信を行なうことが可能であればよ
い。実際には本方式の適用においてはバス型ネットワー
クでも良く、一般的な並列計算機のすべてがこの条件に
あてはまる。
【0005】従来はマトリックス対ベクタ積といった計
算は以下に説明するような2つの方法により計算されて
いた。ブロードキャストによる処理もコンビネーション
による処理もどちらの方法も一般によく知られている。
算は以下に説明するような2つの方法により計算されて
いた。ブロードキャストによる処理もコンビネーション
による処理もどちらの方法も一般によく知られている。
【0006】ブロードキャストによる処理について説明
する。ブロードキャストによる処理では、まず各プロセ
ッサは処理開始時に保持しているデータをすべてのプロ
セッサに分配する。そしてプロセッサ上に他のプロセッ
サが持っていたデータがすべて揃った時点で必要な計算
が行なわれる。
する。ブロードキャストによる処理では、まず各プロセ
ッサは処理開始時に保持しているデータをすべてのプロ
セッサに分配する。そしてプロセッサ上に他のプロセッ
サが持っていたデータがすべて揃った時点で必要な計算
が行なわれる。
【0007】ここでは、マトリックス対ベクタ積につい
て例示するが、マトリックスの要素は定数であり、ベク
タの要素が入力として与えられる場合の計算を取り上げ
る。つまり、マトリックスの要素は既にプロセッサに分
配されているものとし、ベクタの要素が外部から各プロ
セッサに入力されるものとする。
て例示するが、マトリックスの要素は定数であり、ベク
タの要素が入力として与えられる場合の計算を取り上げ
る。つまり、マトリックスの要素は既にプロセッサに分
配されているものとし、ベクタの要素が外部から各プロ
セッサに入力されるものとする。
【0008】マトリックスajiに対して入力ベクタxi
とし、式(1)の計算が行なわれる。
とし、式(1)の計算が行なわれる。
【0009】プロセッサPEj にはマトリックスの要素
ajiが分配されているものとする。ここでプロセッサP
Ej にはxj が入力される。プロセッサPEj がvj を
計算するためにはすべてのxi が必要であるのでプロセ
ッサ間通信が行なわれる。
ajiが分配されているものとする。ここでプロセッサP
Ej にはxj が入力される。プロセッサPEj がvj を
計算するためにはすべてのxi が必要であるのでプロセ
ッサ間通信が行なわれる。
【0010】ブロードキャストによる処理の場合は、す
べての入力データが各プロセッサに揃った状態で計算処
理が行なわれるので、通信に関して問題となるのはブロ
ードキャスト通信自体である。以下では、ブロードキャ
スト通信をハイパーキューブのネットワーク上で処理す
る様子を示す。図2から図4の例においてはネットワー
クとしてハイパーキューブが使用されるが、1対1通信
のみを考えるのでどのようなネットワークでも同じであ
る。
べての入力データが各プロセッサに揃った状態で計算処
理が行なわれるので、通信に関して問題となるのはブロ
ードキャスト通信自体である。以下では、ブロードキャ
スト通信をハイパーキューブのネットワーク上で処理す
る様子を示す。図2から図4の例においてはネットワー
クとしてハイパーキューブが使用されるが、1対1通信
のみを考えるのでどのようなネットワークでも同じであ
る。
【0011】図2にプロセッサ数が8個の場合のハイパ
ーキューブネットワークの接続関係を示す。8プロセッ
サのハイパーキューブでは各プロセッサは3つの接続を
持つ。たとえばPE0 はPE1 、PE2 、およびPE4
との接続を持つ。各接続は第0軸の接続、第1軸の接
続、第2軸の接続と呼ばれる。なお第i軸の代わりに第
i次元ともいう。
ーキューブネットワークの接続関係を示す。8プロセッ
サのハイパーキューブでは各プロセッサは3つの接続を
持つ。たとえばPE0 はPE1 、PE2 、およびPE4
との接続を持つ。各接続は第0軸の接続、第1軸の接
続、第2軸の接続と呼ばれる。なお第i軸の代わりに第
i次元ともいう。
【0012】図3を参照して、ブロードキャスト通信の
実行状況について説明する。ブロードキャストは複数の
ステップにより実行されるが、それぞれのステップは各
通信接続の軸に従っている。つまり最初のステップでは
第0軸の接続による通信を行ない、次のステップでは第
1軸の接続による通信が行なわれる。
実行状況について説明する。ブロードキャストは複数の
ステップにより実行されるが、それぞれのステップは各
通信接続の軸に従っている。つまり最初のステップでは
第0軸の接続による通信を行ない、次のステップでは第
1軸の接続による通信が行なわれる。
【0013】ブロードキャスト通信の開始時点では、各
PEi はデータxi を持っているものとする。
PEi はデータxi を持っているものとする。
【0014】図4を参照して、PE0 に送られるデータ
にのみ注目して図3を書換えたものを示す。第1ステッ
プでは、たとえばx1 がPE0 に送られる。第2ステッ
プでは、たとえばx2 とx3 とがPE0 に送られる。そ
して第3ステップの終了時点ではすべてのデータがPE
0 上にある。他のプロセッサでも同様の処理が行なわれ
ているので、第3ステップの終了時点ではすべてのプロ
セッサがすべての入力データを持っていることになる。
にのみ注目して図3を書換えたものを示す。第1ステッ
プでは、たとえばx1 がPE0 に送られる。第2ステッ
プでは、たとえばx2 とx3 とがPE0 に送られる。そ
して第3ステップの終了時点ではすべてのデータがPE
0 上にある。他のプロセッサでも同様の処理が行なわれ
ているので、第3ステップの終了時点ではすべてのプロ
セッサがすべての入力データを持っていることになる。
【0015】ここで各プロセッサは必要な計算を行なう
ことができる。ここではプロセッサPEj には予めマト
リックスの要素ajiを分配しておくものとする。プロセ
ッサPEj はvj =Σi ajixi なる計算を行なう。
ことができる。ここではプロセッサPEj には予めマト
リックスの要素ajiを分配しておくものとする。プロセ
ッサPEj はvj =Σi ajixi なる計算を行なう。
【0016】次にコンビネーションによる処理について
説明する。コンビネーションによる処理では、まず各プ
ロセッサは自分が保持しているデータだけで行なえる処
理を行なう。次にそれらのデータを通信を行ないなが
ら、加算等の演算でデータをリダクション(縮退)して
いく。この処理は、通信されてきたデータに対して加算
などを行ない、結果としてデータ量が減っていくので縮
退という。
説明する。コンビネーションによる処理では、まず各プ
ロセッサは自分が保持しているデータだけで行なえる処
理を行なう。次にそれらのデータを通信を行ないなが
ら、加算等の演算でデータをリダクション(縮退)して
いく。この処理は、通信されてきたデータに対して加算
などを行ない、結果としてデータ量が減っていくので縮
退という。
【0017】ブロードキャストによる処理の場合と同様
に、コンビネーションによる処理をハイパーキューブネ
ットワーク上で行なう様子を図2、図5、図6、および
図7により示す。コンビネーションによる処理の場合
は、通信処理の途中に計算処理が行なわれるので処理が
少し複雑になる。
に、コンビネーションによる処理をハイパーキューブネ
ットワーク上で行なう様子を図2、図5、図6、および
図7により示す。コンビネーションによる処理の場合
は、通信処理の途中に計算処理が行なわれるので処理が
少し複雑になる。
【0018】図2を参照して、ネットワークを示すが、
これは前記と同様である。図5を参照して、各ステップ
を示す。各ステップに通信するプロセッサはプロードキ
ャストによる処理の場合と同様である。しかし、通信さ
れるデータとそのデータ間で計算が行なわれる点が異な
っている。プロセッサPEj にはマトリックスの要素a
ijが分配されているものとする。このマトリックスの要
素の分配の仕方は、ブロードキャストによる処理の場合
と異なっている。
これは前記と同様である。図5を参照して、各ステップ
を示す。各ステップに通信するプロセッサはプロードキ
ャストによる処理の場合と同様である。しかし、通信さ
れるデータとそのデータ間で計算が行なわれる点が異な
っている。プロセッサPEj にはマトリックスの要素a
ijが分配されているものとする。このマトリックスの要
素の分配の仕方は、ブロードキャストによる処理の場合
と異なっている。
【0019】第1ステップでは、まずPEi は入力デー
タx0 に対して部分和Sj (i)=ajixi を計算して
おく。つまりPE0 ではSj (0)=aj0x0 、(j=
0,1,2,…,7)を計算しておく。この計算に必要
なデータはPEi 上にあるので可能である。次にこの部
分和Sj (i)が通信によりそれぞれ交換される。
タx0 に対して部分和Sj (i)=ajixi を計算して
おく。つまりPE0 ではSj (0)=aj0x0 、(j=
0,1,2,…,7)を計算しておく。この計算に必要
なデータはPEi 上にあるので可能である。次にこの部
分和Sj (i)が通信によりそれぞれ交換される。
【0020】図6にPE0 に結果を生成するために必要
な通信のみを抜粋したものを示す。ここでS0 (01)
は部分和S0 (01)=S0 (0)+S0 (1)を意味
し、式(2)で表わされる。
な通信のみを抜粋したものを示す。ここでS0 (01)
は部分和S0 (01)=S0 (0)+S0 (1)を意味
し、式(2)で表わされる。
【0021】また、S0 (0123)は部分和S0 (0
123)=S0 (01)+S0 (23)を意味し、式
(3)で表わされる。
123)=S0 (01)+S0 (23)を意味し、式
(3)で表わされる。
【0022】ちなみにSi (n…)はPEi へ向かう部
分和データとなっている。図7を参照して、図6で示さ
れたPE0 に結果を生成するために必要な通信によって
実際に通信されたデータを示す。たとえば、第1ステッ
プでは、{S0 (1),S2 (1),S4 (1),S6
(1)}がPE1 からPE0 へ通信されている。そして
PE0 上では元々持っているS0 (0)と通信されてき
たS0 (1)の間で計算が行なわれ、新たな部分和S0
(01)が求められる。同様にPE 0 上ではS2 (0
1)、S4 (01)、S6 (01)が計算される。つま
り第1ステップの終了時点でPE0 は部分和S0 (0
1)、S2 (01)、S4 (01)、S6 (01)を中
間結果として持っている。第1ステップの開始時点では
8つのデータを持っていたが、終了時点では4つのデー
タに減っていることに注意すべきである。
分和データとなっている。図7を参照して、図6で示さ
れたPE0 に結果を生成するために必要な通信によって
実際に通信されたデータを示す。たとえば、第1ステッ
プでは、{S0 (1),S2 (1),S4 (1),S6
(1)}がPE1 からPE0 へ通信されている。そして
PE0 上では元々持っているS0 (0)と通信されてき
たS0 (1)の間で計算が行なわれ、新たな部分和S0
(01)が求められる。同様にPE 0 上ではS2 (0
1)、S4 (01)、S6 (01)が計算される。つま
り第1ステップの終了時点でPE0 は部分和S0 (0
1)、S2 (01)、S4 (01)、S6 (01)を中
間結果として持っている。第1ステップの開始時点では
8つのデータを持っていたが、終了時点では4つのデー
タに減っていることに注意すべきである。
【0023】そして第2ステップでは、{S0 (2
3),S4 (23)}がPE2 からPE 0 へ通信され
る。そして部分和S0 (0123)とS4 (0123)
が、それぞれS0 (01)とS0 (23)、そしてS4
(01)をS4 (23)から計算される。
3),S4 (23)}がPE2 からPE 0 へ通信され
る。そして部分和S0 (0123)とS4 (0123)
が、それぞれS0 (01)とS0 (23)、そしてS4
(01)をS4 (23)から計算される。
【0024】第3ステップの終了時点ではPE0 上に
は、S0 (01234567)がある。これは式(4)
で表わされる求めるべき結果である。
は、S0 (01234567)がある。これは式(4)
で表わされる求めるべき結果である。
【0025】
【数1】
【0026】
【数2】
【0027】
【数3】
【0028】
【数4】
【0029】
【発明が解決しようとする課題】従来のブロードキャス
ト処理方法およびコンビネーション処理方法において
は、問題の計算をネットワークの多段通信により処理す
る場合において、プロセッサ数N、あるいは入力データ
数Nに対してlog(N)ステップの通信処理が必要と
なる。
ト処理方法およびコンビネーション処理方法において
は、問題の計算をネットワークの多段通信により処理す
る場合において、プロセッサ数N、あるいは入力データ
数Nに対してlog(N)ステップの通信処理が必要と
なる。
【0030】また問題の計算をブロードキャスト処理方
法により行なう場合には、後段のステップにいくに従い
各ステップあたりの通信量が大きくなるという問題点が
発生する。
法により行なう場合には、後段のステップにいくに従い
各ステップあたりの通信量が大きくなるという問題点が
発生する。
【0031】一方コンビネーション処理方法により計算
を行なう場合には、前段のステップほど各ステップあた
りの通信量が大きくなるという問題点が生ずる。ここで
通信量とは処理の途中で各プロセッサが通信する単位デ
ータの通信量の総和を指すものとする。
を行なう場合には、前段のステップほど各ステップあた
りの通信量が大きくなるという問題点が生ずる。ここで
通信量とは処理の途中で各プロセッサが通信する単位デ
ータの通信量の総和を指すものとする。
【0032】それゆえに本願の請求項1に記載の発明
は、従来の処理方法と比較して、少ないデータ通信量で
処理が可能な並列計算機のリダクション処理方法を提供
することを目的とする。
は、従来の処理方法と比較して、少ないデータ通信量で
処理が可能な並列計算機のリダクション処理方法を提供
することを目的とする。
【0033】
【課題を解決するための手段】本願発明の請求項1に記
載の並列計算機のリダクション処理方法は、通信ネット
ワーク接続された並列計算機により、各々が複数の入力
データに依存する複数の出力データを生成する計算を処
理するための並列計算機のリダクション処理方法であっ
て、ブロードキャスト処理の実行により中間結果を得る
ステップと、前記中間結果に基づいてコンビネーション
処理を実行するステップとを含むことを特徴とする。
載の並列計算機のリダクション処理方法は、通信ネット
ワーク接続された並列計算機により、各々が複数の入力
データに依存する複数の出力データを生成する計算を処
理するための並列計算機のリダクション処理方法であっ
て、ブロードキャスト処理の実行により中間結果を得る
ステップと、前記中間結果に基づいてコンビネーション
処理を実行するステップとを含むことを特徴とする。
【0034】
【発明の実施の形態】以下本願の発明の実施の形態につ
いて説明する。バス型ネットワークのように特別にブロ
ードキャスト処理に適したネットワークを除き、ブロー
ドキャスト処理やコンビネーション処理においてはポイ
ント−ポイントの通信を基礎とするので、通信ハードウ
ェアによらず多段通信を行なう。
いて説明する。バス型ネットワークのように特別にブロ
ードキャスト処理に適したネットワークを除き、ブロー
ドキャスト処理やコンビネーション処理においてはポイ
ント−ポイントの通信を基礎とするので、通信ハードウ
ェアによらず多段通信を行なう。
【0035】複数の入力データに対して複数の出力デー
タを生成するが、各出力データがすべて、あるいは多数
の入力データに依存しているような問題を取り上げる。
このような性質の問題には、マトリックス対ベクタ積の
計算や、ニューラルネットワークの計算などがある。
タを生成するが、各出力データがすべて、あるいは多数
の入力データに依存しているような問題を取り上げる。
このような性質の問題には、マトリックス対ベクタ積の
計算や、ニューラルネットワークの計算などがある。
【0036】また、プロセッサ数と入力データ数は同程
度とする。マトリックス対ベクタ積の場合を例にとる
と、ベクタの要素数とプロセッサ数が同数とする。
度とする。マトリックス対ベクタ積の場合を例にとる
と、ベクタの要素数とプロセッサ数が同数とする。
【0037】問題の計算をネットワークの多段通信によ
り処理する場合、ブロードキャスト処理ならびにコンビ
ネーション処理は、プロセッサ数N(あるいは入力デー
タ数)に対してlog(N)ステップが必要である。
り処理する場合、ブロードキャスト処理ならびにコンビ
ネーション処理は、プロセッサ数N(あるいは入力デー
タ数)に対してlog(N)ステップが必要である。
【0038】問題の計算をブロードキャスト処理により
計算を行なう場合、後段のステップにいくに従い、各ス
テップ当りの通信量が大きくなる。同様にコンビネーシ
ョン処理により計算を行なう場合、前段のステップほど
各ステップあたりの通信量が大きくなる。ここで信号量
とは処理の途中で各プロセッサが通信する単位データの
通信量の総和を指すものとする。
計算を行なう場合、後段のステップにいくに従い、各ス
テップ当りの通信量が大きくなる。同様にコンビネーシ
ョン処理により計算を行なう場合、前段のステップほど
各ステップあたりの通信量が大きくなる。ここで信号量
とは処理の途中で各プロセッサが通信する単位データの
通信量の総和を指すものとする。
【0039】ブロードキャスト処理では演算の行なわれ
るデータ同士を近づけ、最終的には各プロセッサ上にす
べてのデータを持ってくることを行なっている。その処
理の間、目的の計算に必要なデータはすべてのステップ
において、プロセッサ群に分割されてはいるが、どれか
のプロセッサ上には存在している。このことは、どのス
テップであってもブロードキャスト処理による方法を中
断して、コンビネーション処理による方法に移行可能な
ことを意味する。
るデータ同士を近づけ、最終的には各プロセッサ上にす
べてのデータを持ってくることを行なっている。その処
理の間、目的の計算に必要なデータはすべてのステップ
において、プロセッサ群に分割されてはいるが、どれか
のプロセッサ上には存在している。このことは、どのス
テップであってもブロードキャスト処理による方法を中
断して、コンビネーション処理による方法に移行可能な
ことを意味する。
【0040】ブロードキャスト処理による方法を途中の
ステップで中断し、コンビネーション処理による方法に
移行する。これが本願発明の特徴である。
ステップで中断し、コンビネーション処理による方法に
移行する。これが本願発明の特徴である。
【0041】ブロードキャスト処理による方法は、処理
の前段のステップにおいて各ステップに必要な通信量が
少なく、一方、コンビネーション処理による方法は、処
理の後段のステップにおいて各ステップに必要な通信量
が少ない。本方式により、全ステップ数は同じである
が、各ステップに必要な通信量が少なくなり総通信量が
少ない処理が可能になる。
の前段のステップにおいて各ステップに必要な通信量が
少なく、一方、コンビネーション処理による方法は、処
理の後段のステップにおいて各ステップに必要な通信量
が少ない。本方式により、全ステップ数は同じである
が、各ステップに必要な通信量が少なくなり総通信量が
少ない処理が可能になる。
【0042】特にプロセッサ数とデータ数が同じ場合に
は、全ステップの中央(ステップ数が奇数の場合は中央
に近いどちらかのステップ)で、ブロードキャスト処理
とコンビネーション処理とを切換えると通信量が最も少
なくなる。プロセッサ数とデータ数とが等しくない場合
も、適当なステップ位置で切換えることにより通信量を
少なくすることができる。
は、全ステップの中央(ステップ数が奇数の場合は中央
に近いどちらかのステップ)で、ブロードキャスト処理
とコンビネーション処理とを切換えると通信量が最も少
なくなる。プロセッサ数とデータ数とが等しくない場合
も、適当なステップ位置で切換えることにより通信量を
少なくすることができる。
【0043】本方式はブロードキャスト処理に適したバ
ス型ネットワークに比較しても、総通信量が少ない処理
方式である。
ス型ネットワークに比較しても、総通信量が少ない処理
方式である。
【0044】次に具体的な手段を示す。ここではマトリ
ックス対ベクタ積を、プロセッサ数8、ベクタ長8とす
る場合について式(5)により例示する。
ックス対ベクタ積を、プロセッサ数8、ベクタ長8とす
る場合について式(5)により例示する。
【0045】まず図8を参照して、3つのステップのう
ちの1段目までをブロードキャスト処理により処理し、
残る2段をコンビネーション処理により処理したものに
ついて例示する。
ちの1段目までをブロードキャスト処理により処理し、
残る2段をコンビネーション処理により処理したものに
ついて例示する。
【0046】第1ステップが終了するまではブロードキ
ャスト処理によるものと全く同様である。その結果、P
E0 は{x0 ,x1 }を持つことになる。
ャスト処理によるものと全く同様である。その結果、P
E0 は{x0 ,x1 }を持つことになる。
【0047】ここでこれらの値から、PE0 上では、式
(6a)〜式(6d)の部分を計算することができる。
(6a)〜式(6d)の部分を計算することができる。
【0048】PE0 が{S0 (01),S2 (01),
S4 (01),S6 (01)}を持つ状況が、コンビネ
ーション処理の第2ステップの前の状況と同様である。
よって以降の処理をコンビネーション処理として続行す
ることが可能である。
S4 (01),S6 (01)}を持つ状況が、コンビネ
ーション処理の第2ステップの前の状況と同様である。
よって以降の処理をコンビネーション処理として続行す
ることが可能である。
【0049】次に、図9を参照して、3つのステップの
うちの2段目までをブロードキャスト処理により、最後
の1段をコンビネーション処理として処理したものにつ
いて例示する。
うちの2段目までをブロードキャスト処理により、最後
の1段をコンビネーション処理として処理したものにつ
いて例示する。
【0050】第2ステップが終了するまではブロードキ
ャスト処理によるものと同様である。その結果、PE0
は{x0 ,x1 ,x2 ,x3 }を持つことになる。ここ
でこれらの値から、PE0 上では、式(7a)および式
(7b)の部分を計算することができる。
ャスト処理によるものと同様である。その結果、PE0
は{x0 ,x1 ,x2 ,x3 }を持つことになる。ここ
でこれらの値から、PE0 上では、式(7a)および式
(7b)の部分を計算することができる。
【0051】PE0 が{S0 (03),S4 (03)}
を持つ状況は、コンビネーション処理の第3ステップ開
始前の状況と全く同様である。よって以降の処理をコン
ビネーション処理として続行することが可能である。
を持つ状況は、コンビネーション処理の第3ステップ開
始前の状況と全く同様である。よって以降の処理をコン
ビネーション処理として続行することが可能である。
【0052】次に通信量の簡単な評価について説明す
る。まず、ブロードキャスト処理による方法では、第1
ステップでは各プロセッサは1データの転送を行なう。
第2ステップではそれぞれ2データの転送を行なう。第
3ステップではそれぞれ4データの転送を行なう。した
がって合計7データの転送を行なうことになる。
る。まず、ブロードキャスト処理による方法では、第1
ステップでは各プロセッサは1データの転送を行なう。
第2ステップではそれぞれ2データの転送を行なう。第
3ステップではそれぞれ4データの転送を行なう。した
がって合計7データの転送を行なうことになる。
【0053】一般にブロードキャスト処理による方法で
は、プロセッサ数Nおよびデータ数Nに対してN−1の
通信を行なうことが知られている。
は、プロセッサ数Nおよびデータ数Nに対してN−1の
通信を行なうことが知られている。
【0054】次にコンビネーション処理による方法で
は、第1ステップでは各プロセッサは4データの転送を
行なう。第2ステップではそれぞれ2データの転送を行
なう。第3ステップではそれぞれ1データの転送を行な
う。したがって合計7データの転送を行なうことにな
る。
は、第1ステップでは各プロセッサは4データの転送を
行なう。第2ステップではそれぞれ2データの転送を行
なう。第3ステップではそれぞれ1データの転送を行な
う。したがって合計7データの転送を行なうことにな
る。
【0055】一般にコンビネーション処理による方法で
は、プロセッサ数Nおよびデータ数Nに対してN−1の
通信を行なうことが知られている。
は、プロセッサ数Nおよびデータ数Nに対してN−1の
通信を行なうことが知られている。
【0056】本発明の方法について、まず、第3段から
コンビネーション処理に変更する場合を見てみる。第1
ステップでは各プロセッサは1データの転送を行なう。
第2ステップではそれぞれ2データの転送を行なう。第
3ステップではそれぞれ1データの転送を行なう。した
がって合計4データの転送を行なうことになる。
コンビネーション処理に変更する場合を見てみる。第1
ステップでは各プロセッサは1データの転送を行なう。
第2ステップではそれぞれ2データの転送を行なう。第
3ステップではそれぞれ1データの転送を行なう。した
がって合計4データの転送を行なうことになる。
【0057】また、第2段からコンビネーション処理に
変更する場合においては、第1ステップでは各プロセッ
サは1データの転送を行なう。第2ステップではそれぞ
れ2データの転送を行なう。第3ステップではそれぞれ
1データの転送を行なう。したがって合計4データの転
送を行なうことになる。
変更する場合においては、第1ステップでは各プロセッ
サは1データの転送を行なう。第2ステップではそれぞ
れ2データの転送を行なう。第3ステップではそれぞれ
1データの転送を行なう。したがって合計4データの転
送を行なうことになる。
【0058】一般に本方式ではNに対してlog(N)
が偶数であれば、中央でブロードキャスト処理とコンビ
ネーション処理を切換えることにより、プロセッサ数N
およびデータ数Nに対して式(8)の回数の通信を行な
う。
が偶数であれば、中央でブロードキャスト処理とコンビ
ネーション処理を切換えることにより、プロセッサ数N
およびデータ数Nに対して式(8)の回数の通信を行な
う。
【0059】以上のように本願の請求項1に記載の並列
計算機のリダクション処理方法によれば、問題の計算に
対して従来の方法に比較して通信量を減らすことが可能
となる。
計算機のリダクション処理方法によれば、問題の計算に
対して従来の方法に比較して通信量を減らすことが可能
となる。
【0060】
【数5】
【0061】
【数6】
【0062】
【数7】
【0063】
【数8】
【図1】本発明による並列計算機のリダクション処理方
法の概要を示す図である。
法の概要を示す図である。
【図2】本発明の方法におけるハイパーキューブの通信
の接続(8プロセッサの場合)を示す図である。
の接続(8プロセッサの場合)を示す図である。
【図3】従来の方法におけるブロードキャスト処理によ
る計算のステップaを示す図である。
る計算のステップaを示す図である。
【図4】従来の方法におけるブロードキャスト処理によ
る計算のステップb(PE0 にデータが集まる通信のみ
を抜粋したもの)を示す図である。
る計算のステップb(PE0 にデータが集まる通信のみ
を抜粋したもの)を示す図である。
【図5】従来の方法におけるコンビネーション処理によ
る計算のステップaを示す図の構成を示す図である。
る計算のステップaを示す図の構成を示す図である。
【図6】従来の方法におけるコンビネーション処理によ
る計算のステップb(PE0 に結果を生成する通信のみ
を抜粋したもの)を示す図である。
る計算のステップb(PE0 に結果を生成する通信のみ
を抜粋したもの)を示す図である。
【図7】従来の方法におけるコンビネーション処理によ
る計算のステップc(PE0 に結果を生成する通信を中
心に通信データを抜粋したもの)を示す図の構成を示す
図である。
る計算のステップc(PE0 に結果を生成する通信を中
心に通信データを抜粋したもの)を示す図の構成を示す
図である。
【図8】本発明の方法において、後2段をコンビネーシ
ョン処理とした実施の形態を示す図である。
ョン処理とした実施の形態を示す図である。
【図9】本発明の方法において、後1段をコンビネーシ
ョン処理とした実施の形態を示す図である。
ョン処理とした実施の形態を示す図である。
【図10】従来の方法におけるコンビネーション処理に
よる計算のステップaを示す図である。
よる計算のステップaを示す図である。
【図11】従来の方法におけるコンビネーション処理に
よる計算のステップaを示す図である。
よる計算のステップaを示す図である。
【図12】従来の方法におけるコンビネーション処理に
よる計算のステップc(PE0 に結果を生成する通信を
中心に通信データを抜粋したもの)を示す図である。
よる計算のステップc(PE0 に結果を生成する通信を
中心に通信データを抜粋したもの)を示す図である。
【図13】従来の方法におけるコンビネーション処理に
よる計算のステップc(PE0 に結果を生成する通信を
中心に通信データを抜粋したもの)を示す図である。
よる計算のステップc(PE0 に結果を生成する通信を
中心に通信データを抜粋したもの)を示す図である。
Claims (1)
- 【請求項1】 通信ネットワーク接続された並列計算機
により、各々が複数の入力データに依存する複数の出力
データを生成する計算を処理するための並列計算機のリ
ダクション処理方法であって、 ブロードキャスト処理の実行により中間結果を得るステ
ップと、 前記中間結果に基づいてコンビネーション処理を実行す
るステップとを含む並列計算機のリダクション処理方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7239659A JPH0981530A (ja) | 1995-09-19 | 1995-09-19 | 並列計算機のリダクション処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7239659A JPH0981530A (ja) | 1995-09-19 | 1995-09-19 | 並列計算機のリダクション処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0981530A true JPH0981530A (ja) | 1997-03-28 |
Family
ID=17047997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7239659A Withdrawn JPH0981530A (ja) | 1995-09-19 | 1995-09-19 | 並列計算機のリダクション処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0981530A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020095595A (ja) * | 2018-12-14 | 2020-06-18 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
-
1995
- 1995-09-19 JP JP7239659A patent/JPH0981530A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020095595A (ja) * | 2018-12-14 | 2020-06-18 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
US11297127B2 (en) | 2018-12-14 | 2022-04-05 | Fujitsu Limited | Information processing system and control method of information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69131267T2 (de) | Datenverarbeitungssystem für Daten mit einfacher Präzision und mit doppelter Präzision | |
US6839728B2 (en) | Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture | |
Morgan et al. | The Ring Array Processor: A multiprocessing peripheral for connectionist applications | |
US6947916B2 (en) | IC for universal computing with near zero programming complexity | |
EP0479102A2 (en) | Multidimensional systolic array processing apparatus and method | |
JPS6217770B2 (ja) | ||
JP2580592B2 (ja) | データ構造駆動型処理装置とその制御方法 | |
JP3345894B2 (ja) | 浮動小数点乗算器 | |
EP0395240B1 (en) | High speed numerical processor | |
JPH0981530A (ja) | 並列計算機のリダクション処理方法 | |
JP3537378B2 (ja) | 加算器および集積回路 | |
EP0278529A2 (en) | Multiplication circuit capable of operating at a high speed with a small amount of hardware | |
JPH0764766A (ja) | 並列計算機における最大・最小値演算方法 | |
CN110659014A (zh) | 乘法器及神经网络计算平台 | |
JP3227538B2 (ja) | 2進整数乗算器 | |
JPH01220528A (ja) | パリテイ発生器 | |
JP2869668B2 (ja) | ディジタルデータの離散フーリエ又はコサイン変換装置 | |
JPS60173483A (ja) | 論理回路シミュレーション装置 | |
JPS59114665A (ja) | 並列計算機システム | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
JP3271186B2 (ja) | 学習処理装置 | |
WO2024212523A1 (zh) | 数据处理装置、方法、人工智能处理器、计算机可读存储介质及计算机程序产品 | |
JP3620887B2 (ja) | データ処理装置 | |
JPH04364525A (ja) | 並列演算装置 | |
JPH07141148A (ja) | パイプライン並列乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20021203 |