some thoughts about the MPI program and the distribtued program, some concepts need to be clarified further.
mpi is just the same code running in different process. Essentially, they are different processes, you can still call it the distributed program.
MPI program is distributed memory program, different process sart the same program. and different process do not shared memory with each other.
SIMD, data can be config or actual data processes by the program
same code but different condigurations.
distibuted the programs are started by different programs, the code that run in this program can be same or not.
if started by the MPI run, the code are same, the configuration are different. the data processed by the code are different.
If the processes are supposed to do similar things or logic such as processing data in particular way, the MPI program might be suitable
other wise, we need to start the process one by one, they can run different programs