@techreport{oai:ipsj.ixsq.nii.ac.jp:00240493, author = {横野, 智也 and 山口, 佳樹 and Tomoya, Yokono and Yoshiki, Yamaguchi}, issue = {11}, month = {Nov}, note = {疎行列ベクトル積 (SpMV) は科学技術計算において多用される重要な基本演算である.SpMV 計算のためには格納形式として CRS (Compressed Row Storage) 形式が一般的に用いられ,この形式変換を含めた全体の演算性能を向上させることが重要である.本稿では,CRS 形式変換部分の演算に着目し FPGA による高速化の可能性について議論する.CRS 形式変換用の演算回路を設計し,AMD 社の Alveo U280 FPGA に実装を行った.実装した CRS 変換回路はシミュレーションにおいて,問題サイズが大きいものに関してはナイーブな C 言語実装に対して約 6 倍, SciPy に対して約 17.2 倍,PETSc に対して約 8.2 倍の高速化を確認した.また,DMA や FPGA 上の内部メモリを含めた FPGA システムにおいては impcol_b のデータセットにおいて,ナイーブな C 言語実装に対して約 0.13 倍, SciPy に対して約 0.99 倍,PETSc に対して約 1.96 倍となることを確認した., The sparse matrix-vector multiplication (SpMV) is an important basic operation that is frequently used in scientific and engineering calculations. The CRS (Compressed Row Storage) format is commonly used as the storage format for SpMV calculations, and it is important to improve the performance of the overall calculation, including this format conversion. In this paper, we focus on CRS format conversion and discuss the possibility of speeding up the calculation using FPGAs. We designed an arithmetic circuit for CRS format conversion and implemented it on AMD Alveo U280 FPGA. The implemented CRS conversion circuit was confirmed to be approximately 6 times faster than the naive C implementation, approximately 17.2 times faster than SciPy and approximately 8.2 times faster than PETSc for large problem sizes in the simulation. In the FPGA system including DMA and internal memory on the FPGA, the speed-up was confirmed to be approximately 0.13 times faster than the naive C implementation, approximately 0.99 times faster than SciPy and approximately 1.96 times faster than PETSc for the impcol_b data set.}, title = {FPGAによる疎行列計算用CRS形式変換の高速化}, year = {2024} }