2018 Fiscal Year Research-status Report
HPCの視点に基づくテンソル分解アルゴリズムの高性能化
Project/Area Number |
18K18058
|
Research Institution | Hokkaido University |
Principal Investigator |
深谷 猛 北海道大学, 情報基盤センター, 助教 (30633846)
|
Project Period (FY) |
2018-04-01 – 2021-03-31
|
Keywords | テンソル分解 / 高性能計算 / 線形計算アルゴリズム |
Outline of Annual Research Achievements |
本研究課題では,ビッグデータ解析等において注目を集めているテンソル分解の計算手法を,高性能計算の視点から高速化することを目的としている.2018年度は,主に,代表的なテンソル分解の計算手法について,高性能計算の視点から解決すべき課題を調査した.具体的には,代表的なテンソル分解であるCP分解を計算するALS法を対象に,基本的な実装の性能分析を行った.高性能な線形代数ライブラリ(BLAS)に基づいたプログラムコードを実装し,最新のマルチコアCPU環境上で性能評価を行った結果,MTTKRPと呼ばれる計算カーネルが実行時間の大半を占めることが確認された.また,反復計算において,条件(テンソルのモード)によって,MTTKRPの実行時間が大きく異なっており,その原因がスレッド並列化の方法に起因することが分かった.そこで,別のスレッド並列化の方法を試した結果,該当箇所の実行時間を大きく削減できることが確認できた.
上記の成果に加えて,テンソル分解の計算では,テンソルを行列化して処理を行うことが多々あるが,その際に生じる行列の形状が特徴的であり,そのような行列に対する高性能な計算手法が必要となる.そこで,これまでの行列計算に関する研究を生かして,テンソルの計算で必要となる行列計算手法の高速化について研究を進めた.具体的には,HOSVDと呼ばれるテンソル分解の計算手法等で必要となる,縦長行列の特異値分解計算の前処理のQR分解に関して,行列のQR分解を利用して高速に計算する手法(コレスキーQR分解)を研究した.主な成果としては,従来,対象とする縦長行列の条件数が大きい場合にアルゴリズムが破綻していた問題を,シフトの技術を導入することで回避した.そして,実際にプログラムコードを実装して,最新の計算機環境において,改良した手法が計算速度の点において,従来の計算手法よりも優れていることを示した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究の初年度として,当初の計画通り,ベースとなるプログラムコードの実装と基本的な性能評価が完了している.また,その結果についても,学会等で発表し,今後の研究に有益となるコメント等を受けている.加えて,これまでの科研費等における行列計算の研究成果を,本研究課題へ活用することも進めており,全体として,おおむね順調に進展していると判断できる.
|
Strategy for Future Research Activity |
CP分解の実装に関して,2018年度に行った学会発表等で有益なコメントを受けたので,それを踏まえて,実装方法の改良を進める.一方,Tucker分解と呼ばれる代表的なテンソル分解に関しても,計算手法の分析と改良の検討を行う.また,引き続き,テンソル分解中で必要となる行列計算に関しても,高性能化に関する研究を実施する.
|
Research Products
(6 results)