Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gkv_nec_f056_202011におけるv方向袖通信の冗長性修正 #4

Open
smaeyama opened this issue Nov 13, 2020 · 0 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@smaeyama
Copy link
Contributor

PS版GKVですが、v方向の袖通信が冗長になっている部分を修正した版を
 /data/3/sht/nunami/GKV_tuned/gkv_nec_f056_202011.tgz
に置きました。
前回の版から、
gkvp_f0.56_header.f90
gkvp_f0.56_set.f90
gkvp_f0.56_colli.f90
gkvp_f0.56_bndry.f90
が修正されています。

この件、LB衝突項の場合のv方向の袖通信の冗長性を削除した(caldlt_revでは先に線形項計算のためにzz,vl方向袖通信を行うため)ということですよね。

この場合、
 これまで:colli_LB をcallすれば衝突項が計算される
 今後:colli_LB をcallする前にffに対するvl方向の袖通信を事前にしておかなければ、正しく計算されない。
というように関数の動作を変えたということですね?

できれば、独立性を保った関数も残したいので、以下のどちらかでNECにご対応いただけないでしょうか?

パターンA) colli_LB とは別に、新たに colli_LB_without_vl_sendrecv 関数を作って、caldlt_revのように順序を守ったときだけ特別に性能最適化した colli_LB_without_vl_sendrecv 関数を callし、それ以外は colli_LB をcallする。ほぼ同じ内容の関数が2つになり保守上は好ましくない。
パターンB) colli_LB 関数に、flag_vl_sendrecv という変数を追加し、 flag_vl_sendrecv = .true. のときは vl袖通信も行う。 flag_vl_sendrecv = .false. の時は vl袖通信は省略する。

欲を言えば、SX最適化版のみならず、もともとのgkvp_colli.f90のソースコードでも同様の対応をしていただけると、富岳用コードでも改善が見込まれます。

@smaeyama smaeyama added the enhancement New feature or request label Nov 13, 2020
@smaeyama smaeyama self-assigned this Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant