LoginSignup
0
0

More than 3 years have passed since last update.

OpenMX3.9をMacBook proでmakeする(macportsでScaLAPACK+openMPI)

Last updated at Posted at 2019-12-05

OpenMX3.9がmake出来ない

OpenMXのサイト
hikaruriがトポロジカル不変量の計算コードでcontributeしたOpenMX3.9がリリースされました。
早速自分のMacBookProでも使おうと思い、ver. 3.7と3.8と同じmakefileでmakeしようとした所、どうやら上手くいかない。原因は今回のバージョンからScaLAPACKが必要らしく導入する必要があるらしい。
MKLを入れるのが一番簡単で確実らしいが、MPICHにしか対応してないようだ。
MacPorts+OpenMPIを使って(手軽に)導入したときの方法をメモ。

環境

Mojave 10.14.4
MacPorts 2.6.2
gcc 8.3.0
openmpi-gcc8 @4.0.1_0+fortran

ScaLAPACKを導入

デフォルトだとMPICHを指定するようなので、variantsを指定するのを忘れないように

port install scalapack +gcc8 +openblas +openmpi

Buildする場所で失敗(わざと失敗させる)。
Mac portでのOpenMPIを使ったScaLAPACKのインストール
にあるように、MPIの部分でインストールに失敗するので、パッチを充てる必要がアリ。パッチファイルをダウンロードして、インストール中のscalapack-2.0.2のディレクトリを探す。パッチコマンドをscalapack-2.0.2の上で実行。

patch -p0 < ~/scalapack-2.0.2-patch.txt 

そしてもう一回

port install scalapack +gcc8 +openblas +openmpi

を実行してScaLAPACKが入ります。

追記(2020/3/17)
ld64が必要になる場合もある
https://github.com/wistaria/MateriAppsInstaller/issues/66

OpenMXのmake

openmx3.9のmakefileのLIBに-lscalapackを付け加えると無事にmakeが通ります。

CC = mpicc -O3 -fopenmp -I/opt/local/include -I/usr/include
FC = mpif90 -O3 -fopenmp -I/opt/local/include -I/usr/include
LIB = -L/opt/local/lib -lfftw3 -llapack -lblas -lgfortran -lmpi_mpifh -lscalapack

終わりに

  1. OpenMXのInstallのサポートページが欲しい
  2. 単列版も出して欲しい
  3. 自分のコードを使って欲しい
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0