lapack のインストール(ソースコードを用いたインストール)(MSYS2 を利用)(Windows 上)

WindowsにおいてLAPACK(線形代数パッケージ)をソースコードからインストールする手順を説明している.主な手順として,GitHub上のLAPACKリポジトリからソースコードのクローン,gcc及びgfortranの確認,cmakeを使用したビルド設定,MSYS2を利用したビルドとインストールがあるる.また,OpenBLASとの連携や,インストール後のLAPACKプログラムのコンパイルと実行方法も示している.インストールの各ステップでは,具体的なコマンドラインの操作が示し,エラーチェックの重要性にも触れている.

LAPACK は,行列に関する種々の問題(連立1次方程式,固有値問題,などなど多数)を解く機能を持つソフトウェア.BLAS の機能を使う.

サイト内の関連ページ

前準備

Gitのインストール

以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --accept-source-agreements --accept-package-agreements
REM Git のパス設定
set "GIT_PATH=C:\Program Files\Git\cmd"
for /f "skip=2 tokens=2*" %a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set "SYSTEM_PATH=%b"
if exist "%GIT_PATH%" (
    echo "%SYSTEM_PATH%" | find /i "%GIT_PATH%" >nul
    if errorlevel 1 setx PATH "%GIT_PATH%;%SYSTEM_PATH%" /M >nul
)

CMakeのインストール

以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

REM CMake をシステム領域にインストール
winget install --scope machine --id machine Kitware.CMake -e --silent
REM CMakeのパス設定
set "CMAKE_PATH=C:\Program Files\CMake\bin"
for /f "skip=2 tokens=2*" %a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set "SYSTEM_PATH=%b"
if exist "%CMAKE_PATH%" (
    echo "%SYSTEM_PATH%" | find /i "%CMAKE_PATH%" >nul
    if errorlevel 1 setx PATH "%CMAKE_PATH%;%SYSTEM_PATH%" /M >nul
)

MSYS2 の C/C++/Fortran

Windows でのMSYS2 の MINGW64 環境のインストールと,LLVM(Clang, Flang, LLD, LLDB)のインストールと,GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ninja, ccache, svn 等) のインストール(MSYS2 を利用 ): 別ページ »で説明

OpenBLAS のインストール

Windows でのインストール手順は、 「OpenBLAS (BLAS, CBLAS, LAPACK, LAPACKE)のインストール(ソースコードを使用)(MSYS2 ,make を利用 )(Windows 上)」で説明している.

Windows で lapack のインストール(ソースコードを使用) (MSYS2 を使用)

  1. lapack のウェブページを開く

    https://github.com/Reference-LAPACK/lapack-release

  2. このウェブページで最新情報を確認
  3. Windowsコマンドプロンプトを実行する.
  4. LAPACK のソースコードのダウンロード
    cd /d c:%HOMEPATH%
    rmdir /s /q lapack-release
    git clone https://github.com/Reference-LAPACK/lapack-release.git
    
  5. gcc, gfortran のフルパスの確認
    where gcc
    where gfortran
    
  6. cmake の実行

    次のコマンドを実行.

    cd /d c:%HOMEPATH%
    cd lapack-release
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    rmdir /s /q CMakeFiles
    cmake .. -G "MSYS Makefiles" ^
        -DCMAKE_C_COMPILER="C:/msys64/mingw64/bin/gcc.exe" ^
        -DCMAKE_Fortran_COMPILER="C:/msys64/mingw64/bin/gfortran.exe" ^
        -DUSE_OPTIMIZED_BLAS=ON ^
        -DBLAS_LIBRARIES=C:/OpenBLAS/lib/libopenblas.a ^
        -DCMAKE_BUILD_TYPE=Release ^
        -DCMAKE_INSTALL_PREFIX="C:/lapack-release" 
    
  7. cmake の実行結果の確認

    エラーメッセージが出なければ OK.

  8. ビルド

    WindowsMSYS2 を使うときは、 次のように make を使う

    make -j4 all
    
  9. ビルド終了の確認

    エラーメッセージが出なければ OK.

  10. インストール

    「make install」でインストール.

    make install
    
  11. インストール終了の確認

    エラーメッセージが出なければ OK.

LAPACK のプログラムをコンパイルし,実行する

eig_lapack.c を使用

  1. Windows で,コマンドプロンプトを実行
  2. プログラムの準備

    eig_lapack.c を使用

  3. ビルドして実行
    del a.exe
    gcc -o a.exe eig_lapack.c C:\lapack-release\lib\liblapack.a C:\OpenBLAS\lib\libopenblas.a -lgfortran
    .\a.exe
    

【まとめ】WindowsでのLAPACKのソースコードからのインストールとテスト実行の手順を示した.