MathKeisan 1.5.0 for SX Release Notes


20041

日本電気株式会社

はじめに

MathKeisanは、NECのハイパフォーマンス・コンピュータのために高度に最適化された数学ライブラリ集です。この製品は、NECのベクトルコンピュータ SX-6上で稼動します。SX-5で稼動するバージョン、およびNEC Express5800/1000シリーズ(Itanium(R)  プロセッサファミリサーバ)のLinux OS上で稼動するバージョンについては、www.mathkeisan.comをご参照下さい。特に記述がない限り、このリリースメモはSX版MathKeisanに関するものです。

MathKeisan に含まれるライブラリを表1に示します。

1: MathKeisan に含まれるライブラリ 


ライブラリ名 機能概要
BLAS ベクトル、行列の基本演算
LAPACK 高性能コンピュータ用連立一次方程式、固有値解析
ScaLAPACK 連立一次方程式、固有値解析 (MPIによる並列版, PBLASを含む)
BLACS ベクトル、行列の基本演算のためのメッセージパッシングライブラリ
PARBLAS 共有メモリ用、並列版BLAS
CBLAS BLAS Cインタフェース
SBLAS スパースBLAS
FFT HP VECLIBインタフェース FFT, SGI/CRAY LIBSCI 3.1インタフェース FFT
PARFFT HP VECLIBインタフェース FFT, SGI/CRAY LIBSCI 3.1インタフェース 並列版FFT
METIS 行列、グラフの並べ変え、分割ライブラリ
ParMETIS 行列、グラフの並べ変え、分割の並列版ライブラリ
SOLVER  対称疎行列線形問題のソルバ
ARPACK 大規模固有値解析

動作可能OS

MathKeisan 1.5.0が稼動する機種やSUPER-UXのリビジョンのリストについてはwww.mathkeisan.comのCompatibilityのリンクをご参照下さい

MathKeisanのライブラリ作成には、以下のコンパイラを使用しています。 


Fortran f90 for SX, Rev.267
C C++/SX, Rev.061
MPI MPI/SX r121
強化概要

MathKeisan 1.4.0からの強化概要は以下の通りです。

  • R-C. C-R 1D, および1次元、2次元、3次元のFFTの性能向上。
  • 2に記載のFFTサブルーチンの作業用配列のサイズが大きくなりました。これにより、複数個の異なるFFTサイズに対し、trigonometric 及びfactorizationの初期化を事前に行うことが可能になります。各サブルーチンの作業用配列のサイズはmanページで確認して下さい。

表2: FFTサブルーチン

scfft2d

dzfft2d

scfft3d

dzfft3d

scfft

dzfft

scfftm

dzfftm

c1dfft

z1dfft

ccfft2d

zzfft2d

ccfft3d

zzfft3d

ccfft

zzfft

ccfftm

zzfftm

cfft2d

zfft2d

cfft2

zfft2

cfft3d

zfft3d

cfft

zfft

crc1ft

zrc1ft

src1ft

drc1ft

s1dfft

d1dfft

src1ft

drc1f

  • FFTのサブルーチンzzfft3d and ccfft3dの性能向上
  • BLASのサブルーチン[sd]gemm, [cz]her2の性能向上
  • PARBLASのサブルーチン[sd]gemvの性能向上
  • LAPACKのサブルーチン[sd]laebzの性能向上
  • インライン展開に適したBLASやLAPACKのリファレンスソースコードの追加
  • 新インストールスクリプト

リンク方法

f90 -dwオプション(既定値)を使用してリンクする場合には、表2のように指定します。それぞれに示された順番にリンクするか、またはリンク時に -h lib_cyclicオプションを指定する必要があります。$(LIBDIR)については、表4をご参照下さい。ただし、表4中の$(LIBDIR)はMathKeisanを規定値のディレクトリにインストールした場合のものです。ライブラリが規定値のディレクトリにない場合は、マシン管理者にご確認下さい。

2: -dw指定時の各ライブラリのリンク方法


ライブラリ名
リンク方法($(LIBDIR)については表4を参照)
BLAS -L$(LIBDIR) -lblas
LAPACK -L$(LIBDIR) -llapack -lblas
ScaLAPACK -L$(LIBDIR) -lscalapack -lblacsF90init -lblacs -lblacsF90init -lblas -lmpi
BLACS -L$(LIBDIR) -lblacsF90init -lblacs -lblacsF90init -lmpi
PARBLAS -L$(LIBDIR) -lparblas -Popenmp
CBLAS -L$(LIBDIR) -lcblas -lblas
SBLAS -L$(LIBDIR) -lsblas
FFT -L$(LIBDIR) -lfft
PARFFT -L$(LIBDIR) -lparfft -Popenmp
METIS -L$(LIBDIR) -lmetis_32
  -L$(LIBDIR) -lmetis
ParMETIS -L$(LIBDIR) -lparmetis_32 -lmpi
  -L$(LIBDIR) -lparmetis -lmpi
SOLVER -L$(LIBDIR) -lsolver -lmetis -lblas -Popenmp
ARPACK -L$(LIBDIR) -larpack -llapack -lblas

f90 -ewオプションを使用する場合には、表3のように指定します。それぞれに示された順番にリンクするか、またはリンク時に -h lib_cyclicオプションを指定する必要があります。$(LIBDIR)については、表4をご参照下さい。

表3: -ew指定時の各ライブラリのリンク方法


ライブラリ名
リンク方法($(LIBDIR)については表4を参照)
BLAS -L$(LIBDIR) -lblas_64
LAPACK -L$(LIBDIR) -llapack_64 -lblas_64
ScaLAPACK (*) NA
BLACS (*) NA
PARBLAS -L$(LIBDIR) -lparblas_64 -Popenmp
CBLAS (*) NA
SBLAS -L$(LIBDIR) -lsblas_64
FFT -L$(LIBDIR) -lfft_64
PARFFT -L$(LIBDIR) -lparfft_64 -Popenmp
METIS -L$(LIBDIR) -lmetis_64
ParMETIS -L$(LIBDIR) -lparmetis_64 -lmpiw
SOLVER -L$(LIBDIR) -lsolver_64 -lmetis_64 -lblas_64 -Popenmp
ARPACK -L$(LIBDIR) -larpack_64 -llapack_64 -lblas_64

(*) NA: サポートしていません。

表4:$(LIBDIR)の規定値  

machine  コンパイラ $(LIBDIR)の規定値 
F90  C++ 
self compile  -size_t32 (規定値)  -Nover2g (規定値)  $(LIBDIR) = /usr/lib 
-size_t64  -over2g  $(LIBDIR) = /usr/lib/lib64 
cross compile  -size_t32 (規定値)  -Nover2g (規定値)  $(LIBDIR) = /SX/usr/lib 
-size_t64  -over2g  $(LIBDIR) = /SX/usr/lib/lib64

データタイプ

MathKeisan ライブラリの各データタイプに対応するライブラリファイル名を表5、表6に示します。

5: MathKeisan のライブラリ名

 


ライブラリ名
I32R32+I32R64
I64R64+I64R64
BLAS  libblas.a  libblas_64.a
LAPACK  liblapack.a  liblapack_64.a
ScaLAPACK  libscalapack.a  (*) NA
BLACS  libblacs.a (*) NA
PARBLAS  libparblas.a  libparblas_64.a
CBLAS  libcblas.a  (*) NA
SBLAS libsblas.a libsblas_64.a
FFT  libfft.a  libfft_64.a
PARFFT libparfft.a libparfft_64.a
ARPACK  libarpack.a  libarpack_64.a
(*) NA: サポートしていません。

6: MathKeisan のライブラリ名 


ライブラリ名
I32R32
I32R64
I64R64
METIS libmetis_32.a libmetis.a  libmetis_64.a
ParMETIS libparmetis_32.a libparmetis.a libparmetis_64.a
SOLVER (*) NA libsolver.a  libsolver_64.a

(*) NA: サポートしていません。

表5のI32R32+I32R64欄のライブラリは、integer32ビットのデータタイプのライブラリです(Fortran integer*4) floating pointのデータタイプはサブルーチン名、関数名の一文字目で決まります。

  • s - 32 bit real data type (Fortran real*4)
  • d - 64 bit real data type (Fortran real*8)
  • c - 32 bit complex data type (Fortran complex*8)
  • z - 64 bit complex data type (Fortran complex*16)
f90 -dwオプション(既定値)でコンパイルすると、これらのライブラリがリンクされます。

I64R64+I64R64欄のライブラリは、integer 64ビット、floating point 64ビットのデータタイプのライブラリです。これらのサブルーチン名やファンクション名も、sdczで始まっていますが、全て64ビットデータタイプです。f90 -ew オプションでコンパイルすると、これらのライブラリがリンクされます。

6I32R32欄はinteger 32ビット、floating point 32ビットデータタイプのライブラリです。

I32R64欄はinteger 32ビット、floating point 64ビットデータタイプのライブラリです。

I64R64欄はinteger 64ビット、floating point 64ビットデータタイプのライブラリです。

Man pages

MathKeisanにはman pageが含まれています。それぞれのライブラリにそれぞれのman pageがあり、BLAS, LAPACK, ScaLAPACK, FFT, SOLVER,SBLAS,ARPACKのライブラリについては、それぞれのサブルーチンごとにman pageがあります。

例えば、BLASman pageを見る場合には、以下のように入力します。

man blas BLASのサブルーチン、dgemmman pageを見るには以下のように入力します。 man dgemm インストール手続き

MathKeisan には次の3つのファイルが含まれています。

  • tar file
  • install.sh script
  • README

MathKeisanをインストールするためには、インストール用のスクリプトinstall.shを使用します。このinstall.shスクリプトで実行されるステップは次の通りです。

    1. MathKeisanをインストールするディレクトリを指定します。

                        SUPER/UX機は$INSTALLD=/usr/opt/mathkeisan/.

                        クロスコンパイラ機は$INSTALLD=/SX/opt/mathkeisan

    1. installディレクトリにあるtarファイルを抽出 します。MathKeisanの全サブルーチンは$INSTALLD/MK1_5_0のデレクトリィに格納されています。
    1. もしwrite権利を所有されている場合、表8および表9のシンボリックリンクが生成されます。上書きされたファイルはバックアップされます。
    1. アンインストール用のスクリプトおよびインストールlogを生成します。

表8: SUPER/UX上のシンボリックリンク

inst link

$INSTALLD/inst

->

$INSTALLD/MK1_5_0

lib links

/usr/lib0/libblas.a

->

$INSTALLD/inst/lib0/libblas.a

 

/usr/lib0/liblapack.a

->

$INSTALLD/inst/lib0/liblapack.a

 

:

:

 

/usr/lib0/lib64/libblas.a

->

$INSTALLD/inst/lib0/lib64/libblas.a

 

/usr/lib0/lib64/liblapack.a

->

$INSTALLD/inst/lib0/lib64/liblapack.a

 

:

:

include link

/usr/include/cblas.h

->

$INSTALLD/inst/include/cblas.h

man page link

/usr/share/man/C/mathkeisan

->

$INSTALLD/inst/man/C

表9: クロスコンパイラ機上のシンボリックリンク

inst link

$INSTALLD/inst

->

$INSTALLD/MK1_5_0

lib links

/SX/usr/lib0/libblas.a

->

$INSTALLD/inst/lib0/libblas.a

 

/SX/usr/lib0/liblapack.a

->

$INSTALLD/inst/lib0/liblapack.a

 

:

:

 

/SX/usr/lib0/lib64/libblas.a

->

$INSTALLD/inst/lib0/lib64/libblas.a

 

/SX/usr/lib0/lib64/liblapack.a

->

$INSTALLD/inst/lib0/lib64/liblapack.a

 

:

:

include link

/SX/usr/include/cblas.h

->

$INSTALLD/inst/include/cblas.h

man page link

SUPER-UX以外の機種にはman pageのリンクはありません。man pageへアクセスするための環境変数$MANPATHの設定方法の説明が用意されています。

下記はSUPER-UX機上でのinstall.sh実行結果です。各質問に対し”enter”キーを押せば、既定値が選択されます。

____________________________________________________________
Do you want to install MathKeisan MK1_5_0
(default y: y,n ? ) 
____________________________________________________________
This install script will do the following:
1. Prompt for a directory in which to install MathKeisan
2. Install all of MathKeisan in this directory by untaring the
   file MK1_5_0.tar
3. Set up symbolic links for inst, libraries, include files,
   and man pages if you have the write permission on the
   required directories
< Press RETURN to continue >
____________________________________________________________
Where should this package <mk1_5_0> be installed ?
(default: /usr/opt/mathkeisan ) 
____________________________________________________________
Please only continue if you have the required space
     198174720 bytes     in directory     /usr/opt/mathkeisan
Do you want to continue
(default y: y,n ? ) 
Please wait while MK1_5_0.tar is untared
Tar: blocksize = 20
____________________________________________________________
do you want to create link 
     inst->MK1_5_0     in directory     /usr/opt/mathkeisan
(default y: y,n ? ) 
____________________________________________________________
do you want to create MAN page link
     /usr/share/man/C/mathkeisan->/usr/opt/mathkeisan/inst/man/C
(default y: y,n ? ) 
____________________________________________________________
do you want to create include file link
     /usr/include/cblas.h->/usr/opt/mathkeisan/inst/include/cblas.h
(default y: y,n ? ) 
____________________________________________________________
do you want to create symbolic links like
/usr/lib0/libblas.a->/usr/opt/mathkeisan/inst/lib0/libblas.a
/usr/lib0/lib64/libblas.a->/usr/opt/mathkeisan/inst/lib0/lib64/libblas.a
for MathKeisan libraries in directories
     /usr/opt/mathkeisan/inst/lib0
     /usr/opt/mathkeisan/inst/lib0/lib64
(default y: y,n ? ) 
#--------------------------------------#
|          Install is complete         |
#--------------------------------------#
 1. A log file for this install is in
      /usr/opt/mathkeisan/MK1_5_0/doc/install.log
    please e-mail a copy of this file to technical@atcc.necsyl.com.
    It will be used to debug any future problems.
 2. An uninstall script is in
      /usr/opt/mathkeisan/MK1_5_0/uninstall/uninstall.sh
    Do not run this script unless you want to uninstall MathKeisan
製品概要

MathKeisan のそれぞれのライブラリの製品説明を以下に示します。

BLAS

BLASは、ベクトルと行列の基本演算を行うFORTRANサブルーチン群です。ベクトル−ベクトル演算(レベル1)、行列−ベクトル演算(レベル2)、行列−行列演算(レベル3)を行う3種のルーチン群から構成されています。

このMathKeisanに含まれているBLAS(以下、NECBLASと呼ぶ)は、Dr. J.J.Dongarra(Argonne National Laboratory), Dr. Du Croz(Numerical Algorithms Group Ltd.), I. S. Duff (AERE Harwell), S. Hammarling (Numerical Algorithms Group Ltd.), R. J. Hanson (Sandia National Labs) によって開発されたオリジナルのBLASをベースにしています。特に使用頻度の高いルーチン群については、アセンブラ言語での書き換えを行い、非常に高い性能を実現しています。

PARBLAS

PARBLASは共有メモリ用の並列版BLASで、レベル2、レベル3のサブルーチン群です。 これらのサブルーチンは、シリアル版BLASと同じインターフェースです。並列実行されるスレッドの数は、環境変数OMP_NUM_THREADSによって設定されます。nをスレッド数とした場合、Cシェル及びBシェルでは以下のように設定します。(スレッド数設定の詳細については「FORTRAN90/SX並列処理機能利用の手引き」をご参照下さい。)

Cシェルの場合'setenv OMP_NUM_THREADS n' 
 Bシェルの場合'export OMP_NUM_THREADS; OMP_NUM_THREADS=n'
このMathKeisanに含まれている並列版BLAS(以下、NEC版並列BLASと呼ぶ)は、Dr. J.J. Dongarra (Argonne National Laboratory), Dr. Du Croz (Numerical Algorithms Group Ltd.), I. S. Duff (AERE Harwell), S. Hammarling (Numerical Algorithms Group Ltd.), R. J. Hanson (Sandia National Labs) によって開発されたオリジナルのBLASをベースにしています。

CBLAS

CBLASは、FORTRAN BLASへのC 言語インタフェースです。BLASはベクトル−ベクトル演算(レベル1)、行列−ベクトル演算(レベル2)、行列−行列演算(レベル3)を行うサブルーチン群です。

CBLASは、K. Teranishi(University of Tennessee)BLAS Technical Forumのリファレンス版として開発し、J. Horner(University of Tennessee)が改版、詳細についてR.Whaley(University of Tennessee)が作成したものをベースにしています。

SBLAS

SBLASは、Sparse BLASの演算を行うサブルーチン群です。Sparse BLASはD.S.Dodson(Convex), R.G.Grimes, J.G.Lewis(Boeing)によって開発されたACM Algorithm 692をベースにしています。

LAPACK

LAPACKは、各種の連立一次方程式や行列の固有値と固有ベクトルを計算するFORTRANサブルーチン群です。機能的にはLINPACK及びEISPACKの機能を包含する数値計算パッケージです。この2つのパッケージに対して、計算アルゴリズムがいくつか改良されており、より高精度な計算が可能となっています。LAPACKでは、可能な限りBLAS(通常レベル2とレベル3)callします。

MathKeisanに含まれているLAPACK(以下、NECLAPACKと呼ぶ) は、E. Anderson (University of Tennessee, Knoxville), Z. Bai (University of Kentucky and University of California, Davis), C. Bischof (Institute for Scientific Computing, Technical University Aachen, Germany), S. Blackford (University of Tennessee, Knoxville), J. Demmel (University of California, Berkeley), J. Dongarra (University of Tennessee, Knoxville, and Oak Ridge National Lab.), J. Du Croz (Numerical Algorithms Group Ltd.), A. Greenbaum (University of Washington), S. Hammarling (Numerical Algorithms Group Ltd.), A. McKenney, D. Sorensen (Rice University) などで構成されたLAPACKプロジェクトチームによって開発された、オリジナルのLAPACK version 3.0をベースにしています。

BLACS

BLACS (Basic Linear Algebra Communication Subprograms)は、線形代数のために開発されたメッセージパッシングライブラリです。計算モデルは1次元、あるいは2次元のプロセスグリッドを想定しており、各プロセスは行列とベクトルの一部を保持します。BLACSは、1つのプロセスから他のプロセスへ、行列や部分行列の通信をするための同期送信および受信、部分行列のブロードキャスト、あるいはグローバルデータのリダクション操作(和、最大値、最小値)を含んでいます。また、プロセスグリッドの生成、変更、問い合わせを行うルーチンも提供しています。 ScaLAPACKのアルゴリズムには、プロセスグループの、異なるサブセット内でのブロードキャスト、あるいはリダクションを要求するものがあるため、BLACSでは、1つのプロセスがいくつかの重複した、あるいは排反するプロセスグループに属することを許しています。各プロセスは、コンテキストによりラベル付けされています。 これは、MPIではコミニュケータと呼ばれています。BLACSは、システムコンテキストと、BLACSのコンテキストが混同しないような仕組みになっています。

このMathKeisanに含まれているBLACS(以下、NECBLACSと呼ぶ) J.J. Dongarra, and R.C. Whaley (University of Tennessee, Knoxville) によって開発されたオリジナルのBLACS version 1.1 (mpiblacs-patch03)をベースとしています。

ScaLAPACK

ScaLAPACKは、PVMMPIをサポートしている分散メモリ型のMIMDコンピュータや、ワークステーションクラスタ向けに開発された、各種連立一次方程式を計算する高性能なルーチン群です。 ScaLAPACKは、線形方程式、線形最小二乗問題、固有値問題、特異値問題を解くことができます。また、行列の分解や条件数の計算もすることが出来ます。密行列や帯行列に対するルーチン群は提供されていますが、疎行列に対しては提供されていません。同様な機能が実行列、複素行列に対して提供されています。ScaLAPACKという名前は、Scalable Linear Algebla PACKage、または、Scalable LAPACKの頭文字をとって付けられたものです。

LAPACKと同様に、ScaLAPACKでは、メモリ階層間のデータの移動頻度を最小限にするためブロックアルゴリズムを採用しています。ScaLAPACKは、PBLASと呼ばれる分散メモリ版のレベル123 BLASを基礎としています。更に、PBLASはシングルノード上の計算にはBLASを、各ノード間の通信にはBasic Linear Algebra Communication Subprograms (BLACS)を採用し、その上に構築されています。

このMathKeisanに含まれているScaLAPACK(以下、NECScaLAPACK)は、L. S. Blackford (University of Tennessee, Knoxville), J. Choi (Soongsil University, Korea), A. Cleary (Lawrence Livermore National Laboratory), E. D'Azevedo (Oak Ridge National Laboratory), J. Demmel (University of California, Berkeley), I. Dhillon (University of California, Berkeley), J. Dongarra (University of Tennessee, Knoxville, and Oak Ridge National Lab.), S. Hammarling (Numerical Algorithms Group Ltd.), G. Henry (Intel Corporation), A. Petitet (University of Tennessee, Knoxville), K. Stanley (University of California, Berkeley), D. Walker (University of Wales, Cardiff), R. C. Whaley (University of Tennessee, Knoxville) によって開発された、オリジナルのversion 1.7 + errataをベースにしています。

FFT

このMathKeisanに含まれているFFTは、HPVECLIBライブラリや、CRAYLIBSC 3.1とインタフェース、機能が同じです。MathKeisan には、1次元、2次元、3次元のComplex-Complex FFTReal-Complex FFTComplex-Real FFTがあります。

このFFTライブラリは、NECで開発されたものです。

PARFFT

PARFFTは、上記FFTと同様の機能を持つOpenMP並列版のFFTです。並列実行されるスレッドの数は、環境変数OMP_NUM_THREADSによって設定されます。nをスレッド数とした場合、Cシェル及びBシェルでは以下のように設定します。(スレッド数設定の詳細については「FORTRAN90/SX並列処理機能利用の手引き」をご参照下さい。)

Cシェルの場合'setenv OMP_NUM_THREADS n'
Bシェルの場合'export OMP_NUM_THREADS; OMP_NUM_THREADS=n'

ARPACK

ARPACKは、大規模固有値問題のために開発されたFORTRANサブルーチン群です。 ARPACKは、ARnoldi PACKage から名付けられています。ARPACKは大規模対称(Hermitian)行列、非対称(non-Hermitian)行列、一般行列、重要な応用分野の一般的な固有値問題などを解くことができます。

ARPACKは、多くのLAPACKBLASのサブルーチンに依存しています。ARPACKの性能は、行列のサイズが大きくなるに従い、レベル2 BLASGEMVの性能に限りなく近づいていきます。

このMathKeisanに含まれているARPACK(以下、NECARPACK)は、Rich Lehoucq, Kristi Maschhoff, Danny Sorensen and Chao Yang (Rice University) によって開発されたオリジナルをベースとしています。

METIS

METISは行列やグラフを分割したりオーダリングしたりするためのライブラリです。 METISは、上記SOLVERにおいて、行列分解処理でのfill-inを少なくするために行列のオーダリングのために使用されています。

オリジナルのMETISは、George KarypisVipin KumarによってUniversity of Minnesota Army HPC research centerで開発されたものです。

----------------------------------------------------------------
"This software package includes/uses METIS, developed by George
   Karypis and Vipin Kumar at the University of Minnesota.
   Additional information about METIS can be found at
   http://www.cs.umn.edu/‾karypis/metis
METIS is Copyright 1997 Regents of the University of Minnesota.
   Twin Cities. All Rights Reserved.
----------------------------------------------------------------

ParMETIS

ParMETISは、グラフ分割や疎行列のオーダリングのための様々なアルゴリズムを持つMPIベースの並列ライブラリです。MathKeisanに含まれるParMETISは、George Karypis、Vipin Kumarによって、University of Minnesota、Army HPC research center で開発されたversion 2.0をベースとしています。

SOLVER

SOLVERは、対称疎行列の線形問題を解くサブルーチン群です。SOLVERは、left-lookingアルゴリズムを使用して、疎行列AをLDLTに分解します。ここで、Lは、対角の値が1の下三角行列で、Dが対角行列です。行列のSupernode構の利点を生かしています。現バージョンでは行列の並べ変えにはMETISライブラリを用いています。また、行列分解処理では、シリアル版と並列版の2つが用意されています。並列実行されるスレッドの数は、環境変数OMP_NUM_THREADSによって設定されます。nをスレッド数とした場合、Cシェル及びBシェルでは以下のように設定します。 (スレッド数設定の詳細については「FORTRAN90/SX並列処理機能利用の手引き」をご参照下さい。)

Cシェルの場合'setenv OMP_NUM_THREADS n'
Bシェルの場合'export OMP_NUM_THREADS; OMP_NUM_THREADS=n'

SOLVERは、NECで開発されたものです。

その他のサブルーチン

mkversionは、MathKeisanのバージョン情報を出力するサブルーチンで、libblas.aibblas64.aに含まれています。Fortranからは"call mkversion()"Cからは"mkversion_()"で呼び出します。どちらの場合も、libblas.aをリンクして下さい。詳細はmkversionman pageをご参照下さい。

< mkversion 出力結果(MathKeisan 1.5.0の場合)
 BLAS      - legacy blas
 LAPACK    - version 3.0 + UPDATES
 ScaLAPACK - version 1.7 + errata
 BLACS     - version 1.1 + patch 03
 METIS     - version 4.0
 PARMETIS  - version 2.0
Contact

MathKeisanに対するご意見、ご質問は、MathKeisan開発者向けに、下記アドレスにemailをお送りください。