I have an python program that works like this:
Initialize data
Call outside software to calculate outcome of data (using subprocess), read back in outside software's output
manipulate output, prep it for going back to step 1.
I want to parallelize step 2 in a cluster environment (slurm), with it using a many-node environment.
I was trying to find the easiest approach to this, as I don't think subprocess will automatically use multiple nodes if allocated to the python program in a batch file.
I tried using dask-jobqueue, however this relies on creating a batch file for every worker, meaning I would have to make 10s of batch file calls and wait for them all to catch up to the code to utilize them all.
I was wondering if anyone has any advice, as this seems like it should be an easy thing to do.
Edit: this is more complex than just using multiprocessing, I think. This question gets at what I am trying to accomplish, I am wondering what the ideal package would be for this type of problem