JP3304445B2 - プログラム生成処理装置 - Google Patents

プログラム生成処理装置

Info

Publication number
JP3304445B2
JP3304445B2 JP32351292A JP32351292A JP3304445B2 JP 3304445 B2 JP3304445 B2 JP 3304445B2 JP 32351292 A JP32351292 A JP 32351292A JP 32351292 A JP32351292 A JP 32351292A JP 3304445 B2 JP3304445 B2 JP 3304445B2
Authority
JP
Japan
Prior art keywords
index
program
value
division
range
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 - Fee Related
Application number
JP32351292A
Other languages
English (en)
Other versions
JPH06175857A (ja
Inventor
修一 中村
英俊 岩下
信 岡田
直樹 末安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32351292A priority Critical patent/JP3304445B2/ja
Publication of JPH06175857A publication Critical patent/JPH06175857A/ja
Application granted granted Critical
Publication of JP3304445B2 publication Critical patent/JP3304445B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散メモリを有する複数
のプロセッサエレメントが配列データの演算を分担して
行う並列計算機のプログラムを生成するプログラム生成
処理装置に関する。
【0002】1つのプログラムを複数台のプロセッサエ
レメント(以下にPEという)で分担して実行し、各P
Eがそれぞれの分散メモリを持つ場合、各PEの命令実
行部がアクセスする配列データが自分の分散メモリに配
置されていない場合は、他のPEのメモリを参照するた
めに演算の処理効率が落ちるので、必要なデータをでき
るだけ各自身の分散メモリに配置することが望まれる
が、同時に冗長な割り当てにならないようにすることが
望まれる。
【0003】
【従来の技術】図6は並列計算機システムの構成を示す
ブロック図であって、システムは複数(n台とする)の
プロセッサエレメントPE2-i(i=1,2,3,・・・n)か
らなり、各PEはCPU21と分散メモリとしてメモリ22
を有し、PE間は適当な通信路23で接続されている。
【0004】配列データに対する演算を各PEで分担し
て実行する場合、それぞれのPE2-iのメモリ22に該配列
データを配置しておく。もし該演算に必要な配列データ
がPE2-i内のメモリ22に格納されていないときは、通信
路を経由して該配列データが格納されている自分以外の
PEのメモリ22を通信路23経由でアクセスして該配列デ
ータを獲得することになる。
【0005】図7の繰り返し計算のプログラムの例に示
した配列データA、B(図7(a) のDIMENSION A、Bで
宣言される)に関する演算を3つのプロセッサで均等に
分担する場合を説明する。
【0006】並列計算機の利用者は、図7(a)のプログ
ラムを3つのプロセッサ(PE2-1〜3)に分担させるた
めに、図7(b)に示すようにPE2-1〜3がそれぞれ実行
するための分担プログラムを記述して、配列データの各
PEに均等に分割し、分割した配列データに対応して、
配列データの処理対象の添字範囲を制御するDO文の繰り
返しの制御値を調整する。
【0007】これらの分担プログラムは翻訳されて各PE
2-1〜3のCPU21で実行されるが、その場合に各配列
データは、各分担プログラムで宣言されている添字範囲
のデータが、それぞれPE2-1〜3の各メモリ22に配置さ
れる。
【0008】即ちPE2-1にはDIMENSION A(1:100)、DIME
NSION B(1:100)が、PE2-2にはDIMENSION A(101:200)、
DIMENSION B(101:200)が、PE2-3にはDIMENSION A(201:
299)、DIMENSION B(201:299)が配置される。
【0009】ここで、各分担プログラムから明らかなよ
うに、例えばPE2-2のCPU21が参照する配列Bは、B
(I-1)の場合はB(100)〜B(199)となり、B(I)の場合はB(1
01)〜B(200)となり、B(I+1)の場合はB(102)〜B(201)と
なる。
【0010】従って、PE2-2において、配列要素のB(I-
1)とB(I+1)を参照する場合、PE2-2のメモリ22に配置さ
れた配列B(101)〜B(200)以外の、B(100)とB(201)の参照
が必要になり、その場合には前記のように、通信路23を
経由してそれぞれPE2-1とPE2-3のメモリ22をアクセス
する必要があり、プロセッサ間のデータ転送が発生して
アクセスが遅延する。同様に他PEのメモリにアクセス
する必要は、PE2-1及びPE2-3でも発生する。
【0011】この場合に、例えば図7(c) に示すよう
に、配列Bを分割しないで全PEのメモリに配置すれ
ば、前記ようなPE間のデータ転送を避けることができ
るが、全くアクセスを要しない冗長なデータを多量に各
PEで保持することになり、メモリを有効に利用できな
い。
【0012】
【発明が解決しようとする課題】配列データをプロセッ
サ毎のメモリに分散配置して、1つのプログラムを複数
のプロセッサで分担して実行する場合、図7(b)の例に
ついて前記したB(100)とB(201)のように、配列データの
境界部分でプロセッサ間のデータ転送が発生し、並列計
算機の処理効率を落とすという問題がある。
【0013】本発明は、並列計算でPE間のデータ転送
が発生しないように、各PEのメモリへの配列データの
配置、及びプログラムの実行範囲の割当を行った分担プ
ログラムを生成するように容易に指定することができる
プログラム生成処理装置を目的とする。
【0014】
【課題を解決するための手段】図1は本発明の構成を示
すブロック図である。図はプログラム生成処理装置の構
成であって、分散メモリを有する複数のPEから構成さ
れ、各該PEの該分散メモリに分割配置された配列デー
タについて、当該配列データの演算を該PEで分担して
実行するための各分担プログラム14を、所与の原プログ
ラム10から生成するプログラム生成処理装置であって、
分割指定処理部11と、分割インデクス格納部12と、分担
プログラム生成処理部13とを有する。
【0015】分割指定処理部11は、原プログラム10に記
述された所定の各インデクス分割指定ごとに、該インデ
クス分割指定に指定するPE数、インデクス値範囲、左
袖数及び右袖数に基づいて、各該PEに該インデクス範
囲を均等に重複無く分割した場合の、各下限のインデク
ス値より該左袖数だけ小さい値を各割当下限値とし、各
上限のインデクス値より該右袖数だけ大きい値を各割当
上限値として、各該PEに割り当てるインデクスの該割
当下限値及び割当上限値を決定し、該割当下限値及び割
当上限値を分割インデクス格納部12に記憶する。
【0016】分担プログラム生成処理部13は、原プログ
ラム10に記述された所定の各配列データ分割指定に指定
されている該インデクス分割指定に従い、該配列データ
の各該PEへの割当添字範囲を、該分割インデクス格納
部12に保持する該割当下限値及び該割当上限値を満足
し、且つ該配列データの添字範囲を越えない値に決定す
る。
【0017】又分担プログラム生成処理部13は、原プロ
グラム10に記述された所定の各プログラム分割指定ごと
に、該インデクス分割指定に従い、分担プログラム部分
の繰り返し制御値の各該PEへの割当制御値範囲を、該
分割インデクス格納部12に保持する該割当下限値及び該
割当上限値を満足し、且つ分担プログラムの該制御値の
範囲を越えない値に決定する。
【0018】分担プログラム生成処理部13は、各該PE
ごとについて、該決定した割当添字範囲及び割当制御値
範囲によって原プログラム10を修正して、各該分担プロ
グラム14を生成する。
【0019】
【作用】本発明のプログラム生成処理装置により、各P
Eで実行すべき分担プログラムを原プログラムから生成
するために、1個以上のインデクス分割指定と、それら
のインデクス分割指定を適用する配列データ及びプログ
ラム部分を、原プログラム上で指定することができるよ
うになる。
【0020】各インデクス分割指定では、配列データの
添字又はプログラム部分の繰り返し制御値に対応させて
分割を行うためのインデクスについて、インデクス値の
範囲、分割するPE数、及び左右袖数を指定し、例えば
各インデクス分割指定を識別する名前を付ける。なお、
左右袖数は0又は正整数とする。
【0021】各配列データ分割指定では、配列データの
配列名と分割に適用するインデクス分割指定名を指定
し、プログラム分割指定では、分担して並列実行するプ
ログラム部分 (例えばDOループ) とインデクス分割指定
名とを指定する。
【0022】分割指定処理部11は、このインデクス分割
指定から各PEに割り当てるインデクスの下限と上限を
割当下限値及び割当上限値として、前記のようにして求
め、例えば分割指定名で区分して分割値格納部12に記憶
する。
【0023】従って、左右袖数の少なくとも一方に正整
数を指定することにより、各PEの割当下限値と割当上
限値で定まるインデクスの割当範囲を、隣接のPEの割
当範囲と重複させることができる。
【0024】分担プログラム生成処理部13は、原プログ
ラムの各配列データ分割指定ごとに、指定されたインデ
クス分割指定に従って、配列データの各PEへの割当添
字範囲を決定し、各プログラム分割指定ごとに、指定さ
れたインデクス分割指定に従い、指定プログラム部分の
繰り返し制御値の各該PEへの割当制御値範囲を決定
し、決定した割当添字範囲及び割当制御値範囲によって
原プログラムを修正して、各PEの分担プログラムを生
成する。
【0025】以上により、配列データ及びプログラムを
一部重複させて分割するための指定を原プログラム上で
容易に行うことができるようになり、例えば前記従来例
の場合に左右袖数を各1に指定して、PE2-2への配列デ
ータBの割当範囲を、B(100)〜B(201)とすることによ
り、配列要素B(100)とB(201)をPE2-1、PE2-3と重複し
て持って、PE間のデータ転送を不要にすることができ
る。
【0026】
【実施例】メモリ分散型の並列計算機は図6に示したよ
うに、CPU21とメモリ22とを有する複数のPE2-i(i
=1,2,・・・,n)から構成されるが、これらのPE2-iが1
つのプログラムを複数台で分担して実行する場合、利用
者は、原プログラムを分担プログラムへ分割するための
指示情報を、原始プログラムレベルで原プログラムに記
述して本発明のプログラム生成処理装置に入力する。
【0027】分割の指示には、インデクス分割指定と、
配列データ分割指定と、プログラム分割指定があり、イ
ンデクス分割指定には、分担するPEの数や、プログラ
ムの命令又はデータの分割基準となるインデクスの区間
情報と、左袖数及び右袖数を指定する。
【0028】図3により分割の指示情報を付加した原プ
ログラムの例について説明する。図3(a) のプログラム
は、前記の図7に示したプログラムに本発明による分割
の指示情報を加えたものであって、前記説明と同様に3
台のPE2-i(i=1,2,3 )に分担させて実行することを
予定している。
【0029】このプログラムを複数のPEに均等に分割
して実行させるための分割の指示情報として、図示のよ
うにインデクス分割指定を記述するための「PARTITION
文」と、インデクス分割指定を適用して配列データを分
割することを記述する「LOCATE文」と、インデクス分割
指定を適用して繰り返し計算の制御値の範囲を分割する
ことを記述するための「PARALLEL DO 文」とがある。
【0030】PARTITION 文のオペランドの等号の左 (図
の例のP、Q) はインデクス分割指定の名前であり、等
号の右はPEの数(=3)と、分割前のインデクスの区
間(1〜300)と、左右袖数とからなる。但し左右袖数の
記述を省略した場合(図のQの場合)は、左右袖数共に
0を指定したものとする。
【0031】LOCATE文は、図示のように配列データの名
前Bと、括弧内に分割に適用するインデクス分割指定の
名前とを記述することにより、指定の配列の添字範囲
を、後述のようにして指定のインデクス分割指定に従っ
て各PEに割り当てることを指定する。
【0032】PARALLEL DO 文は、図示のように必要な
「DO文」に置き換えて記述し、右端に記述する「:名
前」の指定で、「名前」のインデクス分割指定を指定
し、そのDO文の繰り返しを制御する制御値の範囲を、後
述のようにして指定のインデクス分割指定に従って各P
Eに割り当てることを指定する。
【0033】図1の分割指定処理部11は、インデクス分
割指定のPARTITION 文に基づいて、i番目のPE(PE2-
i)に割り当てるインデクスの割当下限値xi、及び割当
上限値yi、を次のようにして求めて、インデクス分割指
定名と共に分割インデクス格納部12に記憶する。
【0034】割当下限値xi=max(a,ci−e) 割当上限値yi=min(b,di+f) 但し、上式において、 ・ インデクスの全範囲の下限値=a 、上限値=b、 ・ インデクスを重複することなく各PEに分割した場
合のPE2-iのインデクスの下限値=ci、上限値=di、 ・ 左袖数の値=e,右袖数の値=f であり、max(p,q)はpとqのうち大きい方の値を取る関
数、min(p,q)はpとqのうち小さい方の値を取る関数で
ある。
【0035】従って図3の例のインデクス分割指定Pに
より、3台のPEに割り当てられるインデクスの範囲
は、 P:(1:101),(100:201),(200:300) となり、インデクス分割指定Qでは、 Q:(1:100),(101:200),(201:300) となる。
【0036】分担プログラム生成処理部13は、LOCATE文
で配列データの添字範囲を分割し、及び後述のPARALLEL
DO 文によってプログラムの繰り返し制御値の範囲を分
割する場合には、各PE2-iの割当添字範囲又は割当制御
値範囲の下限値sxi 、及び上限値syiを次の式によって
決定する。
【0037】下限値sxi=max(sa,xi) 上限値syi=min(sb,yi) 但し、上式において、 ・ 添字範囲又は制御値範囲の下限値=sa、上限値=s
b、 ・ 指定のインデクス分割指定よにる、PE2-iの割当下
限値=xi、割当上限値=yi である。
【0038】従って図3(a)の例で、例えばPE2-3への
配列データBの割当添字範囲は、 下限値sx3=max(sa,x3)=max(1,200)=200 上限値sy3=min(sb,y3)=min(300,300)=300 となり、このようにして配列データA、B及びDO文の分
割を行うことにより、図3(b) に示すような分担プログ
ラムを生成する。
【0039】このようにして、例えばPE2-3には配列デ
ータBがB(201)〜B(300)ではなく、B(200)〜B(300)とい
うように、配列要素B(200)のみをPE2-2と重複するよう
に割り付けることが容易に指定でき、これによって自分
以外のプロセッサのメモリ22をアクセスする状態は生じ
ないことになる。
【0040】図4は別のプログラムの例であって、(a)
に示すプログラムを10台のPEで分担して並行処理する
場合には、例えば(b) に示すように分割指定の情報を付
加した原プログラムとする。
【0041】この原プログラムを入力することにより、
分割指定処理部11が前記のようにインデクス分割指定
P、Qを処理して、インデクスの割当上下限値を決定
し、それに基づいて分担プログラム生成処理部13が、配
列データAにインデクス分割指定P、配列データB、C
にインデクス分割指定Qを適用して、配列データの分割
を図4(c) のとおり決定する。
【0042】又、第1のDO文にインデクス分割指定Q、
第2のDO文にインデクス分割指定Pを適用して、繰り返
し範囲の分割を図4(d) のように決定し、これらの分割
結果によって、図5に示す分担プログラムが生成され
る。
【0043】図2は、本発明の処理の流れの一例を示す
図である。先ず分割指定処理部11が処理ステップ30で原
プログラムのPARTITION 文を検索し、PARTITION 文があ
れば処理ステップ31で、PARTITION 文に指定されている
インデクス範囲を、指定のPE数により均等に分割す
る。
【0044】処理ステップ32で、分割したインデクス値
の範囲を前記の式により、指定の袖数の値で補正して、
各PEの割当下限値及び割当上限値を決定し、処理ステ
ップ33で決定した割当上下限値を名前と共に分割インデ
クス格納部10に記憶する。
【0045】以上を原プログラムの全PARTITION 文につ
いて処理すると、次に分担プログラム生成処理部13が、
処理ステップ34で原プログラムのLOCATE文を検索し、LO
CATE文があれば、処理ステップ35で、LOCATE文に指定さ
れているインデクス分割指定の名前により、分割インデ
クス格納部10から該当の割当上下限値を読み出す。
【0046】処理ステップ36で、読み出した各PEの割
当上下限値を、指定の配列データのDIMENSION 文に定義
されている添字範囲と比較して、前記の式により各PE
の割当添字範囲を決定し、処理ステップ37で割当添字範
囲により各PEの分担プログラムのDIMENSION 文を生成
する。
【0047】以上を原プログラムの全LOCATE文について
処理すると、次に分担プログラム生成処理部13は、処理
ステップ38で原プログラムのPARALLEL DO 文を検索し、
PARALLEL DO文があれば、処理ステップ39で、そのPARAL
LEL DO文に指定されているインデクス分割指定の名前に
より、分割インデクス格納部10から該当の割当上下限値
を読み出す。
【0048】処理ステップ40で、読み出した各PEの割
当上下限値を、PARALLEL DO 文に定義されている繰り返
し制御値の範囲と比較して、前記の式により各PEの割
当制御値範囲を決定し、処理ステップ41で割当制御値範
囲により各PEの分担プログラムのDO文を生成する。
【0049】以上を原プログラムの全PARALLEL DO 文に
ついて処理すると、次に分担プログラム生成処理部13
は、処理ステップ42で原プログラムの変更の無い部分を
そのまゝ分担プログラムに写して各分担プログラムを生
成する。
【0050】
【発明の効果】以上の説明から明らかなように本発明に
よれば、複数のプロセッサエレメントの並列計算機にお
いて、並列計算でプロセッサエレメント間のデータ転送
が発生しないように、各プロセッサエレメントのメモリ
への配列データの配置、及びプログラムの実行範囲の割
当を行った分担プログラムを生成するように容易に指定
することができるようになるという著しい工業的効果が
ある。
【図面の簡単な説明】
【図1】 本発明の構成を示すブロック図
【図2】 本発明の処理の流れ図
【図3】 プログラム例により分割処理を説明する図
【図4】 他のプログラム例により分割処理を説明する
【図5】 分担プログラムを説明する図
【図6】 メモリ分散型並列計算機の構成例ブロック図
【図7】 プログラムを並列分担する例を説明する図
【符号の説明】
2-1、2-2、2-n PE(プロセッサエレメント) 10 原プログラム 11 分割指定処理部 12 分割インデクス格納部 13 分担プログラム生成処理部 14 分担プログラム 21 CPU 22 メモリ 23 通信路 30〜42 処理ステップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 末安 直樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平4−286031(JP,A) 特開 平3−256129(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 G06F 15/16 G06F 12/06 G06F 9/46 JSTファイル(JOIS) CSDB(日本国特許庁)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 分散メモリを有する複数のプロセッサエ
    レメントから構成され、各該プロセッサエレメントの該
    分散メモリに分割配置された配列データについて、当該
    配列データの演算を該プロセッサエレメントで分担して
    実行するための各分担プログラムを、所与の原プログラ
    ムから生成するプログラム生成処理装置であって、 分割指定処理部と、分割インデクス格納部と、分担プロ
    グラム生成処理部とを有し、 該分割指定処理部は、該原プログラムに記述された所定
    の各インデクス分割指定ごとに指定されているプロセッ
    サエレメント数、インデクス値範囲、左袖数及び右袖数
    に基づいて、各該プロセッサエレメントに該インデクス
    値範囲を均等に重複無く分割した場合の、各下限のイン
    デクス値より該左袖数だけ小さい値を各割当下限値と
    し、各上限のインデクス値より該右袖数だけ大きい値を
    各割当上限値として、各該プロセッサエレメントに割り
    当てるインデクスの該割当下限値及び割当上限値を決定
    して該分割インデクス格納部に記憶し、 該分担プログラム生成処理部は、該原プログラムに記述
    された所定の各配列データ分割指定に指定されている該
    インデクス分割指定に従い、該配列データの各該プロセ
    ッサエレメントへの割当添字範囲を、該分割インデクス
    格納部に保持する該割当下限値及び該割当上限値を満足
    し、且つ該配列データの添字範囲を越えない値に決定
    し、 該原プログラムに記述された所定の各プログラム分割指
    定ごとに、該インデクス分割指定に従い、分担プログラ
    ム部分の繰り返し制御値の各該プロセッサエレメントへ
    の割当制御値範囲を、該分割インデクス格納部に保持す
    る該割当下限値及び該割当上限値を満足し、且つ分担
    ログラムの該制御値の範囲を越えない値に決定し、各該
    プロセッサエレメントごとについて、該決定した割当添
    字範囲及び割当制御値範囲によって該原プログラムを修
    正して、各該分担プログラムを生成するように構成され
    ていることを特徴とするプログラム生成処理装置。
JP32351292A 1992-12-03 1992-12-03 プログラム生成処理装置 Expired - Fee Related JP3304445B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32351292A JP3304445B2 (ja) 1992-12-03 1992-12-03 プログラム生成処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32351292A JP3304445B2 (ja) 1992-12-03 1992-12-03 プログラム生成処理装置

Publications (2)

Publication Number Publication Date
JPH06175857A JPH06175857A (ja) 1994-06-24
JP3304445B2 true JP3304445B2 (ja) 2002-07-22

Family

ID=18155520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32351292A Expired - Fee Related JP3304445B2 (ja) 1992-12-03 1992-12-03 プログラム生成処理装置

Country Status (1)

Country Link
JP (1) JP3304445B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305580A (ja) * 1995-05-01 1996-11-22 Nec Corp 並列プログラムの言語処理装置
JP5119590B2 (ja) * 2005-11-10 2013-01-16 富士通セミコンダクター株式会社 マルチプロセッサを有するプロセッサ装置用のタスク分配プログラム及びタスク分配装置

Also Published As

Publication number Publication date
JPH06175857A (ja) 1994-06-24

Similar Documents

Publication Publication Date Title
US10387194B2 (en) Support of non-trivial scheduling policies along with topological properties
US6505227B1 (en) Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules
US6205528B1 (en) User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
US20200410327A1 (en) Schedule-Aware Tensor Distribution Module
JPH04299440A (ja) 共有レジスタ制御方式
JPH04268927A (ja) メモリ管理方法
JP2826028B2 (ja) 分散メモリ型プロセッサシステム
JPS6027964A (ja) メモリアクセス制御回路
JPH04246745A (ja) 情報処理装置及びその方法
JPH05225153A (ja) 高レベル命令の並列処理装置及び並列処理方法
JP3304445B2 (ja) プログラム生成処理装置
JPH0844577A (ja) データ分割方法及びマルチプロセッサシステム
JP3732648B2 (ja) プロセス割当て方法
JPH05290000A (ja) 並列計算機及びデータ交換制御装置
Moreira et al. A system for dynamic resource allocation and data distribution
JP2003076562A (ja) メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体
Dun et al. swCPD: optimizing canonical polyadic decomposition on sunway manycore architecture
JPH10507548A (ja) データ処理システムおよび方法およびこのようなシステムとの通信システム
Dapra et al. Using Ada and Apse to support distributed multimicroprocessor targets
JPS63118961A (ja) デ−タのオ−バレイセグメント割当て方式
JPH1063510A (ja) コード展開方法
Ginosar Mp/c: a multiprocessor/multicomputer architecture
JPH1115678A (ja) 単一アドレス空間をもつ処理装置のプログラム制御方法及び装置
JPH02304615A (ja) 並列ディスク制御バッファの割当て方式
JPH04116742A (ja) 仮想記憶システムにおけるメモリ割り当て方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020409

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080510

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100510

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees