@techreport{oai:ipsj.ixsq.nii.ac.jp:00210485, author = {葛, 毅 and 依田, 勝洋 and 一場, 利幸 and 伊藤, 真紀子 and 吉川, 隆英 and 五島, 正裕}, issue = {36}, month = {Mar}, note = {A64FX や x86 プロセッサなどの汎用プロセッサ・コアの SIMD ユニットには,① SIMD の基本的な使用方法である水平計算によって生じる水平命令と,② ギャザー/スキャッタなどの不連続アクセスに,それぞれスケーラビリティの問題があり,SIMD 幅を拡大してもほとんど性能向上しない.計算の方法を垂直型にすれば水平命令を用いずに済むが,不連続アクセスを多用することになる.不連続アクセスの性能をスケーラブルにするためには,一次データ・キャッシュの多バンク化が避けられない.しかし従来のパイプラインでは,バンク衝突によるストール/フラッシュが毎サイクルのように発生するため,やはりスケーラビリティの問題に帰着する.本稿では,バンク衝突が起こってもストール/フラッシュを起こさない Out-of-Step バックエンド・パイプラインを提案する.机上計算により HPCG のカーネルを評価した結果,対 A64FX 比で,SIMD のビット幅を 1024 とした場合に 4.7 倍,2048 とした場合に 9.5 倍の性能向上を得られることが分かった.}, title = {ギャザー/スキャッタを効率化するOut-of-Stepパイプライン}, year = {2021} }