PackageManager_JP - CCSEPBVR/CS-IS-PBVR GitHub Wiki

パッケージマネージャー

はじめに

CS-PBVRはパッケージマネージャーのapt/yumとHomebrewとSpackに対応している。
apt/yumとHomebrewとSpackでのCS-PBVRのインストール方法を説明する。

apt/yumを使ったインストール(CS-PBVR)

Linuxで使用することができるパッケージ管理システムapt/yumを使ってCS-PBVRをインストールできる。
aptはDebian・Ubuntuなどで使用することができる。
yum(dnf)はRed Hat Enterprise Linux・CentOSなどで使用することができる。
パッケージはglibc 2.28で作成している。glibc 2.28よりも古いバージョンでは実行することができない。
以下のコマンドでglibcのバージョンを確認することができる。

ldd --version

aptのパッケージを作成したOSはUbuntu 18.10。
yumのパッケージを作成したOSはCentOS 8.5。
それぞれのパッケージを作成したアーキテクチャはx86_64(amd64)。

aptでのインストール・アンインストール方法

/etc/apt/sources.list.d/pbvr.listを新規作成し、以下の文字列を貼り付けて保存し、レポジトリを追加する。

deb [arch=amd64 trusted=yes] https://ccsepbvr.github.io/apt-yum-pbvr/apt stable main

以下のコマンドでパッケージリストを更新する

sudo apt update # パッケージリストを更新

以下のコマンドでインストールする。

sudo apt install -y pbvr

以下のコマンドでアンインストールする

sudo apt purge pbvr
sudo apt autoremove # 依存パッケージを含む

以下のコマンドで追加したレポジトリを削除する

sudo rm /etc/apt/sources.list.d/pbvr.list
sudo apt update

yum(dnf)でのインストール・アンインストール方法

/etc/yum.repos.d/pbvr.repoを新規作成し、以下の文字列を貼り付けて保存する。

[pbvr-repo]
name=pbvr
baseurl=https://ccsepbvr.github.io/apt-yum-pbvr/yum
enabled=1
gpgcheck=0

以下のコマンドでパッケージリストを更新する

sudo dnf makecache

以下のどちらかのコマンドでインストールする。

sudo yum install -y pbvr
sudo dnf install -y pbvr

以下のコマンドでアンインストールする

sudo dnf remove pbvr
sudo dnf autoremove # 依存パッケージを含む

以下のコマンドで追加したレポジトリを削除する

sudo rm /etc/yum.repos.d/pbvr.repo
sudo dnf clean all
sudo dnf makecache

実行方法

以下のコマンドが実行できるようになる。
サーバ・クライアント・フィルタプログラムの使い方はこちら
KVSMLコンバータの使い方はこちら
サンプルデータはこちら

pbvr_server # サーバプログラム
pbvr_client # クライアントプログラム
pbvr_filter # フィルタプログラム
kvsml-converter # KVSMLコンバータ

Homebrewを使ったインストール(CS-PBVR)

macOS・Linuxで使用することができるパッケージ管理ツールHomebrewを使ってCS-PBVRをインストールできる。
HomebrewのTapという機能を使用しパッケージを作成しており、公式のパッケージではない。
Homebrewには要件が設定されている。
また、Support Tiersが設定されておりTier1をサポートしている。

インストール方法

以下のコマンドを実行してインストールする。通常版・データ形式拡張版どちらかを選択してインストールする。
データ形式拡張版ではフィルタプログラム・KVSMLコンバータを使用せずにサンプルデータを可視化することができる。
大規模データを扱う場合は、フィルタプログラム・KVSMLコンバータを使用し、KVSML形式に変換して可視化することを推奨する。

brew tap ccsepbvr/pbvr
brew install pbvr # 通常版
brew install pbvr-extended-fileformat #データ形式拡張版

実行方法

以下のコマンドが実行できるようになる。
サーバ・クライアント・フィルタプログラムの使い方はこちら
KVSMLコンバータの使い方はこちら
サンプルデータはこちら

pbvr_server # サーバプログラム
pbvr_client # クライアントプログラム
pbvr_filter # フィルタプログラム
kvsml-converter # KVSMLコンバータ

Spackを使ったインストール(CS-PBVR)

HPC環境で使用することができるパッケージ管理ツールSpackを使ってCS-PBVRをインストールすることができる。
Spackにはレポジトリを追加する機能があり、オリジナルのレポジトリを追加することでCS-PBVRをインストールできるようになる。

公式のSpackと富士通コンパイラ対応のSpackについて

Spackには公式のSpackと富岳などで使用するための富士通コンパイラに対応したSpackが存在する。
富士通コンパイラに対応したSpackは理化学研究所が公式のSpackをフォークして開発している。
公式のSpackのgithubのレポジトリはこちら
富士通コンパイラに対応したSpackのgithubのレポジトリはこちら
追加するオリジナルのレポジトリは公式のSpackと富士通コンパイラに対応したSpackで異なる。
公式のSpackに追加するオリジナルのレポジトリはこちら
富士通コンパイラに対応したSpackに追加するオリジナルのレポジトリはこちら

動作を確認したコンパイラ

以下のコンパイラでインストールできることを確認している

動作を確認したスパコン

以下のスパコンでインストールできることを確認している

  • SGI8600(JAEA, 公式のSpack)
  • Wisteria(東大, 富士通コンパイラに対応したSpack)
  • Miyabi(東大, 公式のSpack)
  • 富岳(理研, 富士通コンパイラに対応したSpack)

インストール方法

公式のSpackでインストールする方法は以下の通り

git clone https://github.com/CCSEPBVR/spack-pbvr.git # レポジトリのクローン
spack repo add /path/to/spack-pbvr # Spackにレポジトリを追加
spack install pbvr %[email protected] # コンパイラ[email protected]を使ってインストール

富士通コンパイラに対応したSpackでインストールする方法は以下の通り

git clone https://github.com/CCSEPBVR/spack-pbvr-fujitsu.git # レポジトリのクローン
spack repo add /path/to/spack-pbvr-fujitsu # Spackにレポジトリを追加
spack install pbvr %[email protected] # コンパイラ[email protected]を使ってインストール
spack install pbvr %[email protected] # コンパイラ[email protected]を使ってインストール 

インストールオプション

インストール時にオプションを設定することができる。
すべてのオプションがデフォルトでONになっている。
富士通コンパイラ([email protected])は現在client, extended_fileformatに対応していない。

  • client:クライアントをビルドする
  • mpi:MPI並列化を有効にする
  • extended_fileformat:データ形式拡張(VTK)を有効にする

オプションの設定方法のサンプルは以下の通り。

spack install pbvr +client +mpi +extended_fileformat %[email protected] # すべて有効(デフォルト)
spack install pbvr ~client ~mpi ~extended_fileformat %[email protected] # すべて無効

データ形式拡張(VTK)を有効にすると、フィルタプログラム・KVSMLコンバータを使用せずにサンプルデータを可視化することができる。
大規模データを扱う場合は、フィルタプログラム・KVSMLコンバータを使用し、KVSML形式に変換して可視化することを推奨する。

実行方法

以下のコマンドが実行できるようになる。
サーバ・クライアント・フィルタプログラムの使い方はこちら
KVSMLコンバータの使い方はこちら
サンプルデータはこちら

pbvr_server # サーバプログラム
pbvr_client # クライアントプログラム
pbvr_filter # フィルタプログラム
kvsml-converter # KVSMLコンバータ
⚠️ **GitHub.com Fallback** ⚠️