JP3845711B2

High speed processing method of addition including indirect address reference on vector computer, program and vector computer using this program

Abstract

This record has no abstract on file.

Term

No projected expiry on record.

  1. Priority and filed
  2. Granted
  3. Today

3 claims: 3 independent, 0 dependent

  1. 1
    When adding the elements of another array A to the array F, there is an intermediate array index that determines the position of the addition element,In the formula of, I is an addition including an indirect address reference expressed by the above formula that covers the entire range from 1 to N (where N is an arbitrary integer of 2 or more) in ascending order on the vector computer. In the high-speed processing method, arrays F, A and index are provided in the storage means, and (1) L working sequences having the same size as array F (where L is an integer of 2 or more) are described above. It is a step provided in the storage means, and the L working arrays are represented by the two-dimensional notation of W (I, J), and the size of the first dimension of W matches the size of the array F, and the second dimension. The size of is L, and the step of setting 0 to all the elements of the working array W, and (2) using the elements of the array A and the elements of the working array W,(Here, mod is a function that calculates the remainder.) The step of calculating I from 1 to N in order based on the formula expressed by (3) and storing the result in the corresponding working array W. ) Stamp (s) with the same size as the working array W1, s2The step of providing the array stamp represented by the two-dimensional notation of) in the storage means, and (4) the value of I with respect to the stamp (index (I), mod (I-1, L) +1) in the array stamp. And the step of changing (5) I from 1 to N and determining whether stamp (index (I), mod (I-1, L) +1) matches I. , (6) In the judgment in step (5), stamp (index (I), mod (I-1, L) +1) does not match I N'number of I (where N'is 1 or more (Integer) If it exists, it uses the step of generating a list of the mismatched I and storing it in the storage means as an array list of the number of elements N', and (7) using the elements of the array A and the elements of the working array W. ,(Here, mod is a function that calculates the remainder.) A step that calculates list (I) in order from 1 to N'based on the formula expressed by, and stores the result in the corresponding working array W. And (8) the step to store the value of I for stamp (index (list (I)), mod (list (I) -1, L) +1) in the array stamp, and (9) I to 1 Steps to determine whether stamp (index (list (I)), mod (list (I) -1, L) +1) matches I by changing from to N, and step (10) ( If there is an I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the judgment in 9), the list of the mismatched I is listed in the array list. There is an I that does not match the stamp (index (list (I)), mod (list (I) -1, L) +1) in the judgment in (11) step (9) and the step to be stored in. The step that repeats steps (7) to (10) until it disappears, and the judgment in (12) step (5) shows that stamp (index (I), mod (I-1, L) +1) is I. If there is no I that does not match, or if there is no I that does not match I in stamp (index (list (I)), mod (list (I) -1, L) +1) in the judgment in step (9) A method comprising, in case, a step to end the process. 配列Fに対して別の配列Aの要素を加算するときに、その加算要素の位置を決定する中間配列indexが存在し、の式であって、Iは1からN(ここで、Nは2以上の任意の整数)までの範囲を全て昇順に網羅する上記式により表される間接アドレス参照を含む加算をベクトル計算機上で高速処理する方法において、配列F、A及びindexが記憶手段に設けられており、(1)配列Fと同じ同じ大きさの作業配列をL個(ここで、Lは2以上の整数)を前記記憶手段に設けるステップであって、そのL個の作業配列をW(I,J)の2次元表記で表し、Wの1次元目の大きさは配列Fの大きさに一致し、2次元目の大きさがLであり、且つその作業配列Wの全要素に0をセットするステップと、(2)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいてIについて1からNまで順に計算して、その結果を対応する作業配列Wに格納するステップと、(3)作業配列Wと同じサイズでstamp(s1,s2)の2次元表記で表される配列stampを前記記憶手段に設けるステップと、(4)配列stampにおけるstamp(index(I),mod(I-1,L)+1)に対してIの値を格納するステップと、(5)Iを1からNまで変化させて、stamp(index(I),mod(I-1,L)+1)がIと一致するか否かを判定するステップと、(6)ステップ(5)での判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIがN′個(ここで、N′は1以上の整数)存在する場合、その一致しないIのリストを生成し且つ要素数N′の配列listとして前記記憶手段に格納するステップと、(7)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいてlist(I)について1からN′まで順に計算して、その結果を対応する作業配列Wに格納するステップと、(8)配列stampにおけるstamp(index(list(I)),mod(list(I)-1,L)+1)に対してIの値を格納するステップと、(9)Iを1からNまで変化させて、stamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致するか否かを判定するステップと、(10)ステップ(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在する場合、その一致しないIのリストを配列listに格納するステップと、(11)ステップ(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しなくなるまで、ステップ(7)からステップ(10)までを繰り返すステップと、(12)ステップ(5)での判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIが存在しない場合、又はステップ(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しない場合に、処理を終了するステップとを備える方法。
  2. 2
    When adding the elements of another array A to the array F, there is an intermediate array index that determines the position of the addition element,In the formula of, I is a vector that processes addition at high speed including an indirect address reference expressed by the above formula that covers the entire range from 1 to N (where N is an arbitrary integer of 2 or more) in ascending order. In the computer, the storage means for storing the arrays F, A and the index and the storage means are provided with L working sequences having the same size as the array F (where L is an integer of 2 or more). The L working arrays are represented by the two-dimensional notation of W (I, J), the size of the first dimension of W matches the size of the array F, and the size of the second dimension is L. , And all the elements of the working array W are set to 0, and the storage means is stamped (s) with the same size as the working array W.1, s2The array stamp represented by the two-dimensional notation of) is provided, and (1) using the elements of the array A and the elements of the working array W,(Here, mod is a function that calculates the remainder.) Calculate based on the formula, store the result in the corresponding working array W, and (2) stamp (index (I)) in the array stamp. ), Mod (I-1, L) +1), store the value of I, (3) in the first judgment, change I from 1 to N, stamp (index (I), mod Judge whether (I-1, L) +1) matches I, and (4) in the first judgment, stamp (index (I), mod (I-1, L) +1) is I If there are N'numbers of I's that do not match (where N'is an integer greater than or equal to 1), a list of the mismatched I's is generated and stored in the storage means as an array list with the number of elements N'. 5) Using the elements of array A and the elements of working array W(Here, mod is a function that calculates the remainder.) Based on the formula expressed by, the list (I) is calculated in order from 1 to N', and the result is stored in the corresponding working array W. (6) Store the value of I for stamp (index (list (I)), mod (list (I) -1, L) +1) in the array stamp, and (7) in the second judgment, I Is changed from 1 to N to determine whether stamp (index (list (I)), mod (list (I) -1, L) +1) matches I, and (8) 2nd If there is an I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the judgment of, the list of the mismatched I is stored in the array list. , (9) From the above (7) until there is no I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the second judgment Repeat the process up to (10), and (10) if there is no I whose stamp (index (I), mod (I-1, L) +1) does not match I in the first judgment, or the second A vector computer provided with arithmetic control means that terminates processing when there is no I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the judgment. 配列Fに対して別の配列Aの要素を加算するときに、その加算要素の位置を決定する中間配列indexが存在し、の式であって、Iは1からN(ここで、Nは2以上の任意の整数)までの範囲を全て昇順に網羅する上記式により表される間接アドレス参照を含む加算を高速処理するベクトル計算機において、配列F、A及びindexを格納する記憶手段と、前記記憶手段には、配列Fと同じ同じ大きさの作業配列をL個(ここで、Lは2以上の整数)が設けられており、そのL個の作業配列をW(I,J)の2次元表記で表し、Wの1次元目の大きさは配列Fの大きさに一致し、2次元目の大きさがLであり、且つその作業配列Wの全要素が0をセットされており、更に前記記憶手段には、作業配列Wと同じサイズでstamp(s1,s2)の2次元表記で表される配列stampが設けられており、(1)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいて計算して、その結果を対応する作業配列Wに格納し、(2)配列stampにおけるstamp(index(I),mod(I-1,L)+1)に対してIの値を格納し、(3)第1の判定において、Iを1からNまで変化させて、stamp(index(I),mod(I-1,L)+1)がIと一致するか否かを判定し、(4)第1の判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIがN′個(ここで、N′は1以上の整数)存在する場合、その一致しないIのリストを生成し且つ要素数N′の配列listとして前記記憶手段に格納し、(5)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいてlist(I)について1からN′まで順に計算して、その結果を対応する作業配列Wに格納し、(6)配列stampにおけるstamp(index(list(I)),mod(list(I)-1,L)+1)に対してIの値を格納し、(7)第2の判定において、Iを1からNまで変化させて、stamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致するか否かを判定し、(8)第2の判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在する場合、その一致しないIのリストを配列listに格納し、(9)第2の判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しなくなるまで、上記(7)から(10)までの処理を繰り返し、(10)第1の判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIが存在しない場合、又は第2の判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しない場合に、処理を終了する演算制御手段を備えるベクトル計算機。
  3. 3
    When adding the elements of another array A to the array F, there is an intermediate array index that determines the position of the addition element,In the formula of, I is an addition including an indirect address reference expressed by the above formula that covers the entire range from 1 to N (where N is an arbitrary integer of 2 or more) in ascending order on the vector computer. In the program for high-speed processing above, in the procedure of (1) generating L working arrays of the same size as the array F (where L is an integer of 2 or more) in the storage means in the vector computer. There, the L working arrays are represented by the two-dimensional notation of W (I, J), the size of the first dimension of W matches the size of the array F, and the size of the second dimension is L. Yes, and using the procedure of setting 0 to all the elements of the working array W, and (2) the elements of the array A and the elements of the working array W,(Here, mod is a function that calculates the remainder.) The procedure of calculating I from 1 to N in order based on the formula expressed by (3) and storing the result in the corresponding working array W. ) Stamp (s) with the same size as the working array W1, s2The procedure for generating the array stamp represented by the two-dimensional notation of) in the storage means, and (4) I for the stamp (index (I), mod (I-1, L) +1) in the array stamp. The procedure for storing the value and (5) the procedure for changing I from 1 to N and determining whether stamp (index (I), mod (I-1, L) +1) matches I. And (6) In the judgment in step (5), stamp (index (I), mod (I-1, L) +1) does not match I N'number of I (where N'is 1 or more If it exists, a list of the mismatched I's is generated and stored in the storage means as an array list with the number of elements N', and (7) the elements of the array A and the elements of the working array W are used.(Here, mod is a function that calculates the remainder.) The procedure of calculating list (I) in order from 1 to N'based on the formula expressed by, and storing the result in the corresponding working array W. And (8) the procedure to store the value of I for stamp (index (list (I)), mod (list (I) -1, L) +1) in the array stamp, and (9) I to 1 The procedure for determining whether stamp (index (list (I)), mod (list (I) -1, L) +1) matches I by changing from to N, and (10) procedure ( If there is an I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the judgment in 9), the list of the mismatched I is listed in the array list. There is an I whose stamp (index (list (I)), mod (list (I) -1, L) +1) does not match I in the procedure to be stored in and the judgment in (11) and (9). The procedure of repeating steps (7) to (10) until it disappears, and the judgment in (12) step (5) shows that stamp (index (I), mod (I-1, L) +1) is I. If there is no I that does not match, or if the judgment in step (9) does not match stamp (index (list (I)), mod (list (I) -1, L) +1), there is no I. A program to execute the procedure to end the process if. 配列Fに対して別の配列Aの要素を加算するときに、その加算要素の位置を決定する中間配列indexが存在し、の式であって、Iは1からN(ここで、Nは2以上の任意の整数)までの範囲を全て昇順に網羅する上記式により表される間接アドレス参照を含む加算をベクトル計算機上で上で高速処理するためのプログラムにおいて、前記ベクトル計算機に、(1)配列Fと同じ同じ大きさの作業配列をL個(ここで、Lは2以上の整数)を記憶手段に生成する手順であって、そのL個の作業配列をW(I,J)の2次元表記で表し、Wの1次元目の大きさは配列Fの大きさに一致し、2次元目の大きさがLであり、且つその作業配列Wの全要素に0をセットする手順と、(2)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいてIについて1からNまで順に計算して、その結果を対応する作業配列Wに格納する手順と、(3)作業配列Wと同じサイズでstamp(s1,s2)の2次元表記で表される配列stampを前記記憶手段に生成する手順と、(4)配列stampにおけるstamp(index(I),mod(I-1,L)+1)に対してIの値を格納する手順と、(5)Iを1からNまで変化させて、stamp(index(I),mod(I-1,L)+1)がIと一致するか否かを判定する手順と、(6)手順(5)での判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIがN′個(ここで、N′は1以上の整数)存在する場合、その一致しないIのリストを生成し且つ要素数N′の配列listとして前記記憶手段に格納し、(7)配列Aの要素と作業配列Wの要素とを用いて、(ここで、modは剰余を計算する関数である。)で表される式に基づいてlist(I)について1からN′まで順に計算して、その結果を対応する作業配列Wに格納する手順と、(8)配列stampにおけるstamp(index(list(I)),mod(list(I)-1,L)+1)に対してIの値を格納する手順と、(9)Iを1からNまで変化させて、stamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致するか否かを判定する手順と、(10)手順(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在する場合、その一致しないIのリストを配列listに格納する手順と、(11)手順(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しなくなるまで、手順(7)から手順(10)までを繰り返す手順と、(12)手順(5)での判定でstamp(index(I),mod(I-1,L)+1)がIと一致しないIが存在しない場合、又は手順(9)での判定でstamp(index(list(I)),mod(list(I)-1,L)+1)がIと一致しないIが存在しない場合に、処理を終了する手順とを実行させるためのプログラム。