issp-center-dev / dsqss

DSQSS -- Discrete Space Quantum System Solver
http://www.pasums.issp.u-tokyo.ac.jp/dsqss/
GNU General Public License v3.0
11 stars 3 forks source link

dla_algでアルゴリズムファイルなどを生成する際、std.tomlで開境界条件で指定していると、エラーがでてファイルが生成されない。 #31

Closed Takuto36 closed 3 years ago

Takuto36 commented 3 years ago

3次元格子で1軸だけ開境界条件を課して、std.tomlファイルからdla_hamgenとdla_latgenを用いてファイルを生成した後に dla_algを実行すると以下のファイルに添付したエラーが出てアルゴリズムファイルが生成されませんでした。 全ての軸に対して周期的境界条件を課した所、エラーなく出力されました。 よろしくお願いいたします。

https://docs.google.com/document/d/1aPB1rdZzHwu2jO5vipTzhgv1DOsiCnOt4B6EckDDi4Y/edit?usp=sharing

yomichi commented 3 years ago

度々ありがとうございます。修正しました。 (develop, #32)

Takuto36 commented 3 years ago

developブランチを再度インストールし直して、はじめのコメントと同じファイルでstd.tomlファイルからdla_hamgenとdla_latgenを実行し、その後dla_algを実行した所、再度同じエラーが出てしまいました。 原因が分かりましたら教えていただけますと幸いです。

yomichi commented 3 years ago

push したのでもう一回お願いします

yomichi commented 3 years ago

あ、 develop は内部的にインストールのやり方を少し変えたので、インストール先の実行ファイル dla_* を消してからやるほうが良いかもです

yomichi commented 3 years ago

いや、もう少し色々か。すみませんちょっと待って下さい

yomichi commented 3 years ago

インストールを少し改善しました(多分古いバージョンを上書きするのに失敗していたんだと思います)

Takuto36 commented 3 years ago

度々すみません。 元々あったdsqssのファイルを消して git cloneでdevelope branchからコピーして、 buildディレクトリ作って入り、 cmake(intelコンパイラ指定)/make/make installでインストールして試して見たのですが うまくいきませんでした。 初歩的な質問かもしれませんが、原因が分かりましたら教えていただけますと幸いです。 よろしくお願いいたします。

yomichi commented 3 years ago

build/tool 以下の dla_* を使っても同じエラーが出ますか?

Takuto36 commented 3 years ago

build/tool以下のdla_*を使う方法は sourseで読み込むファイルdsqssvars-2.0.3.shの中身の~/binを~/dsqss/build/toolに変更すれば良いでしょうか。

この方法で試してみてもエラーが変わらなかったのですが、 build下のtoolディレクトリ上でcmakeやinstallなど何か行う必要はありますでしょうか。 よろしくお願いいたします。

yomichi commented 3 years ago

わかりました、 そういえばdevelop ブランチはバージョン番号を上げていたので、 dsqssvars-2.0.3.sh ではなく dsqssvars-2.1-dev.sh ですね。前者が上書きされていないので、読み込んだ結果古いバージョンを読み込みにいったんだと思います、すみません。 ちなみに、develop ブランチでは、各種コマンドを使うだけなら設定ファイルを読みこまなくても使えるように変更したので、直接実行して大丈夫です(たぶん)。

Takuto36 commented 3 years ago

確認いただきありがとうございます。 ~/share/dsqssディレクトリを確認してもdsqssvars-2.1-dev.shが生成されていなかったのですが、自分でdsqssvars-2.0.3.shをコピーして作成すれば良いでしょうか。 よろしくお願いいたします。

yomichi commented 3 years ago

なんで生成されていないのかはちょっと良くわかりませんが、とりあえず作成しなくても大丈夫です。 念の為に説明すると、設定ファイルを読み込まなくても良くなっているのは、環境変数PYTHONPATH を設定しなくても動くようになっている(各スクリプトが自分でどうにかしている)ためで、実行ファイルへのパスを通す(環境変数PATH を設定するなどの)作業自体は必要です。

Takuto36 commented 3 years ago

承知しました。ありがとうございます。 dsqssvars-2.1-dev.shを作成せずに、dsqssvars-2.0.3.shの中身を書き換えdsqss/build/toolに環境変数PATHを通して、実行してみたのですが、同じエラーが出てしまいました。 dsqss/build/toolディレクトリのdla_*を使う為には、環境変数PATHをdsqss/build/toolへ通す以外にやるべきことはありますでしょうか。 よろしくお願いいたします。

Takuto36 commented 3 years ago

すみません。develop branchの使い方を間違えていました。 toolディレクトリのdla_*を使用したところ、問題なくプログラムが実行出来ました。 丁寧に対応してくださり、ありがとうございました。

Takuto36 commented 3 years ago

クラスター計算機ではdevelop-branchのtoolのdla_algを使用した所、問題なくアルゴリズムファイルが生成されたのですが 物性研のスパコンで同じ様にプログラムを動かしたところ、以下のエラーが出てしまいました。 対応よろしくお願いいたします。(一部ディレクトリを~で省略しています。)

File “~/dsqss/build/tool/dla_alg", line 22, in     from dsqss.dla_alg import main   File “~/dsqss/build/tool/dsqss/dla_alg.py", line 23, in     import dsqss.algorithm   File “~/dsqss/build/tool/dsqss/algorithm.py", line 26, in     from dsqss import prob_kernel   File “/~/dsqss/build/tool/dsqss/prob_kernel.py", line 17, in     from typing import Sequence, Protocol ImportError: cannot import name 'Protocol'

k-yoshimi commented 3 years ago

Protocol moduleを入れても動かないという質問でしょうか?

yomichi commented 3 years ago

すみません、 typing に Protocol が入ったのは py3.8 でした。直します。

yomichi commented 3 years ago

@Takuto36 さしあたって、今しがたリリースした v2.0.4 では問題ないと思っています(type hints 周りをいじっていないため)

とりあえずもともとのissue とは関係ないので閉じます。

yomichi commented 3 years ago

@Takuto36 物性研スパコンシステムBのプリインストール版DSQSS を2.0.4 に更新しました(厳密にはここで書くことではない気がしますが)

Takuto36 commented 3 years ago

確認と対応いただき、ありがとうございます。

Takuto36 commented 3 years ago

DSQSSのver2.0.4で動かしたのですが、 格子のサイズが2×2×2(周期的条件、周期的条件、開境界条件)ではdla_algが実行できたのですが、 格子のサイズを32×32×6(周期的条件、周期的条件、開境界条件)に変えた所、以下のエラーが出てしまいました。 確認よろしくお願いいたします。 以下にエラーを載せておきます。 https://docs.google.com/document/d/1zjNTRS1LTjzN564NAGp7udT3gPt4sOdOPkePL0jX34k/edit?usp=sharing

yomichi commented 3 years ago

@Takuto36 たびたびありがとうございます。

ひとまずの回避策として、

dla_hamgen std.toml
dla_latgen -t lattice.toml std.toml
dla_alg -l lattice.xml

としてみてください。

(lattice.dat がなんだかbuggy なので lattice.toml をデフォルトにしたほうがいい気がしてきた)

Takuto36 commented 3 years ago

対応いただきありがとうございます。 lattice.tomlファイルで指定した所、うまく実行されました。 スタッガードな磁場をかける際にlattice.tomlファイルでどのように実行すれば良いか分からなかった為、以前投げた別のissueに追加する形で、そちらで1点質問させていただきました。ご確認よろしくお願いいたします。

Takuto36 commented 3 years ago

is31ブランチで格子が大きなサイズでもlattice.datでdla_algが動かせるようになった為、解決しました。 丁寧に対応いただきありがとうございました。