Dear LAMMPS Developer,
Hi, I'm Ke and I'm currently using LAMMPS to run simulations on the effects of polymer additives (like PLA and PCDTBT) on the morphology of a perovskite active layer.
I have a couple questions regarding the acceleration of the performance of LAMMPS. I'm currently running my graphics cards on a system running Ubuntu 17.04. As someone fairly new to the doing computational chemistry, I would really appreciate your answers, however brief.
1) The GPUs I have are not specialized for computing, they are Geforce GPUs and thus lack FP64 cores (1/32 as many FP64 cores as FP32), meaning that double precision performance is pretty poor on them. If I ran the simulation in single-precision produce unacceptable amounts of error? The main goal of the simulation is to see what's happening with the PLA around the perovskite crystals. Alternatively, if double-precision is something that is generally required, what's the most cost effective GPU accelerator for this purpose?
Also, from other threads I've seen LAMMPS doesn't play well with current-generation (Pascal) Nvidia graphics cards... is there something I need to play with in the GPU package to make it work correctly?
2) Even when running lmp_serial/lmp_mpi with the appropriate environmental variable set such that it is using 12 threads (I have an old 12 core Xeon), the processor only has ~10% utilization. On the other hand, LAMMPS shows ~99% CPU usage. Which of these should I trust and am I not optimizing my system enough?
3) How would I run LAMMPS at the granular level, e.g. work with groups of atoms (instead of individual ones) in order to simulate grain boundaries? I've also heard that Voronoi tessellation is necessary in order to achieve PLA woven in between perovskite crystals but I'm not sure if that would be the best way to approach it.
Thank you so much for taking the time to reply,