Item type |
Trans(1) |
公開日 |
2024-01-31 |
タイトル |
|
|
タイトル |
サイズ特化型ベクトル化に基づく可変長ベクトル実行 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Dynamically Changeable Vector Execution Based on Size-wise Vectorization |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要, Unrefereed Presentatin Abstract] |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
著者所属 |
|
|
|
東京理科大学創域理工学部情報計算科学科 |
著者所属 |
|
|
|
東京理科大学創域理工学部情報計算科学科 |
著者所属(英) |
|
|
|
en |
|
|
Department of Information Sciences, Tokyo University of Science |
著者所属(英) |
|
|
|
en |
|
|
Department of Information Sciences, Tokyo University of Science |
著者名 |
福原, 淳司
岩澤, 京子
滝本, 宗宏
|
著者名(英) |
Junji, Fukuhara
Kyoko, Iwasawa
Munehiro, Takimoto
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
RISC-Vベクトル拡張やARM社のSVEで採用されている可変長ベクトル命令を用いた並列演算が注目を集めている.固定長ベクトル命令が対応するベクトル長を持つCPUに対してしか動作しないのに対して,可変長ベクトル命令は異なるベクトル長を持つCPUに対して同一のバイナリで動作する.この利点を活かして,アプリケーションや実行環境ごとに最適なベクトル長で演算を行うことができる.しかし,従来の自動ベクトル化コンパイラは,実行コストの見積もりを行ってベクトル化の要否を決定するので,配列参照とスカラ計算が混在しているコードに対しては,ベクトル化しないことが多い.本発表では,ループピーリングとコード移動を組み合わせた自動ベクトル化を提案する.本手法は,ループに対してループピーリングを適用したあと,同じ配列の参照を同じプログラム点に移動させることで,ベクトル化可能な配列参照を決定する.配列参照とスカラ計算の混合コードに対しては,従来の自動ベクトル化コンパイラはベクトル化できないことが多い.本手法はコード移動を行うことで,従来よりも多くの自動ベクトル化を実現するので,従来の自動ベクトル化コンパイラよりも実行効率を改善する.実験ではサンプルプログラムに対する効果と本手法の将来的な拡張性を示す. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Length-agnostic vector instruction set architectures (ISAs) adopted by RISC-V vector extenstion and ARM SVE have been playing an important role in parallel computation. While fixed-length vector ISAs work only for CPUs with the corresponding vector length, length-agnostic ones work with the same binary code for CPUs that have different vector lengths. Taking advantage of the property, each application and execution environment can be performed with the optimal vector length. However, traditional automatic vectorizing compilers often do not vectorize code that contains both array references and scalar computations because they estimate the execution cost and decide whether vectorization is necessary. In this presentation, we propose automatic vectorization that consists of loop peeling and code motion techniques. The proposed method determines vectorizable array references by applying loop peeling and moving the same array references to the same program points. Although traditional automatic vectorizing compilers often cannot vectorize the code that consists of array references and scalar computations, the proposed method can achieve more automatic vectorization than the traditional ones by performing code motion and exposing vectorizable opportunity. Our experimental results show that the effectiveness of the proposed method on sample programs and the future extensibility. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 17,
号 1,
p. 15-15,
発行日 2024-01-31
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |