• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2017 Fiscal Year Research-status Report

Research on Rational Number Arithmetic Library in Many-Core Massively Parallel Cluster

Research Project

Project/Area Number 16K00168
Research InstitutionUniversity of Tsukuba

Principal Investigator

高橋 大介  筑波大学, 計算科学研究センター, 教授 (00292714)

Project Period (FY) 2016-04-01 – 2019-03-31
Keywords有理数計算 / 多倍長整数演算 / SIMD化 / 並列化
Outline of Annual Research Achievements

平成29年度は多倍長整数演算の階層においてSIMD命令を用いたベクトル化を行うと共に、有理数計算プログラミング環境での有理数BLAS(Basic Linear Algebra Subprograms)の並列化を行った。
整数除算は多くのアプリケーションで広く用いられている演算の一つである。一般的に除算は加減乗算に比べて遅いことが知られている。多くのプロセッサでは整数加減乗算のSIMD命令がサポートされているが、整数除算のSIMD命令をサポートしているプロセッサはほとんど存在しないのが現状である。数学定数の特定の桁を計算するBBP型公式においては、各項を計算する際に整数除算が必要になるが、この整数除算をexact division(整除算)アルゴリズムを用いてSIMD化を行うことで高速に計算することができることを示した。
有理数計算プログラミング環境は、分母・分子を可変長の多桁数で保持する有理数を、C++の演算子多重定義を用いて実装することで、四則演算を+、-、*、/の記号で書くことができる。これにより、有理算術演算による数値計算を、浮動小数点演算のようにプログラミングできるが、計算の高速化が課題である。数値線形代数のサブルーチンを、Fortran90の部分配列に似た表現で、行列やベクトルの一部を外部関数に渡して、BLASライブラリ的な並列化で設計した。
また有理数計算プログラミング環境において多倍長精度算術演算を可能にするためのmulprecクラスを作成すると共に、mulprec用のBLAS関数を作成した。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

平成29年度の研究成果をまとめた論文の執筆が遅れたために平成29年度中に国際会議で発表することができなかった。しかしながら有理数計算プログラミング環境での有理数BLASの並列化は研究計画の通り順調に進展している。

Strategy for Future Research Activity

今後の推進方策としては線形計算の階層においてMPI並列化およびMPIとOpenMPによるハイブリッド並列化を行う予定である。

Causes of Carryover

平成29年度の研究成果を論文にまとめて国際会議に投稿する予定であったが、論文の執筆が遅れたために平成29年度中に国際会議で発表することができなかったため旅費の使用額が少なくなり、次年度使用額が生じた。
現在国際会議に論文を投稿中であり、論文が採択されれば平成30年度に国際会議で発表するための旅費を使用する予定である。

  • Research Products

    (1 results)

All 2017

All Presentation (1 results)

  • [Presentation] 数学定数の特定の桁を計算するBBP型公式の高速計算法2017

    • Author(s)
      高橋大介
    • Organizer
      日本応用数理学会2017年度年会

URL: 

Published: 2018-12-17   Modified: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi