lapack のインストール(ソースコードを用いたインストール)(MSYS2 を利用)(Windows 上)
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 を使用)
- lapack のウェブページを開く
- このウェブページで最新情報を確認
- Windows のコマンドプロンプトを実行する.
- LAPACK のソースコードのダウンロード
cd /d c:%HOMEPATH% rmdir /s /q lapack-release git clone https://github.com/Reference-LAPACK/lapack-release.git
- gcc, gfortran のフルパスの確認
where gcc where gfortran
- 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"
- cmake の実行結果の確認
エラーメッセージが出なければ OK.
- ビルド
Windows の MSYS2 を使うときは、 次のように make を使う。
make -j4 all
- ビルド終了の確認
エラーメッセージが出なければ OK.
- インストール
「make install」でインストール.
make install
- インストール終了の確認
エラーメッセージが出なければ OK.
LAPACK のプログラムをコンパイルし,実行する
eig_lapack.c を使用
- Windows で,コマンドプロンプトを実行
- プログラムの準備
eig_lapack.c を使用
- ビルドして実行
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のソースコードからのインストールとテスト実行の手順を示した.