著者
菱沼 利彰 五十嵐 亮 寺村 俊紀 森田 直樹 井原 遊
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2021-HPC-180, no.3, pp.1-11, 2021-07-13

近年,プロセッサアーキテクチャの多様化が進んでいる.数値シミュレーションを様々なアーキテクチャで行うことを考えたとき,CPU では BLAS や LAPACK を用いれば密行列に対する演算が統一された API で利用できるが,アクセラレータでは多くの場合データ通信の制御や API の変更が必要になる.疎行列に対する演算は,一部のハードウェアベンダ製ライブラリが疎行列に対する演算を備えているが,全てのアーキテクチャで動作はせず,統一された API は定義されていない.著者らは,真に有用な線形代数ライブラリは実用されているすべてのアーキテクチャで動く必要があるとの考えから,各ベンダやライブラリのデータ型,行列格納形式,データ通信 API などを扱うための統一された API を定義し,すべてのアーキテクチャで動作する可搬性の高いオープンソースライブラリ monolish を提案する.本研究ではこの第一段階として,シングルノード,シングルデバイス向けに開発した提案ライブラリの性能を評価した.行列行列積,LU 分解,共役勾配法のプログラムを 8 つの環境で実行し,提案したライブラリを用いることですべての環境でプログラムを変更せずに動作する高性能かつ可搬性の高いプログラムを実現できることを示した.
著者
菱沼 利彰 藤井 昭宏 田中 輝雄 長谷川 秀彦
雑誌
情報処理学会論文誌コンピューティングシステム(ACS) (ISSN:18827829)
巻号頁・発行日
vol.7, no.4, pp.25-33, 2014-12-16

高精度演算を用いることでKrylov部分空間法の収束を改善できるが,高精度演算はコストが高いことが知られている.高精度演算の1つに,倍精度を2つ組み合わせて4倍精度演算を行う倍々精度演算がある.我々は,IntelのSIMD拡張命令であるAVX2を用いてBCRS形式の倍精度疎行列と倍々精度ベクトルの積(DD-SpMV)の高速化を行った.AVX2を用いたCRS形式のDD-SpMVでは,各行で端数処理などを必要とするが,BCRS形式は端数処理をなくし,メモリアクセスを改善できる.しかし,BCRS形式は演算量が増加する.本論文では,AVX2に適したBCRS形式のブロックサイズと,増加した演算量と端数処理の削減,メモリアクセスの改善効果のトレードオフについて示した.実験の結果,AVX2に最も適したブロックサイズは4×1であることが分かった.また,メモリアクセスの改善効果はサイズの大きい問題ほど有効で,行列サイズが10 5以上のとき,演算量が3.3倍以上になるケースにおいても,BCRS4×1にすることでCRS形式の実行時間を約45%に短縮できることを確認した.
著者
佐藤真之介 菱沼利彰 藤井昭宏 田中輝雄
雑誌
第76回全国大会講演論文集
巻号頁・発行日
vol.2014, no.1, pp.215-216, 2014-03-11

大規模な疎行列を扱う数値計算において,疎行列のデータ格納形式の一つとして圧縮行格納形式(CRS)が用いられている.疎行列の形状によっては,CRSのデータ構造をブロック化して保持するブロック圧縮行格納形式(BCRS)に変換し扱うことにより,行列計算を高速化することができる.本研究では,標準ベンチマークであるフロリダコレクションの有用なすべての疎行列に対して,AVXを用いてBCRSの疎行列ベクトル積の計測を行い,性能を決定するパラメタについて分析を行うことにより,AVXで行うBCRSの効果を示した.また,AVXを用いたBCRSの疎行列ベクトル積の性能は,CRSの疎行列ベクトル積の性能と比較して,全体で70%高速化でき,高速化したときの倍率は平均1.1倍であった.