JP7109576B2 - グラフィックス処理ユニット上の高性能スパース三角解 - Google Patents
グラフィックス処理ユニット上の高性能スパース三角解 Download PDFInfo
- Publication number
- JP7109576B2 JP7109576B2 JP2020554425A JP2020554425A JP7109576B2 JP 7109576 B2 JP7109576 B2 JP 7109576B2 JP 2020554425 A JP2020554425 A JP 2020554425A JP 2020554425 A JP2020554425 A JP 2020554425A JP 7109576 B2 JP7109576 B2 JP 7109576B2
- Authority
- JP
- Japan
- Prior art keywords
- elements
- completion
- array
- value
- row
- 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 103
- 239000011159 matrix material Substances 0.000 claims description 90
- 239000013598 vector Substances 0.000 claims description 82
- 238000000034 method Methods 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 230000001419 dependent effect Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000006467 substitution reaction Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
Claims (22)
- メモリデバイスにおいて、スパース三角行列をデータセットとして格納することと、
複数のプロセッシングコアを備える処理ユニットにおいて、第1のベクトル内の要素のサブセット内の要素毎に要素の値を計算することと、を含み、
前記第1のベクトル内の要素のサブセット内の要素毎に要素の値を計算することは、
1つ以上の先行要素の全ての値の計算が完了したことを完了アレイが示すことに応じて、前記要素の値を計算するために前記複数のプロセッシングコアのうち何れかにおけるスレッドを開始することであって、前記要素の値を計算することは、前記1つ以上の先行要素の各々に依存し、前記スレッドは、前記行列の行内の1つ以上の要素と、前記1つ以上の先行要素の値、前記要素の値及び前記行内の1つ以上の要素に対応する積値と、に基づいて、前記複数のプロセッシングコアのうち何れかにおいて実行される、ことと、
前記完了アレイにおいて、前記要素の計算が完了したことを示す、前記要素の完了フラグをアサートすることと、
によって行われる、
方法。 - 前記スパース三角行列をデータセットとして格納することは、
前記行列の1つ以上の非ゼロ要素を前記データセットの値アレイに格納することと、
前記データセットの列アレイにおいて、前記値アレイに格納された前記1つ以上の非ゼロ要素毎に前記行列の列を示す列番号を記憶することと、
前記データセットの行ポインタアレイにおいて、前記1つ以上の非ゼロ要素の各々を前記行列の行に関連付ける行番号を記憶することと、を含む、
請求項1の方法。 - 前記要素のサブセットの要素毎に、
前記スレッドは、互いに並列に実行される複数の並列スレッドのうち1つの並列スレッドであり、前記複数の並列スレッドの各々は、複数の要素のうち何れかを計算するためのものである、
請求項1の方法。 - 前記複数のスレッド毎に、
スピンループの反復回数をカウントすることであって、前記スピンループは、前記完了アレイ内の第2の完了フラグを監視するために前記スレッドにおいて実行され、前記第2の完了フラグは、前記先行要素のうち何れかの先行要素の計算が完了したかどうかを示す、ことと、
前記反復回数が制限を超えたことに応じて、
前記スピンループを終了することと、
複数の並列処理スレッドの全てが完了した場合に、実行される子カーネルをエンキューすることと、
前記子カーネルにおいて新たなスレッド内の前記第2の完了フラグを監視することと、をさらに含む、
請求項3の方法。 - 子開始フラグをチェックすることであって、前記子カーネルをエンキューすることは、前記子開始フラグがデアサートされた場合に実行される、ことと、
前記子カーネルをエンキューすることに関連して、前記子開始フラグをアサートすることと、をさらに含む、
請求項4の方法。 - 前記要素のサブセットの要素毎に、
第1のスピンループを実行して、前記完了アレイ内の第1の完了フラグを監視することであって、前記第1の完了フラグは、前記データセットの列アレイ内の第1の位置において指定されており、前記列アレイ内の前記第1の位置は、前記要素に対応する行ポインタによって示されている、ことと、
前記第1の完了フラグがアサートされ、前記列アレイ内の第2の位置が前記スパース三角行列の非対角線要素に対応すると判別したことに応じて、第2のスピンループを実行して、前記完了アレイ内の第2の完了フラグを監視することであって、前記第2の完了フラグは、前記列アレイ内の前記第2の位置において指定されている、ことと、をさらに含む、
請求項1の方法。 - 前記要素のサブセットの要素毎に、
行ポインタアレイ内の前記行ポインタの位置は、前記ベクトル内の前記要素の位置に対応しており、
前記行ポインタは、前記列アレイ内の前記第1の位置のインデックスであり、
前記列アレイの前記第1の位置は、前記完了アレイ内の前記要素の前記完了フラグのインデックスを格納する、
請求項6の方法。 - 前記要素のサブセットの要素毎に、
前記先行要素の各々の完了フラグを格納することと、
前記先行要素の前記完了フラグの中で最高値を有する完了フラグをインクリメントすることによって、前記要素の前記完了フラグの値を決定することと、
前記要素の前記完了フラグの決定された値を、前記要素に対応する位置の前記完了アレイに格納することによって、前記要素の前記完了フラグをアサートすることと、をさらに含む、
請求項1の方法。 - 第2のベクトル内の複数の要素毎に、前記完了アレイ内の前記要素に対応する前記完了フラグの値に基づいて、前記要素の階層を決定することと、
決定された前記階層に応じた順序で前記第2のベクトル内の各要素の値を計算することであって、同一の階層内の前記複数の要素のうち少なくとも2つの要素の値は、並列に計算される、ことと、をさらに含む、
請求項8の方法。 - 前記データセットは、メモリシステムに格納され、
前記要素のサブセットの要素毎に、前記要素の値は、前記メモリシステムに接続されたソルバー回路において計算される、
請求項1の方法。 - 前記完了アレイを生成することと、
スピンループ回路を使用して、前記完了アレイから前記完了フラグを読み出すことと、をさらに含み、
前記完了アレイは、メモリシステムに格納されており、
前記完了アレイの前記完了フラグをアサートすることは、前記スピンループ回路と前記メモリシステムとに接続されたソルバー回路によって実行される、
請求項1の方法。 - スパース三角行列をデータセットとして格納するように構成されたメモリと、
複数のプロセッシングコアを備える処理ユニットであって、前記メモリに接続された処理ユニットと、を備え、
前記処理ユニットは、
第1のベクトル内の要素のサブセットの要素毎に要素の値を計算することを行うように構成されており、
前記第1のベクトル内の要素のサブセットの要素毎に要素の値を計算することは、
1つ以上の先行要素の全ての値の計算が完了したことを完了アレイが示すことに応じて、前記要素の値を計算するために前記複数のプロセッシングコアのうち何れかにおけるスレッドを開始することであって、前記要素の値を計算することは、前記1つ以上の先行要素の各々に依存し、前記スレッドは、前記行列の行内の1つ以上の要素と、前記1つ以上の先行要素の値、前記要素の値及び前記行内の1つ以上の要素に対応する積値と、に基づいて、前記複数のプロセッシングコアのうち何れかにおいて実行される、ことと、
前記完了アレイにおいて、前記要素の計算が完了したことを示す、前記要素の完了フラグをアサートすることと、
によって行われる、
コンピューティングデバイス。 - 前記データセットは、
前記行列の1つ以上の非ゼロ要素を格納するように構成された値アレイと、
前記値アレイに格納された前記1つ以上の非ゼロ要素の各々についての前記行列の列を記憶するように構成された列アレイと、
前記1つ以上の非ゼロ要素の各々を前記行列の行に関連付ける行番号を記憶するように構成された行ポインタアレイと、をさらに含む、
請求項12のコンピューティングデバイス。 - 前記処理ユニットは、
前記ベクトル内の1つの前記要素の値を計算するために複数の並列スレッドのスレッドをそれぞれ実行するように構成された複数のプロセッシングコアを含む、
請求項12のコンピューティングデバイス。 - 前記複数のプロセッシングコアの各々は、
前記スレッドにおいてスピンループを実行することによって、前記完了アレイ内の前記完了フラグを監視することと、
前記スピンループの反復回数が所定の制限を超えたことに応じて、
前記スピンループを終了することと、
複数の並列処理スレッドの全てが完了した場合に、前記完了フラグを監視するための新たなスレッドを実行することと、
を行うように構成されている、
請求項14のコンピューティングデバイス。 - 前記処理ユニットは、
第1のスピンループを実行して前記完了アレイ内の第1の完了フラグを監視することであって、前記第1の完了フラグは、前記データセットの列アレイ内の第1の位置において指定されており、前記列アレイ内の前記第1の位置は、前記第1のベクトルの要素のサブセットのうち何れかに対応する行ポインタによって示されている、ことと、
前記第1の完了フラグがアサートされたと判別し、前記列アレイ内の第2の位置が前記スパース三角行列の非対角線要素に対応すると判別したことに応じて、第2のスピンループを実行して前記完了アレイ内の第2の完了フラグを監視することであって、前記第2の完了フラグは、前記列アレイ内の前記第2の位置において指定されている、ことと、
を行うように構成された複数のプロセッシングコアを含む、
請求項12のコンピューティングデバイス。 - 前記メモリ内の完了アレイをさらに備え、前記完了アレイは、前記要素のサブセットの要素毎に完了フラグを格納するように構成されており、
前記処理ユニットは、前記要素のサブセットの要素毎に、
前記先行要素の前記完了フラグの中で最高値をインクリメントすることによって、前記要素の前記完了フラグの値を決定することと、
前記要素の前記完了フラグの決定された値を、前記要素に対応する位置の前記完了アレイに格納することによって、前記要素の前記完了フラグをアサートすることと、
を行うように構成されている、
請求項12のコンピューティングデバイス。 - 前記処理ユニットは、
第2のベクトル内の複数の要素毎に、前記完了アレイ内の前記要素に対応する前記完了フラグの値に基づいて、前記要素の階層を決定することと、
決定された前記階層に応じた順序で前記第2のベクトル内の各要素の値を計算することであって、同一の階層内の前記複数の要素のうち少なくとも2つの要素の値は、並列に計算される、ことと、
を行うように構成されている、
請求項17のコンピューティングデバイス。 - スパース三角行列をデータセットとして格納するように構成されたメモリシステムと、
前記メモリシステムに接続された1つ以上の処理ユニットのセットと、を備え、
前記処理ユニットのセット内の各処理ユニットは、複数のプロセッシングコアを備えており、
第1のベクトル内の要素のサブセットの要素毎に、
1つ以上の先行要素の全ての値の計算が完了したことを完了アレイが示すことに応じて、前記要素の値を計算するために前記複数のプロセッシングコアのうち何れかにおけるスレッドを開始することであって、前記要素の値を計算することは、前記1つ以上の先行要素の各々に依存し、前記スレッドは、前記行列の行内の1つ以上の要素と、前記1つ以上の先行要素の値、前記要素の値及び前記行内の1つ以上の要素に対応する積値と、に基づいて、前記複数のプロセッシングコアのうち何れかにおいて実行される、ことと、
前記完了アレイにおいて、前記要素の計算が完了したことを示す、前記要素の完了フラグをアサートすることと、
によって、前記要素の値を計算するように構成されている、
コンピューティングシステム。 - 前記処理ユニットのセット内の各処理ユニットは、
複数の並列スレッドのうち少なくとも1つを実行するように構成されており、前記複数の並列スレッドの各々は、前記要素のサブセットのうち何れかの要素の値を計算する、
請求項19のコンピューティングシステム。 - 前記処理ユニットのセット内の各処理ユニットは、単一の集積回路ダイ上に複数のプロセッシングコアを含み、前記複数のプロセッシングコアの各々は、前記複数の並列スレッドのうち1つを実行するように構成されている、
請求項20のコンピューティングシステム。 - 前記処理ユニットのセット内の各処理ユニットは、前記処理ユニットのセット内の他の処理ユニットとは別の集積回路ダイ上のグラフィックス処理ユニット(GPU)である、
請求項19のコンピューティングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/958,265 US10691772B2 (en) | 2018-04-20 | 2018-04-20 | High-performance sparse triangular solve on graphics processing units |
US15/958,265 | 2018-04-20 | ||
PCT/US2019/014475 WO2019203908A1 (en) | 2018-04-20 | 2019-01-22 | High-performance sparse triangular solve on graphics processing units |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021513172A JP2021513172A (ja) | 2021-05-20 |
JP7109576B2 true JP7109576B2 (ja) | 2022-07-29 |
Family
ID=65352166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020554425A Active JP7109576B2 (ja) | 2018-04-20 | 2019-01-22 | グラフィックス処理ユニット上の高性能スパース三角解 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10691772B2 (ja) |
EP (1) | EP3782051A1 (ja) |
JP (1) | JP7109576B2 (ja) |
KR (1) | KR102355990B1 (ja) |
CN (1) | CN112074830B (ja) |
WO (1) | WO2019203908A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10691772B2 (en) * | 2018-04-20 | 2020-06-23 | Advanced Micro Devices, Inc. | High-performance sparse triangular solve on graphics processing units |
US10936697B2 (en) * | 2018-07-24 | 2021-03-02 | Advanced Micro Devices, Inc. | Optimized and scalable sparse triangular linear systems on networks of accelerators |
US11921784B2 (en) * | 2021-05-13 | 2024-03-05 | Advanced Micro Devices, Inc. | Flexible, scalable graph-processing accelerator |
US20240231830A1 (en) * | 2023-01-09 | 2024-07-11 | Nvidia Corporation | Workload assignment technique |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008544610A (ja) | 2005-06-10 | 2008-12-04 | デジタル ファウンテン, インコーポレイテッド | さまざまな符号クラスの符号化および復号化への応用を有するインプレース変換 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2263002B (en) * | 1992-01-06 | 1995-08-30 | Intel Corp | A parallel binary adder |
US6694343B2 (en) * | 2001-02-08 | 2004-02-17 | International Business Machines Corporation | Method for solving a large sparse triangular system of linear equations |
ES2427179T3 (es) * | 2002-07-03 | 2013-10-29 | Dtvg Licensing, Inc | Codificación de los códigos de comprobación de paridad de baja densidad |
US8775495B2 (en) * | 2006-02-13 | 2014-07-08 | Indiana University Research And Technology | Compression system and method for accelerating sparse matrix computations |
US8364739B2 (en) * | 2009-09-30 | 2013-01-29 | International Business Machines Corporation | Sparse matrix-vector multiplication on graphics processor units |
WO2011156247A2 (en) * | 2010-06-11 | 2011-12-15 | Massachusetts Institute Of Technology | Processor for large graph algorithm computations and matrix operations |
CN104461466B (zh) * | 2013-09-25 | 2018-09-21 | 广州中国科学院软件应用技术研究所 | 基于MPI和OpenMP混合编程模型并行计算提高计算速度的方法 |
CN104461467B (zh) * | 2013-09-25 | 2018-05-04 | 广州中国科学院软件应用技术研究所 | 针对SMP集群系统采用MPI和OpenMP混合并行提高计算速度的方法 |
US10061747B2 (en) * | 2014-05-07 | 2018-08-28 | Seagate Technology Llc | Storage of a matrix on a storage compute device |
US9697176B2 (en) * | 2014-11-14 | 2017-07-04 | Advanced Micro Devices, Inc. | Efficient sparse matrix-vector multiplication on parallel processors |
US9760538B2 (en) * | 2014-12-22 | 2017-09-12 | Palo Alto Research Center Incorporated | Computer-implemented system and method for efficient sparse matrix representation and processing |
US10572568B2 (en) * | 2018-03-28 | 2020-02-25 | Intel Corporation | Accelerator for sparse-dense matrix multiplication |
US10691772B2 (en) * | 2018-04-20 | 2020-06-23 | Advanced Micro Devices, Inc. | High-performance sparse triangular solve on graphics processing units |
US10936697B2 (en) * | 2018-07-24 | 2021-03-02 | Advanced Micro Devices, Inc. | Optimized and scalable sparse triangular linear systems on networks of accelerators |
-
2018
- 2018-04-20 US US15/958,265 patent/US10691772B2/en active Active
-
2019
- 2019-01-22 CN CN201980030089.7A patent/CN112074830B/zh active Active
- 2019-01-22 WO PCT/US2019/014475 patent/WO2019203908A1/en active Application Filing
- 2019-01-22 EP EP19704146.0A patent/EP3782051A1/en active Pending
- 2019-01-22 KR KR1020207032177A patent/KR102355990B1/ko active IP Right Grant
- 2019-01-22 JP JP2020554425A patent/JP7109576B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008544610A (ja) | 2005-06-10 | 2008-12-04 | デジタル ファウンテン, インコーポレイテッド | さまざまな符号クラスの符号化および復号化への応用を有するインプレース変換 |
Also Published As
Publication number | Publication date |
---|---|
US10691772B2 (en) | 2020-06-23 |
KR102355990B1 (ko) | 2022-02-08 |
KR20210002521A (ko) | 2021-01-08 |
CN112074830B (zh) | 2022-06-21 |
EP3782051A1 (en) | 2021-02-24 |
CN112074830A (zh) | 2020-12-11 |
US20190325005A1 (en) | 2019-10-24 |
WO2019203908A1 (en) | 2019-10-24 |
JP2021513172A (ja) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7109576B2 (ja) | グラフィックス処理ユニット上の高性能スパース三角解 | |
Dakkak et al. | Accelerating reduction and scan using tensor core units | |
US11782856B2 (en) | Compile time instrumentation of data flow graphs | |
JP2016119084A (ja) | 効率的な疎行列表現及び処理のためのコンピュータ実装システム及び方法 | |
Matam et al. | Sparse matrix-matrix multiplication on modern architectures | |
Yeralan et al. | Algorithm 980: Sparse QR factorization on the GPU | |
US20130226535A1 (en) | Concurrent simulation system using graphic processing units (gpu) and method thereof | |
WO2011009638A1 (en) | Scheduling and communication in computing systems | |
CN111506520B (zh) | 一种地址生成的方法、相关装置以及存储介质 | |
US12072953B2 (en) | Asymmetric allocation of SRAM and data layout for efficient matrix-matrix multiplication | |
US10936697B2 (en) | Optimized and scalable sparse triangular linear systems on networks of accelerators | |
Duffy et al. | Production level CFD code acceleration for hybrid many-core architectures | |
CN114008589A (zh) | 用于在顺序处理器上进行多次执行的动态代码加载 | |
CN117093538A (zh) | 稀疏Cholesky分解硬件加速系统及其求解方法 | |
US11921784B2 (en) | Flexible, scalable graph-processing accelerator | |
Liao et al. | GPU-based N-detect transition fault ATPG | |
US20140244232A1 (en) | Simulation apparatus and simulation method | |
US11249910B2 (en) | Initialization and management of class of service attributes in runtime to optimize deep learning training in distributed environments | |
Xiao et al. | A parallel multi-unit resource deadlock detection algorithm with O (log2 (min (m, n))) overall run-time complexity | |
US9507896B2 (en) | Quasi-dynamic scheduling and dynamic scheduling for efficient parallel simulation | |
US11983128B1 (en) | Multidimensional and multiblock tensorized direct memory access descriptors | |
US20240330036A1 (en) | Parallel processing architecture with shadow state | |
US11080030B2 (en) | Information processing apparatus and information processing method | |
Osburn et al. | Early experiences on the NRL Cray XD1 | |
KR20240006684A (ko) | 유연하고 확장가능한 그래프 처리 가속기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201214 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220315 |
|
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: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220719 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7109576 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |