Hello,
I wrote several scripts that work with job arrays (sbatch) that look like this:
#!/bin/bash
#SBATCH --partition=carl.p
#SBATCH --ntasks=4
#SBATCH --time=0-10:00
#SBATCH --mem-per-cpu=48G
#SBATCH --job-name=basic_test
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=
#SBATCH --array=1-48
These scripts all do different things and some need to be finished before other scripts can start.
I already figured out how to write a jobdependency script that times which scripts need to be started and which need to wait until specific scripts are finished. Now I want to know if it is possible to combine all those different scripts into one big script. I want to do this because I dont want to copy all the different scripts everytime i want to use them and I also want to use the same variables in the different scripts so that I only have to define them once. This is just to make everything more user friendly.
I wanted to do something like this
#!/bin/bash
#SBATCH --partition=carl.p
#SBATCH --ntasks=4
#SBATCH --time=0-10:00
#SBATCH --mem-per-cpu=48G
#SBATCH --job-name=basic_test
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=
#SBATCH --array=1-12
Here would be the first script that submits 12 jobs only containing the code up to the next SBATCH input...
CODE
CODE
CODE
...
#!/bin/bash
#SBATCH --partition=carl.p
#SBATCH --ntasks=4
#SBATCH --time=0-10:00
#SBATCH --mem-per-cpu=48G
#SBATCH --job-name=basic_test
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=
#SBATCH --array=1-48
#SBATCH --dependency:afterok Job_id_of_first_script
Here would be the second script which needs to run the 48 jobs from the second SBATCH input only once
CODE
CODE
CODE
...
and so on.
These scripts should all work seperately so I dont want the first SBATCH to start a new SBATCH for the second job everytime. I have not tried anything to do this and I just wanted to know if this is at all possible.
Thanks in advance