configureのオプション指定について

Viewing 5 reply threads
  • Author
    Posts
    • #14076

      yoshikawa
      Participant

      富士通の吉川と申します。

      GENESIS v1.4.0のビルドを行う際の、configureのオプションについて質問させてください。

      (1) “–disable-openmp”オプション指定

      configureに”–disable-openmp” オプションを指定すると、その後のmake実行時に以下のエラーが発生してしまいます。

      `mpif90 -o mbar_analysis ma_matrix.o ma_option_str.o ma_option.o ma_control.o ma_setup.o ma_analyze.o ma_main.o ../../libana/libana.a ../../../lib/lib.a -llapack -lblas
      Undefined symbols for architecture x86_64:
      “_omp_get_wtime_”, referenced from:
      ___ma_analyze_mod_MOD_analyze in ma_analyze.o
      ld: symbol(s) not found for architecture x86_64`

      原因は、src/analysis/free_energy/mbar_analysis/ma_analyze.fppの中で「omp_get_wtime」関数を使用していることだと思われます。

      “–disable-openmp”オプションが指定された場合にはこの関数を使用しないようにすることはできないでしょうか。

      (2) “–without-lapack”オプション指定

      configureに “–without-lapack” オプションを指定すると、その後のmake実行時に以下のエラーが発生してしまいます。

      mpif90 -o atdyn at_energy_str.o ... at_setup_mpi.o atdyn.o ../lib/lib.a -fopenmp
      ../lib/lib.a(lbfgsb.o): In functionformt_’:
      lbfgsb.f:(.text+0x116c): undefined reference to `dpotrf_’
      ../lib/lib.a(lbfgsb.o): In function `matupd_’:
      lbfgsb.f:(.text+0x1259): undefined reference to dcopy_'

      こちらの原因は、lib/Lbfgsb.3.0/lbfgsb.fの中でdcopyやddot等のLAPACK関数群を使用していることだと思われます。

      Lbfgsb.3.0を開発しているのはGENESIS開発チームではない点は承知しておりますが、”–without-lapack” オプション指定時にはLAPACK関数群の呼出しをしないようにすることはできないでしょうか。

      以上2点、ご検討をお願いいたします。

    • #14077

      ckobayashi
      Moderator

      GENESIS 開発チーム、小林です

      御連絡ありがとうございます。検討させてください。

      特に(2)に関してですが、呼び出しをしない場合は、一部の機能が利用できなくなります。それは問題ないという意味でしょうか?

    • #14078

      yoshikawa
      Participant

      ご返信ありがとうございます。

      実は現在、パッケージ管理システムspackのビルドレシピを作成しておりまして、GENESISのレシピ作成にあたり、GENESISのconfigureで指定可能なオプションをレシピに反映させようとしている中で、先に書いた現象に遭遇いたしました。従いまして、このオプションが指定できないと困る、という事ではなく、このオプションを指定するとビルドエラーとなるので、どのように対処すべきか、あるいは「このオプションは指定するな」というご判断を頂ければ、私としては問題ございません。

      (2)についてですが、configureで“–without-lapack”オプションを指定した場合は、LAPACKを使用しないでGENESISのビルドを行う指示だと認識しておりますので、この指定によりGENESISの動作に問題が出るのであれば、configureのオプションから外してしまうのも有りだと考えております。

      (1)の“–disable-openmp”オプションについても同様で、開発チームのご判断としてconfigureのオプションから外す(つまり、常にOpenMPを使用する)のであれば、それはそれで問題ないかと考えております。

      以上、ご検討のほどよろしくお願いいたします。

    • #14079

      ckobayashi
      Moderator

      ご説明いただきありがとうございました。

      説明いただきました点をふまえて、一度開発チームで検討させていただきたく思います。

      来週中には返答させていただきます。

    • #14081

      ckobayashi
      Moderator

      GENESIS開発者チーム、小林です。返答が遅れて申し訳ございません。

      開発者チーム内で議論を行いまして、

      (1) –disable-openmpは持続させる

      現在のコンパイルエラーに関しては修正を行います

      (2) –without-lapackは廃止し、configureのオプションから消去する

      という方針になりました。よろしくお願いいたします。

    • #14082

      yoshikawa
      Participant

      ご回答ありがとうございます。
      開発チームとしての方針、承知いたしました。
      この方針に沿う形で、ビルドレシピの作成を行いたいと思います。

Viewing 5 reply threads

You must be logged in to reply to this topic.