-
Notifications
You must be signed in to change notification settings - Fork 25
富岳でのコンパイル
cmake ソースディレクトリ -LA -DCMAKE_INSTALL_PREFIX=$HOME -DCMAKE_C_COMPILER=mpifccpx -DCMAKE_Fortran_COMPILER=mpifrtpx -DCMAKE_Fortran_FLAGS="-fPIC -Kfast,parallel,openmp,NOSVE -SCALAPACK -SSL2BLAMP -DFUJITSU -DMPI -DSCALAPACK" -DCMAKE_C_FLAGS="-Kfast,parallel,openmp,NOSVE -SCALAPACK -SSL2BLAMP -DMPI -DSCALAPACK" -DOpenMP_C_FLAGS=-Kopenmp -DOpenMP_Fortran_FLAGS=-Kopenmp
現状では-KNOSVE(SVEを無効化)をつけないと、再現性のない数値不安定性によりLOBCGで発散が起こる。 サポートデスクに相談したところLAPACKの内部に原因があるらしい。
kawamura1ブランチにて修正 8de798492a4d97c36806619ba20c1a7eefc760d6
一部のmallocをposix_memalignを使って書き換え→これでSVEが使えるようになる
cmake ソースディレクトリ -LA -DCMAKE_INSTALL_PREFIX=$HOME -DCMAKE_C_COMPILER=mpifccpx -DCMAKE_Fortran_COMPILER=mpifrtpx -DCMAKE_Fortran_FLAGS="-fPIC -Kfast,parallel,openmp -SCALAPACK -SSL2BLAMP -DFUJITSU -DMPI -DSCALAPACK" -DCMAKE_C_FLAGS="-Kfast,parallel,openmp -SCALAPACK -SSL2BLAMP -DMPI -DSCALAPACK -DFUJITSU" -DOpenMP_C_FLAGS=-Kopenmp -DOpenMP_Fortran_FLAGS=-Kopenmp