Hi @jagan1mohan
I want to point out that running the batch solver keeps you from taking advantage of certain features of MFiX: monitoring from the GUI, pausing/resuming simulations, adjusting parameters during a run. I’m not sure why people prefer the batch solver …
Also note that the Conda packages include OpenMPI 5.0 so if you use the Conda MFiX installation you shouldn’t need module load openmpi5.
You should use SMP if you have one machine with multiple cores and you want to use them all. You should use DMP for running across multiple machines on a network. DMP can also be used on a single multi-core node but the communications overhead is higher than with SMP, which is able to exploit shared memory. On the network there is no such thing as shared memory so you need DMP/mpirun. In theory DMP and SMP can both be enabled (you have to compile yourself, we do not ship a DMP+SMP enabled solver) but this is a slightly unusual configuration and is not well-tested.
Again, there are no magic bullets with compiler flags, etc. The solver we ship is built with a high level of optimization and targets modern processors. You could play around with -O and -march= flags but you are not likely to get more than a few percent improvement. The low-hanging fruit has been plucked & eaten already.
– Charles