Usage of single Communicator class
Currently, our code has two Communicator classes, handling interprocess communication.
One is located in src/mpi
. It was extracted from the cpu part of VirtualFluids and is still only used by the cpu part.
The other one is in src/VirtualFluids_GPU/Communicator
and is used by the gpu component.
However, both Communicators
have a lot of redundant parts. Therefore, it makes sense that the gpu component also makes use of the general Communicator
from cpu/mpi
. At the moment, this can not easily be done, as the gpu Communicator has additional functionality, which is only used there. Here we have to find a suitable solution to remove the redundancy, but keep the gpu related functionality.