RIKEN Center for Computational Science Large-scale Parallel Numerical Computing Technology Research Team



KMATHLIB API is an application programming interface for using various numerical libraries through a common interface. It aims to reduce the burden of computational science software developers by proactively integrating the high-performance library into the software. The development of computational science software requires the use of a high-performance numerical library, and often multiple numerical libraries are used simultaneously. However, in general these libraries have different data structures and usage methods. Developers are required to understand these differences and implement conversion functions of the data structures if necessary. Due to this, the developed program becomes cumbersome and more effort is required for development and maintenance of the computational science software. This might be a factor that deters computational science software developers from incorporating new libraries. By using the KMATHLIB API, developers are able to use a variety of numerical libraries (PETSc, ScaLAPACK, FFTW, EigenExa, etc.) through a common interface. The API mitigates the aforementioned bottlenecks, as universal procedures can be accessed without concerns about the different libraries. The KMATHLIB API was designed to be independent of any specific computer architecture. To date, the API has been confirmed to function on various high-performance computing platforms, such as the K computer, Fujitsu PRIMEHPC FX10, Fujitsu PRIMEHPC FX100, and cluster systems equipped with Intel x86-based processors.

KMATHLIB APIは,多様な数値計算ライブラリを共通のインターフェースを介して使用するためのAPIである.本APIは,高性能ライブラリを積極的にソフトウェアに組み込むことを支援し,計算科学ソフトウェア開発者の負担を軽減することを目的としている.計算科学ソフトウェアの開発においては高性能数値計算ライブラリの利用が必須であり,しばしば複数の数値計算ライブラリが同時に使用される.しかしながら,一般にライブラリのデータ構造や使用方法はそれぞれにまったく異なっており,開発者はこれらの差異を理解し,また,必要に応じてデータ構造の変換機能を実装しなければならない.このために,開発されるプログラムは煩雑なものになり,計算科学ソフトウェアの開発と保守に必要な労力は増大し,また,計算科学ソフトウェア開発者に新たなライブラリの採用を躊躇させる要因にもなりえる.KMATHLIB APIを利用することにより,開発者は多様な数値計算ライブラリ(PETSc,ScaLAPACK,FFTW,EigenExa等)を共通のインターフェースを介してライブラリ間の差異を意識せずに統一的な手順で利用することが可能になり,前述の数値計算ライブラリ使用時の負担が軽減される.KMATHLIB APIは特定の計算機アーキテクチャに依存しないように設計されており,現在までに,京コンピュータ,富士通 PRIMEHPC FX10,同FX100,Intel x86系プロセッサを搭載するクラスタシステムなど,多くの高性能計算プラットフォームで動作することが確認されている. なお,KMATHLIB APIを利用可能なプログラミング言語は,現在はFortran 90/95のみである.


Copyright © 2018-2020 Large-scale Parallel Numerical Computing Technology Research Team, RIKEN Center for Computational Science, All rights reserved.
RIKEN | 理化学研究所
RIKEN Center for Computational Science (R-CCS) | 理化学研究所 計算科学研究センター