JP2022096010A - コンパイル装置、コンパイル方法、及びコンパイルプログラム - Google Patents
コンパイル装置、コンパイル方法、及びコンパイルプログラム Download PDFInfo
- Publication number
- JP2022096010A JP2022096010A JP2020206419A JP2020206419A JP2022096010A JP 2022096010 A JP2022096010 A JP 2022096010A JP 2020206419 A JP2020206419 A JP 2020206419A JP 2020206419 A JP2020206419 A JP 2020206419A JP 2022096010 A JP2022096010 A JP 2022096010A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- loop
- vector register
- instruction
- register
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 230000014509 gene expression Effects 0.000 claims description 25
- 230000007423 decrease Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
- G06F8/452—Loops
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
- Complex Calculations (AREA)
Abstract
Description
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析部と、
上記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行部と、を含む。
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定し、
上記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むためのベクトルロード命令を生成し、
上記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令を生成し、
演算を実行するためのベクトル演算命令を生成し、
演算結果を上記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成する。
コンピュータを、
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析手段と、
上記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行手段と、して機能させる。
初めに、本発明の第1実施形態によるコンパイル装置、コンパイル方法、及びコンパイルプログラムについて、説明する。
図2Aは、本実施形態によるコンパイル装置を説明するためのブロック図である。図2Aのコンパイル装置は、ソースプログラムをコンパイルしてオブジェクトコードを生成するコンパイラ100である。図2Aのコンパイラ100は、プログラムとしてのソースプログラムを解析してプログラム中のループが隣接するデータへのアクセスを含んでおりベクトル化可能であるかを解析するループ解析部10、及び解析結果に基づきループをベクトル化するベクトル化実行部20を含む。本実施形態によるコンパイル装置は、上述した計算機に用いられ、コンパイラに組み込まれる一機能である。
次に、図3~11を用いて動作について説明する。図3は、本発明の第1実施形態によるコンパイル方法を説明するためのフローチャートである。図4は、本発明の第1実施形態が対象とするソースプログラムの一例である。図5は、本発明の第1実施形態によるコンパイル方法のうち、ベクトルロードにより演算に必要となる要素をメモリからロードする動作を説明するための概念図である。図6は、本発明の第1実施形態によるコンパイル方法のうち、ベクトル要素シフトにより隣接データA(I+1)を生成する動作を説明するための概念図である。図7は、本発明の第1実施形態によるコンパイル方法のうち、ベクトル要素シフトにより隣接データA(I+2)を生成する動作を説明するための概念図である。図8は、本発明の第1実施形態によるコンパイル方法のうち、ベクトル要素シフトにより隣接データA(I+3)を生成する動作を説明するための概念図である。図9は、本発明の第1実施形態によるコンパイル方法のうち、ベクトル要素シフトにより隣接データA(I+4)を生成する動作を説明するための概念図である。図10は、本発明の第1実施形態によるコンパイル方法のうち、ベクトル演算の動作を説明するための概念図である。図11は、本発明の第1実施形態によるコンパイル方法のうち、ベクトルストアによる演算結果をメモリへストアする動作を説明するための概念図である。
本実施形態のコンパイル装置、コンパイル方法、及びコンパイルプログラムによれば、隣接するデータをロードするベクトルロード命令がソースプログラムに含まれる場合にはこのベクトルロード命令を、メモリアクセスを伴わないベクトル要素シフト命令に置き換える。メモリアクセスを伴わない命令は、ベクトルロード命令のようにメモリアクセスを伴う命令に比べて高速である。このベクトルロード命令の、メモリアクセスを伴わないベクトル要素シフト命令への置き換えによって、ベクトルロード命令の実行数を削減することができる。これにより、プログラムを高速化することができる。
次に、本発明の第2実施形態によるコンパイル装置、コンパイル方法、及びコンパイルプログラムについて、説明する。本実施形態によるコンパイル装置、コンパイル方法、及びコンパイルプログラムについて、上述した第1実施形態と同様な内容についてはその詳細な説明を省略して、相違点について説明する。上述した第1実施形態では、隣接する配列要素の添字式の値の差が1のプログラムを例に説明したが、本発明はこれに限られない。例えば、各添字式の値の差が1より大きいプログラムにおいても適用できる。
本実施形態のコンパイル装置、コンパイル方法、及びコンパイルプログラムによれば、第1実施形態と同様に、隣接するデータをロードするベクトルロード命令がソースプログラムに含まれる場合にはこのベクトルロード命令を、メモリアクセスを伴わないベクトル要素シフト命令に置き換える。メモリアクセスを伴わない命令は、ベクトルロード命令のようにメモリアクセスを伴う命令に比べて高速である。このベクトルロード命令の、メモリアクセスを伴わないベクトル要素シフト命令への置き換えによって、ベクトルロード命令の実行数を削減することができる。これにより、第1実施形態と同様に、プログラムを高速化することができる。
次に、本発明の第3実施形態によるコンパイル装置、コンパイル方法、及びコンパイルプログラムについて、説明する。本実施形態によるコンパイル装置、コンパイル方法、及びコンパイルプログラムについて、上述した第1実施形態と同様な内容についてはその詳細な説明を省略して、相違点について説明する。上述した第1実施形態では、隣接する配列要素の添字式の値の差が1で値が増加するプログラムを例に説明したが、本発明はこれに限られない。例えば、添字式の値が減少するような場合においても適用できる。
本実施形態のコンパイル装置、コンパイル方法、及びコンパイルプログラムによれば、第1実施形態と同様に、隣接するデータをロードするベクトルロード命令がソースプログラムに含まれる場合にはこのベクトルロード命令を、メモリアクセスを伴わないベクトル要素シフト命令に置き換える。メモリアクセスを伴わない命令は、ベクトルロード命令のようにメモリアクセスを伴う命令に比べて高速である。このベクトルロード命令の、メモリアクセスを伴わないベクトル要素シフト命令への置き換えによって、ベクトルロード命令の実行数を削減することができる。これにより、第1実施形態と同様に、プログラムを高速化することができる。
(付記1)
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析部と、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行部と、を含む、
コンパイル装置。
(付記2)
前記ベクトル化実行部は、
演算に必要となる要素をメモリから前記ベクトルレジスタへ読み込むための命令を生成するベクトルロード命令生成手段と、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令生成手段と、
演算を実行するための演算命令を生成するベクトル演算命令生成手段と、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成するベクトルストア命令生成手段と、を含む、
付記1に記載のコンパイル装置。
(付記3)
前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が増加する場合、指定された第1のベクトルレジスタのデータを値の増加数だけ左シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記増加数と同数だけ最後尾に結合する、
付記2に記載のコンパイル装置。
(付記4)
前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が減少する場合、指定された第1のベクトルレジスタのデータを値の減少数だけ右シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記減少数と同数だけ先頭要素に結合する、
付記2に記載のコンパイル装置。
(付記5)
前記ループ解析部は、
ループ中に隣接するデータへのアクセスが含まれているか認識する隣接データ認識手段と、
隣接するデータへのアクセスを含むループがベクトル化可能であるかを判定するベクトル化判定手段と、を含む、
付記1乃至付記4のいずれか一つに記載のコンパイル装置。
(付記6)
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定し、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むためのベクトルロード命令を生成し、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令を生成し、
演算を実行するためのベクトル演算命令を生成し、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成する、
コンパイル方法。
(付記7)
前記ベクトル要素シフト命令は、隣接する配列要素の添字式の値が増加する場合、指定された第1のベクトルレジスタのデータを値の増加数だけ左シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記増加数と同数だけ最後尾に結合する、
付記6に記載のコンパイル方法。
(付記8)
前記ベクトル要素シフト命令は、隣接する配列要素の添字式の値が減少する場合、指定された第1のベクトルレジスタのデータを値の減少数だけ右シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記減少数と同数だけ先頭要素に結合する、
付記6に記載のコンパイル方法。
(付記9)
コンピュータを、
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析手段と、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行手段と、して機能させる、
コンパイルプログラム。
(付記10)
前記ベクトル化実行手段は、
演算に必要となる要素をメモリから前記ベクトルレジスタへ読み込むための命令を生成するベクトルロード命令生成手段と、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令生成手段と、
演算を実行するための演算命令を生成するベクトル演算命令生成手段と、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成するベクトルストア命令生成手段と、を含む、
付記9に記載のコンパイルプログラム。
(付記11)
前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が増加する場合、指定された第1のベクトルレジスタのデータを値の増加数だけ左シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記増加数と同数だけ最後尾に結合する、
付記10に記載のコンパイルプログラム。
(付記12)
前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が減少する場合、指定された第1のベクトルレジスタのデータを値の減少数だけ右シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記減少数と同数だけ先頭要素に結合する、
付記10に記載のコンパイルプログラム。
(付記13)
前記ループ解析手段は、
ループ中に隣接するデータへのアクセスが含まれているか認識する隣接データ認識手段と、
隣接するデータへのアクセスを含むループがベクトル化可能であるかを判定するベクトル化判定手段と、を含む、
付記9乃至付記12のいずれか一つに記載のコンパイルプログラム。
11 隣接データ認識手段
12 ベクトル化判定手段
20 ベクトル化実行部
21 ベクトルロード命令生成手段
22 ベクトル要素シフト命令生成手段
23 ベクトル演算命令生成手段
24 ベクトルストア命令生成手段
100 コンパイラ
Claims (10)
- ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析部と、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行部と、を含む、
コンパイル装置。 - 前記ベクトル化実行部は、
演算に必要となる要素をメモリから前記ベクトルレジスタへ読み込むための命令を生成するベクトルロード命令生成手段と、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令生成手段と、
演算を実行するための演算命令を生成するベクトル演算命令生成手段と、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成するベクトルストア命令生成手段と、を含む、
請求項1に記載のコンパイル装置。 - 前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が増加する場合、指定された第1のベクトルレジスタのデータを値の増加数だけ左シフトして第2のベクトルレジスタに代入し、さらにベクトル次のレジスタの先頭要素から前記増加数と同数だけ最後尾に結合する、
請求項2に記載のコンパイル装置。 - 前記ベクトル要素シフト命令生成手段は、隣接する配列要素の添字式の値が減少する場合、指定された第1のベクトルレジスタのデータを値の減少数だけ右シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記減少数と同数だけ先頭要素に結合する、
請求項2に記載のコンパイル装置。 - 前記ループ解析部は、
ループ中に隣接するデータへのアクセスが含まれているか認識する隣接データ認識手段と、
隣接するデータへのアクセスを含むループがベクトル化可能であるかを判定するベクトル化判定手段と、を含む、
請求項1乃至請求項4のいずれか一項に記載のコンパイル装置。 - ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定し、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むためのベクトルロード命令を生成し、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令を生成し、
演算を実行するためのベクトル演算命令を生成し、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成する、
コンパイル方法。 - 前記ベクトル要素シフト命令は、隣接する配列要素の添字式の値が増加する場合、指定された第1のベクトルレジスタのデータを値の増加数だけ左シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記増加数と同数だけ最後尾に結合する、
請求項6に記載のコンパイル方法。 - 前記ベクトル要素シフト命令は、隣接する配列要素の添字式の値が減少する場合、指定された第1のベクトルレジスタのデータを値の減少数だけ右シフトして第2のベクトルレジスタに代入し、さらに次のベクトルレジスタの先頭要素から前記減少数と同数だけ先頭要素に結合する、
請求項6に記載のコンパイル方法。 - コンピュータを、
ソースプログラムのループ中に隣接するデータへのアクセスが含まれる場合に、そのループがベクトル化可能であるかを判定するループ解析手段と、
前記隣接するデータへのアクセスが含まれ、かつ、そのループがベクトル化可能である場合に、演算に必要となる要素をメモリからベクトルレジスタへ読み込むための命令を生成するベクトル化実行手段と、して機能させる、
コンパイルプログラム。 - 前記ベクトル化実行手段は、
演算に必要となる要素をメモリから前記ベクトルレジスタへ読み込むための命令を生成するベクトルロード命令生成手段と、
前記ベクトルレジスタへ読み込んだ要素を要素シフトしたベクトルデータを生成するベクトル要素シフト命令生成手段と、
演算を実行するための演算命令を生成するベクトル演算命令生成手段と、
演算結果を前記ベクトルレジスタからメモリへ書き込むためのベクトルストア命令を生成するベクトルストア命令生成手段と、を含む、
請求項9に記載のコンパイルプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020206419A JP7088276B1 (ja) | 2020-12-14 | 2020-12-14 | コンパイル装置、コンパイル方法、及びコンパイルプログラム |
US18/265,300 US20240053969A1 (en) | 2020-12-14 | 2021-11-17 | Compiling device, compiling method, and compiling program recording medium |
PCT/JP2021/042164 WO2022130883A1 (ja) | 2020-12-14 | 2021-11-17 | コンパイル装置、コンパイル方法、及びコンパイルプログラム記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020206419A JP7088276B1 (ja) | 2020-12-14 | 2020-12-14 | コンパイル装置、コンパイル方法、及びコンパイルプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7088276B1 JP7088276B1 (ja) | 2022-06-21 |
JP2022096010A true JP2022096010A (ja) | 2022-06-29 |
Family
ID=82059761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020206419A Active JP7088276B1 (ja) | 2020-12-14 | 2020-12-14 | コンパイル装置、コンパイル方法、及びコンパイルプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240053969A1 (ja) |
JP (1) | JP7088276B1 (ja) |
WO (1) | WO2022130883A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962654A (ja) * | 1995-08-22 | 1997-03-07 | Kofu Nippon Denki Kk | リストベクトル処理装置 |
JPH1166046A (ja) * | 1997-08-12 | 1999-03-09 | Fujitsu Ltd | ベクトル処理装置 |
JP2000048009A (ja) * | 1998-07-28 | 2000-02-18 | Fujitsu Ltd | メモリアクセス処理装置および記録媒体 |
JP2009104494A (ja) * | 2007-10-25 | 2009-05-14 | Nec Computertechno Ltd | ベクトル処理装置 |
-
2020
- 2020-12-14 JP JP2020206419A patent/JP7088276B1/ja active Active
-
2021
- 2021-11-17 WO PCT/JP2021/042164 patent/WO2022130883A1/ja active Application Filing
- 2021-11-17 US US18/265,300 patent/US20240053969A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962654A (ja) * | 1995-08-22 | 1997-03-07 | Kofu Nippon Denki Kk | リストベクトル処理装置 |
JPH1166046A (ja) * | 1997-08-12 | 1999-03-09 | Fujitsu Ltd | ベクトル処理装置 |
JP2000048009A (ja) * | 1998-07-28 | 2000-02-18 | Fujitsu Ltd | メモリアクセス処理装置および記録媒体 |
JP2009104494A (ja) * | 2007-10-25 | 2009-05-14 | Nec Computertechno Ltd | ベクトル処理装置 |
Non-Patent Citations (1)
Title |
---|
北脇 重宗 ほか: "SX−3シリーズの言語プロセッサと開発支援ツール", NEC技報, vol. 第45巻, 第2号, JPN6022006158, 28 February 1992 (1992-02-28), pages 59 - 70, ISSN: 0004711320 * |
Also Published As
Publication number | Publication date |
---|---|
JP7088276B1 (ja) | 2022-06-21 |
US20240053969A1 (en) | 2024-02-15 |
WO2022130883A1 (ja) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683468B2 (en) | Automatic kernel migration for heterogeneous cores | |
JP4339907B2 (ja) | マルチプロセッサ向け最適コード生成方法及びコンパイル装置 | |
US6113650A (en) | Compiler for optimization in generating instruction sequence and compiling method | |
KR101787653B1 (ko) | 병렬 파이프라인에서의 분기에 대한 하드웨어 및 소프트웨어 해법 | |
Falch et al. | Register caching for stencil computations on GPUs | |
CN107038019A (zh) | 单指令多数据计算系统中处理指令的方法及计算系统 | |
CN112083954B (zh) | 一种gpu中显式独立掩码寄存器的掩码操作方法 | |
US20170269931A1 (en) | Method and Computing System for Handling Instruction Execution Using Affine Register File on Graphic Processing Unit | |
US11915056B2 (en) | Combination of multiple data processing and machine learning frameworks for a target hardware | |
JP7088276B1 (ja) | コンパイル装置、コンパイル方法、及びコンパイルプログラム | |
WO2022267638A1 (en) | Method and apparatus for functional unit balancing at program compile time | |
Yu et al. | Case Study: Optimization Methods with TVM Hybrid-OP on RISC-V Packed SIMD | |
Ghiglio et al. | Improving performance of SYCL applications on CPU architectures using LLVM-directed compilation flow | |
JP5227646B2 (ja) | コンパイラ及びそのコード生成方法 | |
Foley et al. | Efficient partitioning of fragment shaders for multiple-output hardware | |
Bik et al. | A case study on compiler optimizations for the Intel® Core TM 2 Duo Processor | |
JP2022098645A (ja) | コンパイル装置、コンパイル方法、及びコンパイルプログラム | |
JP7115563B2 (ja) | コンパイル装置、コンパイル方法、及び制御プログラム | |
JP3730675B2 (ja) | 処理装置 | |
US20230259338A1 (en) | Computer-implemented method and a computer-readable medium | |
JP2018049461A (ja) | コンパイル装置、コンパイル方法、および、コンパイルプログラム | |
US20240311947A1 (en) | Processor, method and non-transitory computer-readable storage media for handling data | |
Bernstein et al. | Usable assembly language for GPUs: a success story | |
US10387128B2 (en) | Method and apparatus for compiling computer-readable computer programs using extended isomorphism | |
Muller et al. | Caches with compositional performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20211020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220421 |
|
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: 20220510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220523 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7088276 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |