2024-03-28T19:12:40Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001981532023-04-27T10:00:04Z01164:02240:09748:09861
LLVMを用いたベクトルプロセッサ向けコンパイラjpnベクトルプロセッサhttp://id.nii.ac.jp/1001/00198063/Technical Reporthttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=198153&item_no=1&attribute_id=1&file_no=1Copyright (c) 2019 by the Information Processing Society of JapanNECデータサイエンス研究所NECデータサイエンス研究所NECデータサイエンス研究所石坂, 一久井手口, 裕太大野, 善之ベクトル長をソフトウェアから設定可能であるベクトルプロセッサ向けの LLVM の拡張について,SX-Aurora TSUBASA の Vector Eingine 向けの実装を通して説明する.このような可変長ベクトル命令のサポートの課題として,固定長ベクトル命令では起こらない,ベクトル長がベクトルレジスタの要素数よりも短い際のベクトルレジスタの部分的な更新への対応がある.そこで,我々はベクトル命令向け Intrinsics を対象として,Intrinsic 関数の引数にベクトル長と ”pass through” を導入し,さらにコンパイラが自動でベクトル長設定命令を生成する方式を開発した.本方式を SX-Aurora TUSBASA 向け LLVM へ実装し,既存のコンパイラの大規模な変更を伴わず,従来の Intrinsics のセマンティクスを維持した可変長ベクトル対応が可能であることを確認した.AN10463942研究報告ハイパフォーマンスコンピューティング(HPC)2019-HPC-17016162019-07-172188-88412019-07-09