brucefan1983 / GPUMD

Graphics Processing Units Molecular Dynamics
https://gpumd.org/dev
GNU General Public License v3.0
466 stars 116 forks source link

Vacuum layer may affect the selection of long direction in multi-gpus version of gpumd #296

Closed Jonsnow-willow closed 1 year ago

Jonsnow-willow commented 1 year ago

The simulation box is chosen of 30 30 40 supercell , containing 72000 atoms. The box length of three directions is [95, 95,127]. I choose the nve ensemble and run 10000 steps. Timestep = 1fs. One GPU: Time used = 230 s Two GPUs: TIme used = 137 s The I change the box length to [95 95 200] One GPU: Time used = 230 s Two GPUs: Time_used = 220 s And the volatile of one of gpus is 5%. Although this is not an important problem, user can fix it by thin the vacuum layer. It may be difficult to find this solution when using gpumd for the first time. I think maybe we can make the single gpu to default, and specify the direction by user when using multi-gpus version.

brucefan1983 commented 1 year ago

Yes, the behaviors are expected. We can add a commad to let the user specify the partition direciton, to override the automatically determined one (the longest one).

brucefan1983 commented 1 year ago

I have fixed this issue, but the code has been accidently pushed to master directly without making a PR.

The usage is:

potential <your_NEP.txt> [<partition_direction>]

where you can now optionally choose the partition direction via <partition_direction>, which can be x, y, or z, which actually means the a, b, and c box vectors in general.

Could you test the code using your example? @Jonsnow-willow

brucefan1983 commented 1 year ago

solved.