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

2020 Fiscal Year Research-status Report

Development of efficient arbitrary precision numerical linear computation library optimized for multi-core CPUs

Research Project

Project/Area Number 20K11843
Research InstitutionShizuoka Institute of Science and Technology

Principal Investigator

幸谷 智紀  静岡理工科大学, 情報学部, 教授 (80319152)

Project Period (FY) 2020-04-01 – 2023-03-31
Keywords多倍長浮動小数点演算 / 基本線型計算 / 並列化 / SIMD / OpenMP / マルチコアCPU
Outline of Annual Research Achievements

本研究は現在主流のマルチコアCPUにおいて多倍長精度浮動小数点演算に基づく線形計算を最適化し,最大の性能を発揮させるソフトウェア技法を追求するものである。
多倍長精度浮動小数点演算の実装方法法は大きくマルチコンポーネント型と多数桁方式の2種類ある。本研究が行われる以前に,OpenMPを用いた並列化は,どちらの方式の多倍長精度計算でも有効で,その成果物はBNCmatmulというライブラリにまとめてある。本研究はこれに加えてCPUの性能を最大限発揮すべく,特にSIMD命令を活用した高速化を行っていくことを主要目的と定めた。
2020年度の研究実績としては,Binary64を複数使用するマルチコンポーネント型のDD(Double-Double),TD(Triple-Double),QD(Quad-Double)精度の基本線型計算について,SIMD化による基本線型計算の高速化を達成したことが挙げられる。現在最も後半に使用されているx86_64環境を構築すべく,科研費では24コアのAMD EPYCマシンを導入し,既存のCorei9環境でも共通に使用できるAVX2を用いての基本線型計算のSIMD化を行った。その結果,いずれの精度計算でも高速化できることを実装とベンチマークテストで示すことができた。特にTD精度は,オリジナルの加算実装方法よりもQDの加算をTD化した方が高速になることを示すことができ,学術的にも高い貢献を果たすことができたと考えている。半面,従来最も高速であることを期待したStrassen, Winogradアルゴリズムを用いた行列乗算は,特にOpenMPによる並列化の効果が限定的であり,8スレッド以上では高速化できないことが判明した。現状,我々の実装では,ブロック化による行列乗算が,メニーコア上ではSIMD化による効果も手伝って最も高速である。

Current Status of Research Progress
Current Status of Research Progress

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

Reason

多倍長精度浮動小数点演算のうち,Binary64を複数使用するマルチコンポーネント型のDD(Double-Double),TD(Triple-Double),QD(Quad-Double)精度の基本線型計算をAVX2を用いて高速化することは2020年度内に達成でき,特にTDは,オリジナルの加算実装方法よりもQDの加算をTD化した方が高速になることを示すことができた。その成果は情報処理学会HPC研究会(含むSWoPP2020)と日本応用数理学会年会にて公表済みである。2021年度中には本成果を査読付き国際研究集会に投稿する。

Strategy for Future Research Activity

次の3点を明確化すべく,研究を推進していきたいと考えている。
(1) マルチコンポーネント型多倍長精度浮動小数点演算を用いた線型計算については,本年度内にGPU環境との比較を行い,CPU環境との差異を明確化する予定である。
(2) 行列乗算については尾崎スキームの利用を検討し,高速化に寄与できる範囲を明確化しておきたい。
(3) 多数桁方式の多倍長浮動小数点演算を用いた高速化がどの程度可能なのか,検討の余地がある。OpenMPを用いた並列化は一定の効果があるものの,QD精度を越え,筆算方式の乗算アルゴリズムが最も高速な範囲でのSIMD化の方策については今後検討を行っていきたい。

Causes of Carryover

コロナ化のため,国内外全ての研究集会がオンライン化された結果,旅費が発生しなかった。そのためマルチコアCPUマシンのGPUスペックを上げて当初予算より高いものを購入したが,それでも使いきれずに10万円ほど残額がでた。これについては次年度以降の旅費および諸経費に使用していきたいと考えている。

  • Research Products

    (6 results)

All 2021 2020

All Journal Article (2 results) (of which Peer Reviewed: 2 results,  Open Access: 1 results) Presentation (3 results) Book (1 results)

  • [Journal Article] Performance Evaluation of Strassen Matrix Multiplication Supporting Triple-Double Precision Floating-Point Arithmetic2020

    • Author(s)
      Kouya Tomonori
    • Journal Title

      ICCSA 2020

      Volume: 12253 Pages: 163~176

    • DOI

      10.1007/978-3-030-58814-4_12

    • Peer Reviewed
  • [Journal Article] Python プログラミング環境における多倍長精度数値計算について2020

    • Author(s)
      幸谷智紀
    • Journal Title

      静岡理工科大学紀要

      Volume: 28 Pages: 23~31

    • Peer Reviewed / Open Access
  • [Presentation] AVX2を用いたマルチコンポーネント型多倍長精度行列乗算の高速化2021

    • Author(s)
      幸谷智紀
    • Organizer
      情報処理学会第178回HPC研究会
  • [Presentation] 3倍精度演算を用いた高速行列乗算2020

    • Author(s)
      幸谷智紀
    • Organizer
      日本応用数理学会2020年度年会
  • [Presentation] SIMD命令を用いた3倍精度行列乗算の性能評価2020

    • Author(s)
      幸谷智紀
    • Organizer
      情報処理学会第176回HPC研究会 (SWoPP2020)
  • [Book] Python数値計算プログラミング2021

    • Author(s)
      幸谷 智紀
    • Total Pages
      272
    • Publisher
      講談社
    • ISBN
      978-4065227350

URL: 

Published: 2021-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi