[Q-e-developers] 'mpif.h' vs. 'include mpi' and regression tests

Paul Kapinos kapinos at itc.rwth-aachen.de
Wed Jan 4 16:54:06 CET 2017


Hi All,
sorry for long latency, merry Christmas and happy hew year!
I'll try to conjugate the answers in one mail to reduce SPAM.


On 11/22/16 20:34, Filippo SPIGA wrote:
...
 > test-suite is not design for run as you described. It can be made working in
 > such way but it is not what it is design for.
...
 > First, to deploy different version of QE try use SPACK. It helps _a lot_ to
 > automate builds and related dependencies. Then you can sandbox multiple
 > executions of QE and related test-suite using JUBE.
...
 > However you can run the multiple test simultaneously by submitting each of
 > them on your job scheduler.

Well, we (the support) can burden ours with Yet Another Toolchain (also I would 
like omit this need), but our experience is - you cannot assume the users will do.

Remember: we have a multi-user environment. Yes we have some 100 to 200 users 
logged into a node simultaneously. Say Mr X start his pretty-serial 'make all; 
make test-suite; make run-tests-parallel', these write something to 
/tmp/save/..., and then Ms Y also try to do this in hers $HOME on the same front 
end node.... Bang!

To be clear: writing to a some hard-coded path shared by all (100s of) users on 
a node, is VERY_BAD_THING. Really. Believe me (or not, your choice).



 > Last but not least, you can grab the test-suite source code (called
 > "testcode) and add the funcitonalities you need. it is python code. I've just
 > created a fork on GitHub if you want to contribute, it is BSD-3 [1].
I'm very sorry, but I cannot enter into QE development :-(





On 11/22/16 21:32, Paolo Giannozzi wrote:

>     But: my try to change ESPRESSO_TMPDIR horribly failed as at first stage you
>     have to test-suite directory and when I changed ESPRESSO_TMPDIR after first
>     'make test-suite' the subsequent calls lead to all-failure (due to not found
>     some stuff - yes ESPRESSO_TMPDIR has been changed!).
>
>
> I am not sure I understand.  Thank you anyway for reporting this.
We invoked the test suite after build step ('make all') by  'make test-suite; 
make run-tests-parallel ' within the 'qe-6.0' directory, thus the test suite was 
not ran manually but by 'qe-6.0/Makefile' via 'make'.







> @Filippo:  I am not implying that we should replace all "include 'mpif.h'" with
> "use mpi" at once: I just think that it is easier to deal with 1 line of code
> than with 62 copies of it. There might be many machines around that do not have
> a suitable "mpi.mod"

About 'use mpi' vs. 'include mpi.h'
1) the worst case is to mix both ways to include MPI in Fortran programs.

2) 'use mpi' is considered to be better, robuster, the way of the future, cf.
http://mpi-forum.org/docs/mpi-3.1/mpi31-report/node411.htm
2.1) however, 'include mpi.h' is still-more-portable and very legacy, yes.

3) changing form 'include mpi.h' to 'use mpi' should be a part of major release 
step due to these points:
- some Compiler/MPIs combinations may stop to build the application at all (due 
to bugs in compiler, in MPI, or also in the application - 'use mpi' just enable 
more/better signature checks!
- some Compiler/MPIs combinations do not offer appropriate 'mpi.mod' file at all 
and will ultimately fail to build this application. Well, compiler/MPI without 
mpi.mod should be not common nowadays, but be prepared for questions 'why I 
cannot build anymore'. Also an appropriate check on availability of mpi.mod 
should be added in 'configure' step.


Oveall: I hope not to disturb you by my feedback but to help you making QE more 
robust.

Have a nice day,

Paul Kapinos





-- 
Dipl.-Inform. Paul Kapinos   -   High Performance Computing,
RWTH Aachen University, IT Center
Seffenter Weg 23,  D 52074  Aachen (Germany)
Tel: +49 241/80-24915

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4891 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20170104/5c579239/attachment.p7s>


More information about the developers mailing list