金子邦彦研究室インストールWindows の種々のソフトウェア(インストール)lapack 最新版のインストール(ソースコードを使用)(Windows 上)

lapack 最新版のインストール(ソースコードを使用)(Windows 上)

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

LAPACK のインストールは,複数の方法がある.

以下,Windows で,lapack をソースコードからビルドして,インストールする手順をスクリーンショット等で説明する.ビルドには マイクロソフト C++ ビルドツールを使用.

目次

サイト内の関連ページ

下に書いているように,vcpkg を利用してインストールすることができる. 特に問題がない場合には vcpkg の利用してのインストールを検討しよう. vcpkg使わずにインストールする必要がある場合は,このページの手順によりインストールを行うことができる.

lapack のインストール(vcpkg を利用)(Windows 上)

  1. Git のインストール

    Windows での Git のインストール: 別ページ »で説明している.

  2. Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のインストール

    Windows での Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022) のインストール: 別ページ »で説明している.

  3. vckpg のインストール

    Windows で,コマンドプロンプト管理者として実行.

    次のコマンドを実行

    if not exist c:\vcpkg (
      cd c:\
      rmdir /s /q vcpkg
      git clone https://github.com/microsoft/vcpkg
      cd c:\vcpkg
      git pull
      .\bootstrap-vcpkg.bat
      .\vcpkg update
      .\vcpkg integrate install  
      powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_ROOT\", \"c:\vcpkg\", \"Machine\")"
      powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_DEFAULT_TRIPLET\", \"x64-windows\", \"Machine\")"
      powershell -command "[System.Environment]::SetEnvironmentVariable(\"CMAKE_TOOLCHAIN_FILE\", \"c:/vcpkg/scripts/buildsystems/vcpkg.cmake\", \"Machine\")"
      powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")"
      powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"INCLUDE\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\include\"; [System.Environment]::SetEnvironmentVariable(\"INCLUDE\", $oldpath, \"Machine\")"
      powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
      powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    )
    
  4. lapack のインストール

    次のコマンドを実行

    c:\vcpkg\vcpkg search lapack
    c:\vcpkg\vcpkg install --triplet x64-windows blas lapack lapack-reference openblas[threads]
    
    

前準備

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022),Visual Studio 2022 のインストール(Windows 上)

サイト内の関連ページ

関連する外部ページ

Git のインストール(Windows 上)

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

CMake のインストール(Windows 上)

CMake はビルドツールである.

サイト内の関連ページ

Windows での cmake のインストール: 別ページ »で説明している.

関連する外部ページ

CMake の公式ダウンロードページ: https://cmake.org/download/

(オプション)数値演算ライブラリ等のインストール(vcpkg を使用)

必要な場合には,次のように操作する.

  1. 事前にvcpkg のインストールを行っておく.
  2. コマンドプロンプトを管理者として開き次のコマンドを実行する.
    c:\vcpkg\vcpkg --triplet x64-windows install blas openblas[threads] pthread
    
  3. Windowsシステム環境変数 Pathに,c:\vcpkg\installed\x64-windows\bin追加することにより,パスを通す

    Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"LAPACK_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
    

clang, flang, ninja のインストール

Windows でのインストール手順は、 「Windows で clang, flang, ninja のインストール」で説明している.

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

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

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

  2. このウェブページで最新情報を確認
  3. Visual Studio の x64 Native Tools コマンドプロンプトを開く.

    起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ.「x64」は,64ビット版の意味である.

    「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」がないとき:

    C++ ビルドツール (Build Tools) のインストールを行うことで, 「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」がインストールされる.その手順は,別ページ »で説明

  4. LAPACK のソースコードのダウンロード
    cd %HOMEPATH%
    rmdir /s /q lapack-release
    git clone --recursive https://github.com/Reference-LAPACK/lapack-release.git
    
  5. cmake の実行

    次のコマンドを実行.

    cd %HOMEPATH%
    cd lapack-release
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    cmake -G "Ninja" ^
        -DCMAKE_C_COMPILER=clang-cl ^
        -DCMAKE_Fortran_COMPILER=flang ^
        -DUSE_OPTIMIZED_BLAS=ON ^
        -DUSE_OPTIMIZED_LAPACK=ON ^
        -DCMAKE_INSTALL_PREFIX="c:\lapack-release"  ^
        -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake ^
        -DVCPKG_TARGET_TRIPLET=x64-windows ^
    ..
    
  6. cmake の実行結果の確認

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

  7. ビルドとインストール
    cmake --build. --config Release --target install 
    
  8. ビルドとインストール終了の確認

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

  9. コンパイルしてみる(動作確認はまだ)

    LAPACK を使うプログラム(ファイル名は,eig_lapack.c としている)を作る。

    次の操作でコンパイルする

    cl -o a.exe eig_lapack.c c:\lapack-release\lib\lapack.lib %OpenBLAS_ROOT%\lib\openblas.lib
    

    LAPACK を使うプログラムの実行結果例

    [image]