金子邦彦研究室インストールWindows の種々のソフトウェア(インストール)OpenBLAS (BLAS, CBLAS, LAPACK, LAPACKE)のインストール(ソースコードを用いたインストール)(Build Tools for Visual Studio を利用)(Windows 上)

OpenBLAS (BLAS, CBLAS, LAPACK, LAPACKE)のインストール(ソースコードを用いたインストール)(Build Tools for Visual Studio を利用)(Windows 上)

Windows で,OpenBLAS をソースコードからビルドしてインストールする. このとき, FORTRAN は使わないように設定してインストールする

目次

  1. 前準備
  2. OpenBLAS のインストール(Windows 上)
  3. BLAS のプログラムをコンパイルし,実行する
  4. LAPACK のプログラムをコンパイルし,実行する

OpenBLAS

OpenBLAS はオープンソースの BLAS(Basic Linear Algebra Subprograms)ライブラリである.行列演算や線形代数計算のための関数を提供する.

主な機能:行列乗算(DGEMM)などの関数,マルチスレッド対応,自動的にCPUを検出してコンパイル,

BLAS を用いたプログラムは, https://gist.github.com/xianyi/6930656 などで公開されている.

【BLAS の主な関数】

関連する外部ページ

関連項目BLAS, LAPACK

前準備

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

インストールの判断Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:

不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.

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

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

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

    次のコマンドを実行

    次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.BuildTools 
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Build Tools 2022 で「変更」を選ぶ.
      [image]
    3. C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.
      [image]

Visual Studio のインストール(Windows 上)

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

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

    次のコマンドを実行

    次のコマンドは,Visual Studio Community 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.Community
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Community 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.

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

Gitは,分散型のバージョン管理システム. CMakeは,クロスプラットフォームのビルドシステム生成ツール.

手順

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

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

    次のコマンドを実行

    次のコマンドは,GitCMakeをインストールし,Gitパスを通すものである.

    次のコマンドでインストールされるGitは 「git for Windows」と呼ばれるものであり, Git,MinGW などから構成されている.

    winget install --scope machine Git.Git
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    winget install --scope machine Kitware.CMake
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\CMake\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

関連する外部ページ

関連項目Git バージョン管理システム, Git の利用, CMake ビルドシステム生成ツール, CMake の使用方法

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

関連する外部ページhttps://github.com/xianyi/OpenBLAS/wiki/Installation-Guide

前もって,OpenBLAS をインストールするディレクトリを決めておく

このページでは,c:\OpenBLAS 下にインストールするものとして説明する.

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

    https://www.openblas.net/

  2. このウェブページで利用条件などを確認

    必ず、最新情報を確認すること

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

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

  4. ソースコードのダウンロード,cmake の実行

    https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide の記述を参考にした.

    cd c:\
    rmdir /s /q OpenBLAS
    git clone --recursive https://github.com/xianyi/OpenBLAS.git
    cd OpenBLAS
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    rmdir /s /q CMakeFiles\
    cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^
        -DNOFORTRAN=ON ^
        -DDYNAMIC_ARCH=OFF ^
        -DCMAKE_INSTALL_PREFIX="c:/OpenBLAS" ^
        -DCMAKE_BUILD_TYPE=Release
    
    [image]
  5. cmake の結果の確認

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

    [image]
  6. インストール

    終わるまでしばらく待つ

    cmake --build . --config RELEASE
    cmake --build . --config RELEASE --target INSTALL
    
  7. 結果の確認

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

    [image]
  8. C:\OpenBLAS の下にファイルができるので確認する
    dir C:\OpenBLAS
    dir C:\OpenBLAS\include
    dir C:\OpenBLAS\lib
    
    [image]
  9. Windowsシステム環境変数 Path に次の値を追加することにより,パスを通す
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\OpenBLAS\lib\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    
    [image]
  10. Windowsシステム環境変数 OpenBLAS, OpenBLAS_ROOTC:\OpenBLAS を設定

    これは OpenCV のビルドのときに利用される環境変数

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"OpenBLAS\", \"C:\OpenBLAS\", \"Machine\")"
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"OpenBLAS_ROOT\", \"C:\OpenBLAS\", \"Machine\")"
    
    [image]

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

https://gist.github.com/xianyi/6930656 に掲載の プログラムを利用

Build Tools for Visual Studio による動作確認

Windows での確認手順と結果は次の通り

  1. Visual Studio の x64 Native Tools コマンドプロンプトを起動.

    * その起動は,Windows のスタートメニューで「Visual Studio 2022」の下の「x64 Native Tools Command Prompt for VS 2022」で起動する.(あるいは類似のものを探す)

    [image]

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

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

  2. プログラムの準備

    https://gist.github.com/xianyi/6930656 に掲載の プログラムを利用. hoge.cのようなファイル名で保存.

  3. ビルドして実行
    cl /I"C:\OpenBLAS\include\openblas" hoge.c /link /LIBPATH:"C:\OpenBLAS\lib" openblas.lib
    .\hoge.exe
    
    [image]

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

eig_lapack.c を使用

Build Tools for Visual Studio による動作確認

Windows での確認手順と結果は次の通り

  1. Visual Studio の x64 Native Tools コマンドプロンプトを起動.

    * その起動は,Windows のスタートメニューで「Visual Studio 2022」の下の「x64 Native Tools Command Prompt for VS 2022」で起動する.(あるいは類似のものを探す)

    [image]

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

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

  2. プログラムの準備

    eig_lapack.c を使用

  3. ビルドして実行
    cl /I"C:\OpenBLAS\include\openblas" eig_lapack.c /link /LIBPATH:"C:\OpenBLAS\lib" openblas.lib
    .\eig_lapack.exe
    
    [image]