We had some discussion recently about why we separate forward and backward IRC's. One argument was that it cuts the number of steps in half for the subsequent PyFrag calculations, therefore we can submit two jobs at the same time and we finish in half the time.
I propose that we simply parallelize PyFrag. If that succeeds we can finish the PyFrag calculations much faster.
- For N IRC steps we should simply submit N slurm jobs + 2 fragment optimizations. We make sure that every job has the same jobname.
- Submit a separate analysis job that depends on all other jobs and has the same jobname. We can do this most easily using the sbatch
--dependency=singleton option. This option will make sure the analysis job only runs after every other job with the same job-name is finished.
- Otherwise, we simply write data to a csv file after each pyfrag step using the append-mode when opening the file. But im not so sure about file safety in that case (i.e. what happens if two jobs finish exactly at the same time).
- The analysis script will write an excel file and make plots, etc ...
We should probably use TCutility.job to implement this, as it already ships most of the functionality.
We had some discussion recently about why we separate forward and backward IRC's. One argument was that it cuts the number of steps in half for the subsequent PyFrag calculations, therefore we can submit two jobs at the same time and we finish in half the time.
I propose that we simply parallelize PyFrag. If that succeeds we can finish the PyFrag calculations much faster.
--dependency=singletonoption. This option will make sure the analysis job only runs after every other job with the same job-name is finished.We should probably use TCutility.job to implement this, as it already ships most of the functionality.