JP6601222B2 - 行列演算プログラム、行列分割方法、及び並列処理装置 - Google Patents
行列演算プログラム、行列分割方法、及び並列処理装置 Download PDFInfo
- Publication number
- JP6601222B2 JP6601222B2 JP2016000151A JP2016000151A JP6601222B2 JP 6601222 B2 JP6601222 B2 JP 6601222B2 JP 2016000151 A JP2016000151 A JP 2016000151A JP 2016000151 A JP2016000151 A JP 2016000151A JP 6601222 B2 JP6601222 B2 JP 6601222B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- matrix
- sparse matrix
- rows
- 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.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims description 239
- 238000000034 method Methods 0.000 title claims description 195
- 238000012545 processing Methods 0.000 title claims description 91
- 238000000638 solvent extraction Methods 0.000 title description 4
- 230000008569 process Effects 0.000 claims description 114
- 238000004364 calculation method Methods 0.000 claims description 48
- 239000013598 vector Substances 0.000 description 45
- 230000006870 function Effects 0.000 description 41
- 238000004891 communication Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 26
- 230000010365 information processing Effects 0.000 description 22
- 230000015654 memory Effects 0.000 description 16
- 239000000047 product Substances 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000003672 processing method Methods 0.000 description 5
- 238000012916 structural analysis Methods 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 239000011162 core material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000005672 electromagnetic field Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000017105 transposition 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る並列処理装置の一例を示した図である。なお、図1に示した並列処理装置10は、第1実施形態に係る並列処理装置の一例である。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、係数行列が疎行列になる行列方程式の求解問題を解く方法に関し、それぞれが演算の実行単位となる複数のプロセスを係数行列の部分領域に割り当てて並列に実行することで効率的に問題を処理する並列処理方法を提供する。この並列処理方法は、係数行列を適切に分割してプロセス間における処理負荷の偏りを抑制し、並列処理のスケーラビリティを向上させる技術を提供する。
図2及び図3を参照しながら、第2実施形態に係る並列処理方法を実現することが可能な情報処理装置のハードウェアについて説明する。なお、図2に示した情報処理装置100及び図3に示した情報処理装置100a、…、100fは、第2実施形態に係る並列処理方法を実現することが可能な情報処理装置の一例である。
情報処理装置100は、CPU群101、メモリ102、通信インターフェース103、表示インターフェース104、及び機器インターフェース105を有する。CPU群101は、CPU101a、101b、…、101fを含む。CPU101a、101b、…、101f、メモリ102、通信インターフェース103、表示インターフェース104、及び機器インターフェース105はバス106を解して接続されている。CPU群101に含まれるCPUの数は2以上の任意の数でよい。
[2−2.機能]
次に、図4を参照しながら、情報処理装置100の機能について説明する。図4は、第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
記憶部111の機能は、例えば、メモリ102を利用して実現できる。行列拡張部112及びプロセス割当部113の機能は、例えば、CPU101aの機能を利用して実現できる。並列計算部114の機能は、例えば、CPU群101に含まれる複数のCPU(例えば、CPU101a、…、101fの一部又は全部)を利用して実現できる。
ここで、図5〜図9を参照しながら、ICCG法に基づく行列方程式の計算アルゴリズムに第2実施形態の技術を適用する方法について説明する。なお、ICCG法は一例であり、第2実施形態に係る技術は、ICCG法以外の反復法に基づく行列方程式の求解問題にも適用可能である。
[2−3.処理の流れ]
次に、図10及び図11を参照しながら、ベクトルb、x及び係数行列Aを含む行列方程式「Ax=b」を解く際の情報処理装置100による処理の流れについて説明する。図10は、第2実施形態に係る情報処理装置による処理の流れを示した第1の図である。図11は、第2実施形態に係る情報処理装置による処理の流れを示した第2の図である。
(S104)行列拡張部112は、S103でカウントした非ゼロ成分の数nkが閾値Sより大きいか否かを判定する。非ゼロ成分の数nkが閾値Sより大きい場合、処理はS105へと進む。一方、非ゼロ成分の数nkが閾値Sより大きくない場合、処理はS107へと進み、パラメータkがnd以下の場合にはS102以降の処理が実行される。
(S106)行列拡張部112は、パラメータncにnkを加算する。パラメータncは、係数行列Aのラージ行に含まれる非ゼロ成分の総数をカウントするためのパラメータである。S106の処理が完了すると、処理はS107へと進み、パラメータkがnd以下の場合にはS102以降の処理が実行される。
(S109)行列拡張部112は、係数行列Aに含まれるラージ行の領域をNc個の行群に分割する(行列拡張)。例えば、ラージ行が1つの場合、行列拡張部112は、図7に示すような方法で係数行列Aのラージ行をNc個の行群に分割する(図7の例では、1つのラージ行が、それぞれ1つの行を含む2個の行群に分割されている)。また、行列拡張部112は、係数行列Aが対象行列となるように係数行列Aの列を拡張すると共に、係数行列Aの行列ベクトル積に含まれるベクトル{p}及び行列ベクトル積を格納するベクトル{q}を拡張する(図7を参照)。
このとき、プロセス割当部113は、図12に示すようなデータ構造を有する行列情報を生成する。図12は、第2実施形態に係る行列情報のデータ構造を示した図である。図12に示すように、行列情報には、行のサイズ、非ゼロ成分の数、行の先頭番号、各行の配列先頭番号の配列、列番号の配列、係数の配列を示すパラメータの情報が格納される。
[2−4.応用例:磁場解析]
ここで、第2実施形態の技術を磁場解析に応用する例について説明する。以下では、説明の都合上、並列計算にCPU#1、CPU#2、…、CPU#10を利用可能な場合を例に説明する。
コイルから発生する磁場を記述する方程式は、ベクトルポテンシャルA、電流密度J、磁気抵抗率ν、鎖交磁束Φ、抵抗R、電流I、端子電圧V、コイルの断面積S、コイルの電流密度の単位方向ベクトルnを用いて下記の式(6)〜式(8)で与えられる。式(7)の左辺第1項は磁束の時間変化に起因する誘導起電力を表し、第2項は抵抗による電圧降下を表す。
閾値Sが10の場合、電流未知数に対応する行がラージ行になる。並列数Nが10の場合、ラージ行の分割数Ncは、上記の式(4)及び式(5)に基づいて下記の式(9)及び式(10)のように計算される。下記の式(10)の結果から、ラージ行の分割数Ncは2となる。一方、ラージ行以外の行を含む領域の分割数(N−Nc)は8となる。なお、ROUND(・)は四捨五入する関数である。MOD(・)は剰余を出力する関数である。
図16のように係数行列Aの拡張及びプロセスの割り当てが完了すると、図17に示すような行列情報を設定することが可能になる。図17は、第2実施形態の一応用例に係る行列情報の設定例を示した図である。
上記の通信用情報を取得したCPUは、図21に示すようなプログラムコードを実行して演算結果をやり取りする。図21は、第2実施形態に係る関数Shareのプログラムコード例を示した図である。図21の例ではC言語による表現を用いている。3行目から11行目までが送信時の処理であり、14行目から22行目までが受信時の処理である。
上述した行列拡張を行う際、係数行列Aの拡張に伴って列ベクトルも拡張される。そのとき、ラージ行に対応する行列ベクトル積が格納される列ベクトルの成分(Q)も分割されるため、その成分を元に戻す処理が演算処理の中に組み込まれる。元に戻す処理を実行する関数が関数Reduce_sumである。
これまで説明してきた第2実施形態の技術を適用すると、図23(本手法)のように高い並列スケーラビリティを実現することができる。図23は、第2実施形態に係る技術を適用した場合の並列スケーラビリティに関する評価結果を示した図である。図23には比較のために従来手法の評価結果も示しているが、従来手法の場合、CPU数が150を超えた辺りでCPU数の増加に対する速度比の向上が停止している。一方、本手法の場合(第2実施形態の技術を適用した場合)、CPU数が250を超えてもCPU数の増加に伴う速度比の向上が見られる。このように、第2実施形態の技術を適用することで、並列スケーラビリティを向上させることが可能になる。
上記の応用例は、端子電圧が印加される1つのコイルから発生する磁場を解析する手法であった。ここでは説明の都合上、コイルの数を1つとしたが、例えば、芯材に複数のコイルを巻き付けたインダクタモデルなどにも応用することができる。この場合、複数のコイルに対応する複数のラージ行が係数行列Aに含まれる。そのため、ラージ行の分割数Ncの計算方法は、下記の式(11)〜式(15)のように拡張される。
11 記憶部
12A、…、12F 演算部
21、…、32 節点
A 係数行列
G1、…、G6 行群
J 第1の行
J1、J2 第2の行
P1、…、P6 プロセス
TH 閾値
Claims (5)
- 係数行列として疎行列を含む行列方程式の演算に関する処理を実行するコンピュータに、
記憶部から、前記疎行列の各行に含まれる非ゼロ成分の多さを判定するための閾値を取得し、前記疎行列の中で前記閾値より非ゼロ成分の数が大きい第1の行を特定し、当該第1の行を複数の第2の行に分割して前記疎行列を拡大し、拡大した前記疎行列のうち、前記第2の行の集合を複数の第1の行群に分け、前記第2の行以外の第3の行の集合を複数の第2の行群に分け、前記第1の行群毎および前記第2の行群毎に、処理の実行単位となるプロセスを割り当てる
処理を実行させる、行列演算プログラム。 - 係数行列として疎行列を含む行列方程式の演算に関する処理を実行するコンピュータに、
記憶部から、前記疎行列の各行に含まれる非ゼロ成分の多さを判定するための閾値を取得し、前記疎行列の中で前記閾値より非ゼロ成分の数が大きい第1の行を特定し、当該第1の行を複数の第2の行に分割して前記疎行列を拡大し、拡大された前記疎行列の1以上の行を含む行群に含まれる非ゼロ成分の数に応じて当該行群に含める行の組み合わせを決定して、拡大した前記疎行列を複数の行群に分けて、処理の実行単位となるプロセスを行群毎に割り当てる
処理を実行させる、行列演算プログラム。 - 係数行列として疎行列を含む行列方程式の演算に関する処理を実行するコンピュータに、
記憶部から、前記疎行列の各行に含まれる非ゼロ成分の多さを判定するための閾値を取得し、前記疎行列の中で前記閾値より非ゼロ成分の数が大きい第1の行を特定し、前記第1の行に含まれる非ゼロ成分の数に応じて、前記第1の行を分割して得られる第2の行の数を決定し、決定した数の複数の前記第2の行に前記第1の行を分割して前記疎行列を拡大し、拡大した前記疎行列を複数の行群に分けて、処理の実行単位となるプロセスを行群毎に割り当てる
処理を実行させる、行列演算プログラム。 - 係数行列として疎行列を含む行列方程式の演算に関する処理を実行するコンピュータが、
記憶部から、前記疎行列の各行に含まれる非ゼロ成分の多さを判定するための閾値を取得し、前記疎行列の中で前記閾値より非ゼロ成分の数が大きい第1の行を特定し、当該第1の行を複数の第2の行に分割して前記疎行列を拡大し、拡大した前記疎行列のうち、前記第2の行の集合を複数の第1の行群に分け、前記第2の行以外の第3の行の集合を複数の第2の行群に分け、前記第1の行群毎および前記第2の行群毎に、処理の実行単位となるプロセスを割り当てる
行列分割方法。 - 処理の実行単位となる複数のプロセスを並列に実行可能な複数の演算部を有し、係数行列として疎行列を含む行列方程式の演算に関する処理を実行する並列処理装置であって、
前記疎行列の各行に含まれる非ゼロ成分の多さを判定するための閾値が格納される記憶部と、
前記疎行列の中で前記閾値より非ゼロ成分の数が大きい第1の行を特定し、当該第1の行を複数の第2の行に分割して前記疎行列を拡大し、拡大した前記疎行列のうち、前記第2の行の集合を複数の第1の行群に分け、前記第2の行以外の第3の行の集合を複数の第2の行群に分け、前記第1の行群毎および前記第2の行群毎に、前記プロセスを割り当てる前記演算部と
を有する、並列処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000151A JP6601222B2 (ja) | 2016-01-04 | 2016-01-04 | 行列演算プログラム、行列分割方法、及び並列処理装置 |
US15/372,921 US20170192818A1 (en) | 2016-01-04 | 2016-12-08 | Matrix division method and parallel processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000151A JP6601222B2 (ja) | 2016-01-04 | 2016-01-04 | 行列演算プログラム、行列分割方法、及び並列処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017122950A JP2017122950A (ja) | 2017-07-13 |
JP6601222B2 true JP6601222B2 (ja) | 2019-11-06 |
Family
ID=59226397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016000151A Active JP6601222B2 (ja) | 2016-01-04 | 2016-01-04 | 行列演算プログラム、行列分割方法、及び並列処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170192818A1 (ja) |
JP (1) | JP6601222B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6645509B2 (ja) * | 2015-11-04 | 2020-02-14 | 富士通株式会社 | 構造解析方法、及び構造解析プログラム |
US9934287B1 (en) * | 2017-07-25 | 2018-04-03 | Capital One Services, Llc | Systems and methods for expedited large file processing |
CN107704686B (zh) * | 2017-10-11 | 2020-02-07 | 大连海事大学 | 快速分解法潮流计算修正方程系数矩阵的矩阵运算方法 |
CN107658880B (zh) * | 2017-11-16 | 2019-12-03 | 大连海事大学 | 基于关联矩阵运算的快速分解法系数矩阵计算方法 |
CN107834562B (zh) * | 2017-11-16 | 2019-12-03 | 大连海事大学 | 基于Matlab矩阵运算的快速分解法系数矩阵计算法 |
KR102192560B1 (ko) * | 2017-12-07 | 2020-12-17 | 한국과학기술원 | 분산 컴퓨팅 행렬 희소화 방법 및 시스템 |
CN111240744B (zh) * | 2020-01-03 | 2022-03-22 | 支付宝(杭州)信息技术有限公司 | 一种提高涉及稀疏矩阵并行计算效率的方法和*** |
JP7282217B2 (ja) * | 2020-01-31 | 2023-05-26 | 三菱電機株式会社 | 制御装置、機械学習装置、および、制御方法 |
CN114817845B (zh) * | 2022-05-20 | 2023-05-30 | 昆仑芯(北京)科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115408653B (zh) * | 2022-11-01 | 2023-03-21 | 泰山学院 | 一种IDRstab算法高可扩展并行处理方法及*** |
CN115952385B (zh) * | 2023-03-10 | 2023-05-05 | 山东省计算中心(国家超级计算济南中心) | 用于大规模稀疏方程组求解的并行超节点排序方法及*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4750818A (en) * | 1985-12-16 | 1988-06-14 | Cochran Gregory M | Phase conjugation method |
JP3391262B2 (ja) * | 1998-05-11 | 2003-03-31 | 日本電気株式会社 | 記号計算システム及び方法、並びに並列回路シミュレーションシステム |
US7065545B2 (en) * | 2002-05-07 | 2006-06-20 | Quintero-De-La-Garza Raul Gera | Computer methods of vector operation for reducing computation time |
US8751556B2 (en) * | 2010-06-11 | 2014-06-10 | Massachusetts Institute Of Technology | Processor for large graph algorithm computations and matrix operations |
US9122932B2 (en) * | 2012-04-30 | 2015-09-01 | Xerox Corporation | Method and system for automatically detecting multi-object anomalies utilizing joint sparse reconstruction model |
US9704102B2 (en) * | 2013-03-15 | 2017-07-11 | William Marsh Rice University | Sparse factor analysis for analysis of user content preferences |
JP6083300B2 (ja) * | 2013-03-29 | 2017-02-22 | 富士通株式会社 | プログラム、並列演算方法および情報処理装置 |
US10209685B2 (en) * | 2015-10-29 | 2019-02-19 | Mitsubishi Electric Research Laboratories, Inc. | Method and apparatus for preconditioned model predictive control |
-
2016
- 2016-01-04 JP JP2016000151A patent/JP6601222B2/ja active Active
- 2016-12-08 US US15/372,921 patent/US20170192818A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2017122950A (ja) | 2017-07-13 |
US20170192818A1 (en) | 2017-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6601222B2 (ja) | 行列演算プログラム、行列分割方法、及び並列処理装置 | |
KR101959376B1 (ko) | 멀티 코어 최적화된 순환 신경망을 위한 시스템 및 방법 | |
JP6083300B2 (ja) | プログラム、並列演算方法および情報処理装置 | |
US11100386B2 (en) | Buffer addressing for a convolutional neural network | |
US10572225B1 (en) | Circuit arrangements and methods for performing multiply-and-accumulate operations | |
US9037798B2 (en) | System and method of operating a computing device to perform memoization including transforming input/output parameters to reduce redundancies and efficiently cache data | |
JP2019148969A (ja) | 行列演算装置、行列演算方法および行列演算プログラム | |
JP2020506454A (ja) | ハードウェアにおける平均プーリングの実行 | |
US20170206089A1 (en) | Information processing apparatus and computational method | |
EP2350915A1 (en) | Method for solving reservoir simulation matrix equation using parallel multi-level incomplete factorizations | |
CN109885407B (zh) | 数据处理方法和装置、电子设备、存储介质 | |
Godwin et al. | High-performance sparse matrix-vector multiplication on GPUs for structured grid computations | |
JP2022550730A (ja) | 高速なスパースニューラルネットワーク | |
JPWO2019216376A1 (ja) | 演算処理装置 | |
JP2022550170A (ja) | コンピュータがテンソルデータの計算を実現する方法、装置、媒体及び機器 | |
US11106968B1 (en) | Circuit arrangements and methods for traversing input feature maps | |
US20090171636A1 (en) | High-speed operation method for coupled equations based on finite element method and boundary element method | |
Tomczak et al. | Sparse geometries handling in lattice Boltzmann method implementation for graphic processors | |
US20190012831A1 (en) | Systems, methods and, media for simulating deformations of nonlinear elastic bodies | |
JP5262177B2 (ja) | ベクトル積の並列処理方法 | |
JP2020135748A (ja) | 最適化装置、最適化方法及びプログラム | |
US10210136B2 (en) | Parallel computer and FFT operation method | |
JP2014013555A (ja) | ニューラルネットワーク設計方法、フィッティング方法、及びプログラム | |
JP6981223B2 (ja) | 疎行列ベクトル積演算装置及び疎行列ベクトル積演算方法 | |
Schaeuble et al. | Time step estimates for explicit dynamics with reciprocal mass matrices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190423 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190621 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190621 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190621 |
|
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: 20190910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6601222 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |