.. _opal-install-guide: ======================= OPAL のインストール手順 ======================= 1. OPALとは ============== * OPAL(Object Oriented Parallel Accelerator Library)は、粒子加速器のビームダイナミクスシミュレーションコード. * C++/MPI ベースのシミュレーションコード * 大規模な並列計算に対応 * 電磁場・粒子群の時間発展などを高精度に計算可能 * 基本はParticle-In-Cell. | 2. OPAL のインストールの流れ =============================== 2.1 OPAL コードの入手 ---------------------- * 公式 GitHub などから OPAL を取得: .. code-block:: bash git clone https://gitlab.psi.ch/OPAL/src.git opal ( or download from website.) | 2.2 HDF5 の入手・コンパイル ---------------------------- * OPAL では HDF5 ライブラリが必要. - 通常、apt install libhdf5-dev で十分だが、OPAL、H5hutを Intel OneAPIコンパイラで使用するには、コンパイルが必要 .. code-block:: bash export ${VERSION}="1.14.6" wget https://support.hdfgroup.org/releases/hdf5/v1_14/v1_14_6/downloads/hdf5-${VERSION}.html tar xzf hdf5-${VERSION}.tar.gz cd hdf5-${VERSION} ./configure --prefix=/opt/hdf5/hdf5-${VERSION}_oneAPI --enable-shared --enable-fortran --enable-cxx --enable-parallel --enable-unsupported CC=mpiicx FC=mpiifx CXX=mpiicpx make -j4 sudo su source (PATH_TO_INTEL_COMPILER)/setvars.sh make install * 並列数(-j4)はお好み. * sudo su して、make install ( 最後リンク)をする. | 2.3 H5hut の入手・コンパイル ----------------------------- H5hut は HDF5 ベースの高性能 I/O ライブラリで,OPAL の依存ライブラリです. .. code-block:: bash git clone https://gitlab.psi.ch/OPAL/h5hut.git cd h5hut mkdir build && cd build CC=mpiicx CXX=mpiicpx cmake .. -DCMAKE_INSTALL_PREFIX=/opt/h5hut -DHDF5_ROOT=/opt/hdf5/hdf5-${VERSION}_oneAPI make -j8 sudo make install | 2.4 OPAL のコンパイル ---------------------- .. code-block:: bash cmake .. -DCMAKE_C_COMPILER=mpiicx \ -DCMAKE_CXX_COMPILER=mpiicpx \ -DMPI_C_COMPILER=mpiicx \ -DMPI_CXX_COMPILER=mpiicpx \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS="-L$(dirname $(which mpiicpx))/../lib -lmpi -lmpi_cxx -Wno-error -Wno-deprecated-declarations" \ -DCMAKE_C_FLAGS="-Wno-error-Wno-dprecated-delcarations" \ -DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/hdf5/openmpi;/usr/local" \ -DCMAKE_EXE_LINKER_FLAGS="-lmpi -lmpi_cxx -Wl,-rpath,/usr/lib/x86_64-linux-gnu/hdf5/openmpi;/usr/local" \ -DCMAKE_CXX_STANDARD=17 | 3. 注意点 ========= * CMakeList.txt内で、Werrorフラッグを無視 - warningをエラー扱いするとコンパイルができないため. - # add_compile_options( -Werror ) とコメントアウト. * HDF5, H5hut, OPALをすべて同じコンパイラ( **Intel oneAPI コンパイラ** )でビルドする必要あり .. note:: GCC と Intel コンパイラを混在させると,`undefined reference` や `DSO missing from command line` エラーが発生した. | 4. 上記でコンパイルは一応できた.