feat: parallelize structure analysis - #420
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Atilaac
left a comment
There was a problem hiding this comment.
thank @Gitdowski for handeling this. I added few comments in the code. that what I could pick for now. once fixed I can approve this.
|
@Atilaac: Some notebook-invoked simulations for CTE and diffusion failed without a very conclusive error message. It might be that using 4 cores is too much for the github tests. I changed the number of cores to 1 for all these cases, which should not make much of a difference in the overall time for the integration tests. Let's see if this solves the issue. |
|
And thanks for your comments! They should all be fixed now. |
|
@Gitdowski thank a lot for working on this. I approved the changes and if the notebooks still fail especially the diffusion one I can have a look at the issue and see. Otherwise, feel free to merge. |
After structure analysis has been implemented with a seperate NVT simulation in PR#403 (in case n_averaging_frames > 1) the way how computational resources were used was not correct and inefficient: Because not labelled as a lammps job, the structure analysis only used 1 core. But because
mpiexecwas used with--oversubscribethe number of cores used for the melt-quenching phase was still used here. Therefore, slurm was submitting to nodes where 1 core was free, but under the hood much more cores were actually used, potentially leading to over-usage of a compute node. This is now fixed:--oversubscribeis removed -> it should rather throw an error than silently go wild in the futuren_jobsn_jobs=Noneis the default, which automatically uses half of the NVT cores. This is a safety measure in case very large structures are processed to avoid memory errors (we can discuss if this is really necessary though, but it shouldn't make such a big difference for the majority of our runs)n_jobsis automatically capped at the number of cores used for the lammps