SIMD IR Code Generation for Vector-Length Agnostic Architectures
Project/Area Number |
17K12694
|
Research Category |
Grant-in-Aid for Young Scientists (B)
|
Allocation Type | Multi-year Fund |
Research Field |
High performance computing
|
Research Institution | Institute of Physical and Chemical Research |
Principal Investigator |
LEE JINPIL 国立研究開発法人理化学研究所, 計算科学研究センター, 特別研究員 (30764873)
|
Project Period (FY) |
2017-04-01 – 2020-03-31
|
Project Status |
Completed (Fiscal Year 2019)
|
Budget Amount *help |
¥3,640,000 (Direct Cost: ¥2,800,000、Indirect Cost: ¥840,000)
Fiscal Year 2019: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2018: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2017: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
|
Keywords | SIMD並列化 / コンパイラ最適化 / 高性能計算 / OpenMP / 並列化コンパイラ / FPGA / ハイパフォーマンス・コンピューティング |
Outline of Final Research Achievements |
In this study, we propose an intermediate representation form called SIMD IR to express parallelism without assuming a specific vector width and generate SIMD instructions in our compiler. We made SIMD IR independent from specific vector widths and instruction sets for a variety of architectures. As a result, the compiler can handle not only Intel’s vector instruction set, but also ARM's SVE or FPGAs that treat data as a continuous stream. We extended the OpenMP SIMD and task directive so that the compiler can use SIMD IR to generate SIMD code for various architectures.
|
Academic Significance and Societal Importance of the Research Achievements |
既存のベクトル命令は固定ベクトル長を前提としており、命令セット毎にその幅が異なる。最新のARMやRISC-Vアーキテクチャにはコードにベクトル長を明記せず、ランタイムや実行アーキテクチャによってベクトル幅が決まるアプローチが採用されている。またFPGAのような再構成可能なハードウェア上で計算カーネルを実装するときも性能最適化のためにベクトル化を行うが、ハードウェア資源の制約によってその幅は流動的に変化する。本研究で提案した中間形式を用いることによって、様々なベクトル長を持つアーキテクチャを統一されたアルゴリズムで開発することができるようになる。
|
Report
(4 results)
Research Products
(21 results)