PageRenderTime 47ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/markdown_files/ja/docs/install/install_09.md

https://gitlab.com/FrontISTR-Commons/FrontISTR_manual
Markdown | 279 lines | 217 code | 62 blank | 0 comment | 0 complexity | 03c11115cb54db9ee1547ba4e3278a08 MD5 | raw file
  1. ## 参考 Ubuntu18.04へのインストール手順例(cmake)
  2. Ubuntu18.04上へ本ソフトウェアとそれに必要な外部ライブラリの構築手順の例を示します他の環境へのインストールの参考にしてください
  3. また各ライブラリの詳細な構築方法はそれぞれのドキュメントを参考にしてください
  4. ### 準備
  5. 最初に本ソフトウェアをコンパイルするのに必要なツールやパッケージをインストールしてください
  6. ```
  7. $ sudo apt install build-essential gfortran cmake openmpi-bin libopenmpi-dev
  8. ```
  9. gcc/g++/gfortranおよびMPIのラッパーが正しくインストールされているか確認してください
  10. ```
  11. $ which gcc g++ gfortran mpicc mpic++ mpifort
  12. /usr/bin/gcc
  13. /usr/bin/g++
  14. /usr/bin/gfortran
  15. /usr/bin/mpicc
  16. /usr/bin/mpic++
  17. /usr/bin/mpifort
  18. ```
  19. ### ライブラリのインストール
  20. 本ソフトウェアに必要なライブラリをインストールします作業ディレクトリは`$HOME/work` インストール先のディレクトリは`$HOME/local`とします
  21. 各ディレクトリを作成し`$HOME/local/bin`をPATH環境変数に追加します
  22. ```
  23. $ cd $HOME
  24. $ mkdir work
  25. $ mkdir -p local/bin local/lib local/include
  26. $ export PATH=$HOME/local/bin:$PATH
  27. ```
  28. #### ダウンロード
  29. 以下のソフトウェアをダウンロードし作業ディレクトリ`$HOME/work`へ保存します
  30. | ソフトウェア名 | ダウンロード先 |
  31. |---------------------------------|-------------------------------------------------------|
  32. | REVOCAP_Refiner-1.1.04.tar.gz | http://www.frontistr.com/ |
  33. | FrontISTR_V50.tar.gz | https://www.frontistr.com/ |
  34. | OpenBLAS-0.2.20.tar.gz | http://www.openblas.net/ |
  35. | metis-5.1.0.tar.gz | http://glaros.dtc.umn.edu/gkhome/metis/metis/download |
  36. | scalapack-2.0.2.tgz | http://www.netlib.org/scalapack/ |
  37. | MUMPS_5.1.2.tar.gz | http://mumps.enseeiht.fr/ |
  38. | trilinos-12.14.1-Source.tar.bz2 | https://trilinos.org/download/ |
  39. #### REVOCAP_Refinerのコンパイル
  40. ```
  41. $ cd $HOME/work
  42. $ tar xvf REVOCAP_Refiner-1.1.04.tar.gz
  43. $ cd REVOCAP_Refiner-1.1.04
  44. $ make
  45. $ cp lib/x86_64-linux/libRcapRefiner.a $HOME/local/lib
  46. $ cp Refiner/rcapRefiner.h $HOME/local/include
  47. ```
  48. #### OpenBLASのコンパイル
  49. ```
  50. $ cd $HOME/work
  51. $ tar xvf OpenBLAS-0.2.20.tar.gz
  52. $ make BINARY=64 NO_SHARED=1 USE_OPENMP=1
  53. $ make PREFIX=$HOME/local install
  54. ```
  55. #### METISのコンパイル
  56. ```
  57. $ cd $HOME/work
  58. $ tar xvf metis-5.1.0.tar.gz
  59. $ cd metis-5.1.0
  60. $ make config prefix=$HOME/local cc=gcc openmp=1
  61. $ make
  62. $ make install
  63. ```
  64. #### ScaLAPACKのコンパイル
  65. ```
  66. $ cd $HOME/work
  67. $ tar xvf scalapack-2.0.2.tgz
  68. $ cd scalapack-2.0.2
  69. $ mkdir build
  70. $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/local \
  71. -DCMAKE_EXE_LINKER_FLAGS="-fopenmp" \
  72. -DBLAS_LIBRARIES=$HOME/local/lib/libopenblas.a \
  73. -DLAPACK_LIBRARIES=$HOME/local/lib/libopenblas.a \
  74. ..
  75. $ make
  76. $ make install
  77. ```
  78. #### MUMPSのコンパイル
  79. ```
  80. $ cd $HOME/work
  81. $ tar xvf MUMPS_5.1.2.tar.gz
  82. $ cd MUMPS_5.1.2
  83. $ cp Make.inc/Makefile.inc.generic Makefile.inc
  84. ```
  85. コピーした`Makefile.inc`の以下の部分を書き換えます
  86. ```
  87. $ vi Makefile.inc
  88. $ cp Make.inc/Makefile.inc.generic Makefile.inc
  89. $ vi Makefile.inc
  90. LMETISDIR = $(HOME)/local
  91. IMETIS = -I$(LMETISDIR)/include
  92. LMETIS = -L$(LMETISDIR)/lib -lmetis
  93. ORDERINGSF = -Dmetis -Dpord
  94. CC = mpicc
  95. FC = mpifort
  96. FL = mpifort
  97. LAPACK = -L$(HOME)/local/lib -lopenblas
  98. SCALAP = -L$(HOME)/local/lib -lscalapack
  99. INCPAR =
  100. LIBPAR = $(SCALAP)
  101. LIBBLAS = -L$(HOME)/local/lib -lopenblas
  102. OPTF = -O -DBLR_MT -fopenmp
  103. OPTC = -O -I. -fopenmp
  104. OPTL = -O -fopenmp
  105. ```
  106. 書き換えが完了したら保存しmakeします
  107. ```
  108. $ make
  109. $ cp lib/*.a $HOME/local/lib
  110. $ cp include/*.h $HOME/local/include
  111. ```
  112. #### Trilinos MLのコンパイル
  113. ```
  114. $ cd $HOME/work
  115. $ tar xvf trilinos-12.14.1-Source.tar.gz
  116. $ cd trilinos-12.14.1-Source
  117. $ mkdir build
  118. $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/local \
  119. -DCMAKE_C_COMPILER=mpicc \
  120. -DCMAKE_CXX_COMPILER=mpic++ \
  121. -DCMAKE_Fortran_COMPILER=mpifort \
  122. -DTPL_ENABLE_MPI=ON \
  123. -DTPL_ENABLE_LAPACK=ON \
  124. -DTPL_ENABLE_SCALAPACK=ON \
  125. -DTPL_ENABLE_METIS=ON \
  126. -DTPL_ENABLE_MUMPS=ON \
  127. -DTrilinos_ENABLE_ML=ON \
  128. -DTrilinos_ENABLE_Zoltan=ON \
  129. -DTrilinos_ENABLE_OpenMP=ON \
  130. -DTrilinos_ENABLE_Amesos=ON \
  131. -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
  132. -DBLAS_LIBRARY_DIRS=$HOME/local/lib \
  133. -DLAPACK_LIBRARY_DIRS=$HOME/local/lib" \
  134. -DSCALAPACK_LIBRARY_DIRS=$HOME/local/lib" \
  135. -DBLAS_LIBRARY_NAMES="openblas" \
  136. -DLAPACK_LIBRARY_NAMES="openblas" \
  137. -DSCALAPACK_LIBRARY_NAMES="scalapack" \
  138. ..
  139. $ make
  140. $ make install
  141. ```
  142. ### FrontISTRのコンパイル
  143. 上記ライブラリのコンパイルが済んだらFrontISTRをコンパイルします
  144. ```
  145. $ cd $HOME/work/FrontISTR
  146. $ mkdir build
  147. $ cd build
  148. $ cmake -DCMAKE_INSTALL_PREFIX=$HOME/FrontISTR \
  149. -DWITH_ML=ON \
  150. -DBLAS_LIBRARIES=$HOME/local/lib/libopenblas.a \
  151. -DLAPACK_LIBRARIES=$HOME/local/lib/libopenblas.a \
  152. ..
  153. ```
  154. #### makeの実行
  155. makeを実行します
  156. ```
  157. $ make
  158. ```
  159. 4並列コンパイルをする場合
  160. ```
  161. $ make -j4
  162. ```
  163. とします並列コンパイルによりコンパイル時間が短縮されます
  164. #### make install の実行
  165. makeが完了したらmake installを実行しMakefile.confで指定したディレクトリへインストールしますこの例では `$(HOME)/FrontISTR/bin` になります
  166. ```
  167. $ make install
  168. ```
  169. #### 動作確認
  170. 本ソフトウェアに同梱されているチュートリアルを実行して動作を確認します
  171. ```
  172. $ cd $HOME/work/FrontISTR/tutorial
  173. $ cd 01_elastic_hinge
  174. $ $HOME/FrontISTR/bin/fistr1
  175. Step control not defined! Using default step=1
  176. fstr_setup: OK
  177. Start visualize PSF 1 at timestep 0
  178. loading step= 1
  179. sub_step= 1, current_time= 0.0000E+00, time_inc= 0.1000E+01
  180. loading_factor= 0.0000000 1.0000000
  181. ### 3x3 BLOCK CG, SSOR, 1
  182. 1 1.903375E+00
  183. 2 1.974378E+00
  184. 3 2.534627E+00
  185. 4 3.004045E+00
  186. 5 3.202633E+00
  187. 6 3.203864E+00
  188. ...
  189. ...
  190. ```
  191. 解析が終了すると以下の様に画面上に表示されます
  192. ```
  193. ...
  194. ...
  195. 2966 1.143085E-08
  196. 2967 1.078272E-08
  197. 2968 1.004759E-08
  198. 2969 9.372882E-09
  199. ### Relative residual = 9.39169E-09
  200. ### summary of linear solver
  201. 2969 iterations 9.391687E-09
  202. set-up time : 4.108060E-01
  203. solver time : 6.506822E+01
  204. solver/comm time : 4.342469E-01
  205. solver/matvec : 1.923199E+01
  206. solver/precond : 2.688405E+01
  207. solver/1 iter : 2.191587E-02
  208. work ratio (%) : 9.933263E+01
  209. Start visualize PSF 1 at timestep 1
  210. ### FSTR_SOLVE_NLGEOM FINISHED!
  211. ====================================
  212. TOTAL TIME (sec) : 74.93
  213. pre (sec) : 1.86
  214. solve (sec) : 73.07
  215. ====================================
  216. FrontISTR Completed !!
  217. ```