2018 Fiscal Year Annual Research Report
Research on Rational Number Arithmetic Library in Many-Core Massively Parallel Cluster
Project/Area Number |
16K00168
|
Research Institution | University of Tsukuba |
Principal Investigator |
高橋 大介 筑波大学, 計算科学研究センター, 教授 (00292714)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 有理数算術演算 / 多倍長整数演算 / モジュラー算術演算 / SIMD化 |
Outline of Annual Research Achievements |
平成30年度は多倍長整数演算の階層においてSIMD命令を用いたベクトル化を行うと共に、有理数算術演算プログラミング環境において有理数算術演算を高速化するためのモジュラー算術演算の実装を行った。 多倍長整数乗算において基数縮小表現を用いることでIntel AVX-512命令によるベクトル化を行った。Intel Xeon Phiプロセッサによる性能評価の結果、GNU Multiple Precision Arithmetic Library(GMP)に比べて最大で約2.5倍高速であることを示した。 一般的に除算は加減乗算に比べて遅いことが知られている。多くのプロセッサでは整数加減乗算のSIMD命令がサポートされているが、整数除算のSIMD命令をサポートしているプロセッサはほとんど存在しないのが現状である。そこで、Intel AVX-512命令を用いて複数の128ビットの被除数と64ビットの除数に対する符号なし整数除算を高速化し、性能評価を行った。再帰除算アルゴリズムを用いるとともにベクトル化を行うことで、Intel 64命令セットの符号なし整数除算命令に比べて高速に整数除算が行えることを示した。 有理数演算プログラミング環境は、分母・分子を可変長の多桁数で保持する有理数を、C++の演算子多重定義を用いて実装することで、四則演算を+、-、*、/の記号で書くことができる。これにより、有理算術演算による数値計算を、浮動小数点演算のようにプログラミングできるが、計算の高速化が課題である。有理数算術演算プログラミング環境において有理算術演算を高速化するためのモジュラー算術演算(modular arithmetic)を可能とするためのbigintクラスとmodularクラスを作成した。
|
Research Products
(4 results)