4 Parallel execution


Effective usage of parallelism requires some basic understanding on how parallel machines work and how parallelism is implemented in Quantum ESPRESSO. If you have no experience and no clear ideas (or not idea at all), consider reading Sec.3 of the User Guide.

 

4.1 How do I choose the number of processors/how do I setup my parallel calculation?

By asking this question, you demonstrate your lack of basic understanding of how parallel machines work and how parallelism is implemented in Quantum ESPRESSO. Please go back to the previous point.

 

4.2 Why is my parallel job running in such a lousy way?

Very often people has unrealistic expectations on the scaling of electronic-structure calculations. You can achieve  good scaling only with a judicious choice of  the various parallelization levels and if you have appropriate communication hardware, and only for a restricted range of processors and for sufficiently large calculations. Very lousy scaling (e.g. much slower in parallel than in serial) may point instead to memory conflicts (not all parallelization leveles distribute memory!) or MPI-OpenMP conflicts caused by libraries (the most infamous case being MKL in the past).

 

4.3 Why is my parallel job crashing when reading input data / doing nothing?

If the same data work in serial execution, use "mycode -inp input_file" instead of "mycode < input_file". Some MPI libraries do not properly handle input redirection.

 

4.4 The code stops with an error reading namelist xxxx

Most likely there is a misspelled variable in namelist xxxx. If there isn’t any (have you looked carefully? really?? really???), beware control characters like DOS control-M: they can confuse the namelist-reading code. If this happens to the first namelist to be read (usually “&CONTROL”) in parallel execution, see the point above.