2. インストール方法¶
2.1. ダウンロード¶
TeNeS のソースコードは GitHub page からダウンロードできます。gitがインストールされている環境で、以下のコマンドを打つとダウンロードが開始されます。
$ git clone https://github.com/issp-center-dev/TeNeS
2.2. 必要なライブラリ・環境¶
TeNeSをコンパイルするには以下のライブラリ・環境が必要です。
C++11 compiler
CMake (>=3.6.0)
BLAS, LAPACK
TeNeSは以下のライブラリに依存していますが、自動でダウンロードおよびビルドがされます。
MPI および ScaLAPACK を利用することでテンソル演算を並列化できます。 MPI, ScaLAPACKについては自身でインストールする必要があります。 たとえば Debian GNU/Linux (やその派生ディストリビューション)をお使いで、root 権限をお持ちの場合は、
sudo apt install openmpi-bin libopenmpi-dev libscalapack-mpi-dev
でインストールすることが可能です。それ以外の方は、Open MPI などのMPI実装ならびに ScaLAPACKのホームページを参照の上、インストールをしてください。
入力ファイル作成ツールの使用には Python (>= 3.0.0) および 以下の Python パッケージが必要です。
numpy
scipy
toml
2.3. インストール¶
1. TeNeS のディレクトリに移動したのち、以下の手順に従ってビルドを行います
( CentOS など、環境によっては cmake3
とする必要があります)。
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=<path to install to> ../
$ make
<path to install to>
のデフォルト値は /usr/local
です。
並列ビルド
make
コマンドに -j <num>
オプションを追加し、 <num>
個のプロセスを用いた並列ビルドを行うと、 TeNeS を高速にビルド可能です。
なお、上記のコマンドで build/src
ディレクトリに実行ファイル tenes
が作成されます。
$ make test
と打つとテストを実行することができます。
次にインストールします。
$ make install
実行ファイル tenes
, tenes_std
, tenes_simple
が <path to install to>/bin
にインストールされます。
MPI/ScaLAPACK 並列化の無効化
MPI および ScaLAPACK を利用しない場合には、 -DENABLE_MPI=OFF
オプションを cmake
コマンドに追加してください。
macOS では ScaLAPACK の一部関数とシステムのBLAS, LAPACK とで相性が悪く、エラー終了するのを確認しています。
MPI 並列の無効化を推奨しています。
コンパイラの指定
CMake では自動でコンパイラを検出してビルドを行います。コンパイラを指定したい場合には, 以下のようにオプションを追加してください。
$ cmake -DCMAKE_CXX_COMPILER=<path to your compiler> ../
ScaLAPACK ライブラリの指定
CMake では自動で ScaLAPACK ライブラリを検出しますが、見つけられなかった場合などに、
<path>/lib/libscalapack.so
を利用したい場合には以下のようにオプションを追加してください。
$ cmake -DSCALAPACK_ROOT=<path> ../
mptensor の指定
TeNeS は並列テンソル演算ライブラリ mptensor を利用しています。
CMake は自動で mptensor をダウンロード・ビルドしますが、
ユーザーが事前にインストールした mptensor (<path>/lib/mptensor.a
)を使用したい場合には、以下のようにオプションを追加してください。
$ cmake -DMPTENSOR_ROOT=<path> ../
Python インタープリタの指定
TeNeS ツールは Python3 で書かれており、 パスの通った python3
コマンドを自動的に起動します。
ツールの実行がうまく行かない場合には、 type python3
などを利用して、 python3
コマンドにパスが通っているかどうか確認してください。
使うインタープリタを固定したい場合(あるいは /usr/bin/env
コマンドが実行できずにエラーが出る場合)には、 以下のようにCMake オプションを追加してください。
$ cmake -DTENES_PYTHON_EXECUTABLE=<path to your interpreter> ../