Hi,
ridft, dscf, grad, rdgrad, and mpgrad need an extra server process to run in parallel. This process is not doing any calculations, it is just controlling the distribution of the tasks. The scripts in $TURBODIR/mpirun_scripts automatically start that extra process.
We are discussing two topics at a time here:
- ricc2
ricc2 is a relatively new program and does not need such an extra process - unfortunately, the extra server process has been added for ricc2 in the scripts. While the server task does not need much CPU time (see below), the extra ricc2 task will, of course.
- CPU time for the server
The server process more or less just waits for a signal from the clients, and then sends a few bytes with the new task information. It depends on the MPI library and the used interconnect (ethernet, infiniband, myrinet, smp, ...) if the process is kept alive all the time, actively looking for data from the clients, or if it sleeps while being activated as soon as a message arrives.
If the MPI library vendor wants to keep the latency as low as possible, the proccess will be active all the time, and top will show 100% CPU usage. We do not have anything but ethernet interconnects here, but at least for TCP/IP that should not be the case with HP-MPI.
We have fixed the bug with the ricc2 extra process shortly after the release of 5.9.1, and replaced the files in the official tar ball on the ftp server. There have been some other minor issues with the scripts, so if you have problems with the parallel version, please copy the latest scripts for Linux/PC (i686, i786, x86_64, em64t) from our ftp server:
ftp.chemie.uni-karlsruhe.de/pub/mpirun_scripts_5.9.1/Copy it to $TURBODIR and unpack it. It will NOT overwrite HPMPI, so please do not remove the old mpirun_scripts directory before unpacking the new file.
Note:If you are running Turbomole 5.9.1 in parallel from a queuing system or by using a list of machines (by setting $HOSTS_FILE to a file that contains a list of machines), the parallel scripts of Turbomole 5.9.1 for i786, x86_64, and em64t platforms (which are using HP-MPI now),
will not use $PARNODES as number of CPUs any more! The number of nodes that you have requested from the queuing system (or the number of lines in $HOSTS_FILE) will be taken instead. For dscf, grad, ridft, rdgrad, and mpgrad, the first node will be taken twice. Hence, if you are setting $PARNODES to, say, 4, make sure that you also request 4 CPUs from your queuing system.
Regards,
Uwe