JP2019191870A - 並列化方法、並列化ツール、及びマルチコアマイコン - Google Patents
並列化方法、並列化ツール、及びマルチコアマイコン Download PDFInfo
- Publication number
- JP2019191870A JP2019191870A JP2018083128A JP2018083128A JP2019191870A JP 2019191870 A JP2019191870 A JP 2019191870A JP 2018083128 A JP2018083128 A JP 2018083128A JP 2018083128 A JP2018083128 A JP 2018083128A JP 2019191870 A JP2019191870 A JP 2019191870A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cores
- memory
- access
- processing units
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(C0、C1、C2)と複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)とを有し、当該複数のメモリは複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含むマルチコアマイコン(20)用の並列プログラム(18a)を生成する並列化方法であって、
シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、複数の処理単位の依存関係に基づき、複数の処理単位の前記複数のコアへの割り付けと実行順序とを決定し、この決定した複数のコアへの割り付け及び実行順序に従って複数の処理単位が実行されるように並列プログラムを生成する並列プログラム生成手順(10a〜10e)と、
複数の処理単位の複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、タスクの実行頻度を示す実行頻度情報、及び複数のコアによる複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、複数のコアによるデータへのアクセス時間が全体として短縮されるように、複数のメモリの中から、データを格納するメモリを決定する格納メモリ決定手順(10h)と、
格納メモリ決定手順によって決定されたデータとその格納先のメモリとの関係を示すメモリマップ(18b)を生成するメモリマップ生成手順(10i)と、を備える。
コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(C0、C1、C2)と複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)とを有し、当該複数のメモリは複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含むマルチコアマイコン(20)用の並列プログラム(18a)を生成する並列化ツールであって、
シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けと実行順序とを決定し、この決定した複数のコアへの割り付け及び実行順序に従って複数の処理単位が実行されるように並列プログラムを生成する並列プログラム生成部(10a〜10e)と、
複数の処理単位の複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、タスクの実行頻度を示す実行頻度情報、及び複数のコアによる複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、複数のコアによるデータへのアクセス時間が全体として短縮されるように、複数のメモリの中から、データを格納するメモリを決定する格納メモリ決定部(10h)と、
格納メモリ決定部によって決定されたデータとその格納先のメモリとの関係を示すメモリマップ(18b)を生成するメモリマップ生成部(10i)と、を備える
本開示の並列化ツールによれば、格納メモリ決定部が、複数の処理単位の複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、タスクの実行頻度を示す実行頻度情報、及び複数のコアによる複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報を用いることで、複数のコアによるデータへのアクセス時間が全体として短縮されるように、複数のメモリの中から、データを格納するメモリを決定することが可能になる。
コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(C0、C1、C2)を有するマルチコアマイコン(20)用の並列プログラム(18a)を実行するマルチコアマイコンであって、
複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)を有し、当該複数のメモリは複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含み、
並列プログラムは、シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けと実行順序とが決定され、この決定された複数のコアへの割り付け及び実行順序に従って複数の処理単位が実行されるように生成されたものであり、
複数のコアが、それぞれ割り付けられた処理単位の実行のためにデータにアクセスする際、そのアクセス対象となるメモリは、複数の処理単位の複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、タスクの実行頻度を示す実行頻度情報、及び複数のコアによる複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、複数のコアによるデータへのアクセス時間が全体として短縮されるように、複数のメモリの中から、データを格納するメモリが決定され、その決定されたデータと格納先のメモリとの関係を示すように生成されたメモリマップ(18b)に従って定められたメモリである。
例えば、上述した実施形態では、マルチコアマイコン20が、RAM、データROM、及びコードRAMをそれぞれ複数備え、RAM、データROM、及びコードRAMに格納されるデータに関して、最適なメモリに格納する例について説明した。しかしながら、マルチコアマイコン20は、RAM、データROM、及びコードROMの少なくとも1種類のメモリについて複数のメモリを備え、それら複数のメモリの中から、データを格納するための最適なメモリを決定するものであってもよい。
また、上述した実施形態では、データを格納するメモリを決定するために、各データを各メモリに格納したと仮定した場合における、単位時間当たりの各コアC0〜C2からのアクセス必要時間の合計を求め、そのアクセス必要時間の合計が最少となるメモリを選択する例について説明した。しかしながら、データを格納するメモリを決定する手法は、これに限られない。例えば、データ毎に、単位時間当たりのアクセス頻度が最も高いコアを選び、そのコアからのアクセス必要時間が最も短いメモリを、該当するデータを格納するメモリとして決定しても良い。この場合において、単位時間当たりのアクセス頻度が最も高いコアが複数ある場合には、その複数のコアの間にあるグローバルメモリを、該当するデータを格納するメモリとして決定することが好ましい。
さらに、上述した実施形態では、アクセスレイテンシ情報として、各コアC0〜C2から各メモリへの一種類のアクセス必要時間を用いていた。しかしながら、各コアC0〜C2が各メモリからデータを読み出すためのアクセスを行うときと、各メモリへデータを書き込むためのアクセスを行うときとで、有意なアクセス必要時間の相違が有る場合には、アクセスレイテンシ情報として、読み出し必要時間と書き込み必要時間とを別々に定めてもよい。
また、上述した実施形態では、マルチコアマイコン20を車載装置として適用する例について説明したが、マルチコアマイコン20の適用対象はこれに限られない。
Claims (18)
- コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(C0、C1、C2)と前記複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)とを有し、当該複数のメモリは前記複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含むマルチコアマイコン(20)用の並列プログラム(18a)を生成する並列化方法であって、
前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とを決定し、この決定した前記複数のコアへの割り付け及び実行順序に従って前記複数の処理単位が実行されるように前記並列プログラムを生成する並列プログラム生成手順(10a〜10e)と、
前記複数の処理単位の前記複数のコアへの割り付け情報、前記複数の処理単位がアクセスするデータに関するデータアクセス情報、前記タスクの実行頻度を示す実行頻度情報、及び前記複数のコアによる前記複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、前記複数のコアによる前記データへのアクセス時間が全体として短縮されるように、前記複数のメモリの中から、前記データを格納するメモリを決定する格納メモリ決定手順(10h)と、
前記格納メモリ決定手順によって決定された前記データとその格納先のメモリとの関係を示すメモリマップ(18b)を生成するメモリマップ生成手順(10i)と、を備える並列化方法。 - 前記格納メモリ決定手順は、
前記複数の処理単位の前記複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、及び前記タスクの実行頻度情報に基づいて、単位時間当たりの前記複数のコアによる前記データへのアクセス頻度を算出するアクセス頻度算出手順(S110、S210、S310)を含み、
前記複数のコアによる前記データへのアクセス頻度と、前記複数のコアによる前記複数のメモリの各々についてのアクセス必要時間情報とに基づき、前記データを格納するメモリを決定する請求項1に記載の並列化方法。 - 前記格納メモリ決定手順は、
前記複数のコアによる前記データへのアクセス頻度と、前記複数のコアによる前記複数のメモリの各々についてのアクセス必要時間情報とに基づき、前記データを格納するメモリとして、前記単位時間当たりの前記複数のコアによるアクセス必要時間の合計が最小となるメモリを選択するメモリ選択手順(S140、S240、S340)を含み、
前記メモリ選択手順によって選択されたメモリを、前記データを格納するメモリとして決定する請求項2に記載の並列化方法。 - 前記複数のコアがアクセスするデータは、RAMに格納される変数又は定数データ、データROMに格納される定数データ、及びコードROMに格納される、前記処理単位として共用される関数データのいずれかを含む請求項1乃至3のいずれかに記載の並列化方法。
- 前記マルチコアマイコンには、前記RAM、前記データROM、及び前記コードROMの少なくとも1種類のメモリについて、複数のメモリが設けられている請求項4に記載の並列化方法。
- 請求項1乃至5のいずれかに記載の並列化方法によって生成された前記並列プログラムを実行するマルチコアマイコン(20)であって、
前記マルチコアマイコンの前記複数のコアが、それぞれ割り付けられた前記処理単位の実行のために前記データにアクセスする際、そのアクセス対象となるメモリは、前記メモリマップに従って定められたメモリであるマルチコアマイコン。 - コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(C0、C1、C2)と前記複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)とを有し、当該複数のメモリは前記複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含むマルチコアマイコン(20)用の並列プログラム(18a)を生成する並列化ツールであって、
前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とを決定し、この決定した前記複数のコアへの割り付け及び実行順序に従って前記複数の処理単位が実行されるように前記並列プログラムを生成する並列プログラム生成部(10a〜10e)と、
前記複数の処理単位の前記複数のコアへの割り付け情報、前記複数の処理単位がアクセスするデータに関するデータアクセス情報、前記タスクの実行頻度を示す実行頻度情報、及び前記複数のコアによる前記複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、前記複数のコアによる前記データへのアクセス時間が全体として短縮されるように、前記複数のメモリの中から、前記データを格納するメモリを決定する格納メモリ決定部(10h)と、
前記格納メモリ決定部によって決定された前記データとその格納先のメモリとの関係を示すメモリマップ(18b)を生成するメモリマップ生成部(10i)と、を備える並列化ツール。 - 前記格納メモリ決定部は、
前記複数の処理単位の前記複数のコアへの割り付け情報、複数の処理単位がアクセスするデータに関するデータアクセス情報、及び前記タスクの実行頻度情報に基づいて、単位時間当たりの前記複数のコアによる前記データへのアクセス頻度を算出するアクセス頻度算出部(S110、S210、S310)を含み、
前記複数のコアによる前記データへのアクセス頻度と、前記複数のコアによる前記複数のメモリの各々についてのアクセス必要時間情報とに基づき、前記データを格納するメモリを決定する請求項7に記載の並列化ツール。 - 前記格納メモリ決定部は、
前記複数のコアによる前記データへのアクセス頻度と、前記複数のコアによる前記複数のメモリの各々についてのアクセス必要時間情報とに基づき、前記データを格納するメモリとして、前記単位時間当たりの前記複数のコアによるアクセス必要時間の合計が最小となるメモリを選択するメモリ選択部(S140、S240、S340)を含み、
前記メモリ選択部によって選択されたメモリを、前記データを格納するメモリとして決定する請求項8に記載の並列化ツール。 - 前記複数のコアがアクセスするデータは、RAMに格納される変数又は定数データ、データROMに格納される定数データ、及びコードROMに格納される、前記処理単位として共用される関数データのいずれかを含む請求項7乃至9のいずれかに記載の並列化ツール。
- 前記マルチコアマイコンには、前記RAM、前記データROM、及び前記コードROMの少なくとも1種類のメモリについて、複数のメモリが設けられている請求項10に記載の並列化ツール。
- 請求項7乃至11のいずれかに記載の並列化ツールによって生成された前記並列プログラムを実行するマルチコアマイコン(20)であって、
前記マルチコアマイコンの前記複数のコアが、それぞれ割り付けられた前記処理単位の実行のために前記データにアクセスする際、そのアクセス対象となるメモリは、前記メモリマップに従って定められたメモリであるマルチコアマイコン。 - コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(C0、C1、C2)を有するマルチコアマイコン(20)用の並列プログラム(18a)を実行するマルチコアマイコンであって、
前記複数のコアがアクセス可能な複数のメモリ(L0、L1、L2、G0、G1)を有し、当該複数のメモリは前記複数のコアによるアクセスに要するアクセス必要時間が異なるメモリを含み、
前記並列プログラムは、前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とが決定され、この決定された前記複数のコアへの割り付け及び実行順序に従って前記複数の処理単位が実行されるように生成されたものであり、
前記複数のコアが、それぞれ割り付けられた前記処理単位の実行のために前記データにアクセスする際、そのアクセス対象となるメモリは、前記複数の処理単位の前記複数のコアへの割り付け情報、前記複数の処理単位がアクセスするデータに関するデータアクセス情報、前記タスクの実行頻度を示す実行頻度情報、及び前記複数のコアによる前記複数のメモリの各々へのアクセス必要時間を示すアクセス必要時間情報に基づき、前記複数のコアによる前記データへのアクセス時間が全体として短縮されるように、前記複数のメモリの中から、前記データを格納するメモリが決定され、その決定された前記データと格納先のメモリとの関係を示すように生成されたメモリマップ(18b)に従って定められたメモリであるマルチコアマイコン。 - 前記マルチコアマイコンは、車両に搭載された車載機器を制御するための車載装置に適用され、前記並列プログラムを実行することで前記車載機器を制御するものである請求項6、12、13のいずれかに記載のマルチコアマイコン。
- 前記メモリマップは、前記複数の処理単位の前記複数のコアへの割り付け情報、前記複数の処理単位がアクセスするデータに関するデータアクセス情報、及び前記タスクの実行頻度情報に基づいて、単位時間当たりの前記複数のコアによる前記データへのアクセス頻度が算出され、算出された前記複数のコアによる前記データへのアクセス頻度と前記複数のコアによる前記複数のメモリの各々に対するアクセス必要時間情報とに基づき、前記データを格納するメモリが決定され、その決定内容に従って生成されるものである請求項13又は14に記載のマルチコアマイコン。
- 前記複数のコアによる前記データへのアクセス頻度と、前記複数のコアによる前記複数のメモリの各々に対するアクセス必要時間情報とに基づき、前記データを格納するメモリとして、前記単位時間当たりの前記複数のコアによるアクセス必要時間の合計が最小となるメモリが選択され、その選択されたメモリが、前記データを格納するメモリとして決定される請求項15に記載のマルチコアマイコン。
- 前記複数のコアがアクセスするデータは、RAMに格納される変数又は定数データ、データROMに格納される定数データ、及びコードROMに格納される、前記処理単位として共用される関数データのいずれかを含む請求項13乃至16のいずれかに記載のマルチコアマイコン。
- 前記マルチコアマイコンには、前記RAM、前記データROM、及び前記コードROMの少なくとも1種類のメモリについて、複数のメモリが設けられている請求項17に記載のマルチコアマイコン。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018083128A JP7059776B2 (ja) | 2018-04-24 | 2018-04-24 | 並列化方法、並列化ツール、及びマルチコアマイコン |
DE102019205674.1A DE102019205674A1 (de) | 2018-04-24 | 2019-04-18 | Parallelisierverfahren, Parallelisierwerkzeug und Mehrkern-Microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018083128A JP7059776B2 (ja) | 2018-04-24 | 2018-04-24 | 並列化方法、並列化ツール、及びマルチコアマイコン |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019191870A true JP2019191870A (ja) | 2019-10-31 |
JP7059776B2 JP7059776B2 (ja) | 2022-04-26 |
Family
ID=68105185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018083128A Active JP7059776B2 (ja) | 2018-04-24 | 2018-04-24 | 並列化方法、並列化ツール、及びマルチコアマイコン |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7059776B2 (ja) |
DE (1) | DE102019205674A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008262340A (ja) * | 2007-04-11 | 2008-10-30 | Denso Corp | デュアルコア向け自動コード生成装置 |
JP2012247827A (ja) * | 2011-05-25 | 2012-12-13 | Ricoh Co Ltd | プログラム生成装置、プログラム生成方法及びプログラム |
US20160253106A1 (en) * | 2015-02-27 | 2016-09-01 | Fujitsu Limited | Data deployment determination apparatus, data deployment determination program, and data deployment determination method |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5856122A (en) | 1993-08-24 | 1999-01-05 | University Of Alberta | Modification of pertussis toxin |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2018
- 2018-04-24 JP JP2018083128A patent/JP7059776B2/ja active Active
-
2019
- 2019-04-18 DE DE102019205674.1A patent/DE102019205674A1/de active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008262340A (ja) * | 2007-04-11 | 2008-10-30 | Denso Corp | デュアルコア向け自動コード生成装置 |
JP2012247827A (ja) * | 2011-05-25 | 2012-12-13 | Ricoh Co Ltd | プログラム生成装置、プログラム生成方法及びプログラム |
US20160253106A1 (en) * | 2015-02-27 | 2016-09-01 | Fujitsu Limited | Data deployment determination apparatus, data deployment determination program, and data deployment determination method |
JP2016162008A (ja) * | 2015-02-27 | 2016-09-05 | 富士通株式会社 | データ配置決定装置、データ配置決定プログラム及びデータ配置決定方法 |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
US20170168790A1 (en) * | 2015-12-10 | 2017-06-15 | Denso Corporation | Parallelization method, parallelization tool, and in-vehicle apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP7059776B2 (ja) | 2022-04-26 |
DE102019205674A1 (de) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100229161A1 (en) | Compile method and compiler | |
US20110119660A1 (en) | Program conversion apparatus and program conversion method | |
US10296316B2 (en) | Parallelization method, parallelization tool, and in-vehicle apparatus | |
US20150317140A1 (en) | Method and system for parallelization of sequential computer program codes | |
US11288047B2 (en) | Heterogenous computer system optimization | |
JP2016192153A (ja) | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 | |
JP2017228029A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
Fang et al. | Aristotle: A performance impact indicator for the OpenCL kernels using local memory | |
Arandi et al. | Combining compile and run-time dependency resolution in data-driven multithreading | |
CN113553057A (zh) | 一种针对不同架构的gpu进行并行计算的优化系统 | |
US20200249923A1 (en) | Information processing device and information processing method | |
JP2016192152A (ja) | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 | |
JP2008305337A (ja) | プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム | |
JP7059776B2 (ja) | 並列化方法、並列化ツール、及びマルチコアマイコン | |
WO2021047662A1 (en) | Method and apparatus for enabling autonomous acceleration of dataflow ai applications | |
US20190042389A1 (en) | Design assistance device, design assistance method, and recording medium storing design assistance program | |
JP7095513B2 (ja) | マルチコアマイコン、及び車載装置 | |
JP6933001B2 (ja) | 並列化方法、並列化ツール | |
JP7139633B2 (ja) | 並列化方法、並列化ツール、及びマルチコアマイコン | |
Baloukas et al. | Mapping embedded applications on MPSoCs: the MNEMEE approach | |
Menshchikov | Scalable semantic virtual machine framework for language-agnostic static analysis | |
JP6776914B2 (ja) | 並列化方法、並列化ツール | |
JP6558310B2 (ja) | 並列化方法、並列化ツール | |
Yu et al. | A compiler-based approach for GPGPU performance calibration using TLP modulation (WIP paper) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220221 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220328 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7059776 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |