Though I haven't done much, my understanding is MPICH requires the path to the binary to be the same on each system. On a homogeneous cluster this can be done using a shared home filesystem across all nodes.So although I was looking at adding Pi 4's next, soon I'll be adding those pre-aarch64 systems and the intel systems, so I'ld really like to find a way to make a heterogenous cluster work...
On a heterogeneous cluster, you might need a separate home directory for each architecture with some way to populated the corresponding path with the appropriate binary. One will also have to be careful about the size of the integers used in the messages passed between the ranks. MPI has mechanisms for specifying this and can further convert between endian types if necessary.
When using someone else's code it may or may not assume that it's running on a homogeneous cluster. Another way to deal with heterogeneity is at the scheduling level using Slurm features and constraints. Then you can a launch an MPI job that, for example, only runs on the Pi 5 computers.
Statistics: Posted by ejolson — Sun Jul 14, 2024 10:22 am