Skip to content

富岳でのコンパイル

Mitsuaki KAWAMURA edited this page Oct 30, 2023 · 3 revisions

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

Clone this wiki locally