small fix
This commit is contained in:
parent
7b1e7af3c5
commit
438f3f024e
1 changed files with 13 additions and 1 deletions
14
scola.py
14
scola.py
|
@ -1,3 +1,5 @@
|
||||||
|
limit_slurm_arrays = 512
|
||||||
|
|
||||||
def main_scola(parsed_args):
|
def main_scola(parsed_args):
|
||||||
from args_main import parse_arguments_main
|
from args_main import parse_arguments_main
|
||||||
from low_level import print_starting_module, print_message, print_ending_module, progress_bar_from_logfile, wait_until_file_exists
|
from low_level import print_starting_module, print_message, print_ending_module, progress_bar_from_logfile, wait_until_file_exists
|
||||||
|
@ -52,12 +54,14 @@ def main_scola(parsed_args):
|
||||||
elif parsed_args.execution == "slurm":
|
elif parsed_args.execution == "slurm":
|
||||||
from slurm_submission import create_slurm_script, parse_arguments_slurm
|
from slurm_submission import create_slurm_script, parse_arguments_slurm
|
||||||
from args_main import parse_arguments_main
|
from args_main import parse_arguments_main
|
||||||
|
from parameters_card import parse_arguments_card
|
||||||
import os
|
import os
|
||||||
print_message("Running scola in slurm mode.", 1, "scola", verbose=parsed_args.verbose)
|
print_message("Running scola in slurm mode.", 1, "scola", verbose=parsed_args.verbose)
|
||||||
slurm_dict=parse_arguments_slurm(parsed_args)
|
slurm_dict=parse_arguments_slurm(parsed_args)
|
||||||
main_dict=parse_arguments_main(parsed_args)
|
main_dict=parse_arguments_main(parsed_args)
|
||||||
|
card_dict=parse_arguments_card(parsed_args)
|
||||||
|
|
||||||
if have_no_tiles(parsed_args) or parsed_args.force:
|
if (have_no_tiles(parsed_args) or parsed_args.force) and card_dict["N_tiles"]**3 < limit_slurm_arrays :
|
||||||
## Submit all boxes
|
## Submit all boxes
|
||||||
print_message("Submitting all boxes.", 2, "scola", verbose=parsed_args.verbose)
|
print_message("Submitting all boxes.", 2, "scola", verbose=parsed_args.verbose)
|
||||||
slurm_script = slurm_dict["scripts"]+"scola_"+main_dict["simname"]+".sh"
|
slurm_script = slurm_dict["scripts"]+"scola_"+main_dict["simname"]+".sh"
|
||||||
|
@ -93,6 +97,7 @@ def main_scola(parsed_args):
|
||||||
|
|
||||||
else:
|
else:
|
||||||
## Submit missing boxes
|
## Submit missing boxes
|
||||||
|
from time import sleep
|
||||||
missing_tiles_arrays = get_missing_tiles_arrays(parsed_args)
|
missing_tiles_arrays = get_missing_tiles_arrays(parsed_args)
|
||||||
print_message(f"Submitting missing boxes: {missing_tiles_arrays}.", 2, "scola", verbose=parsed_args.verbose)
|
print_message(f"Submitting missing boxes: {missing_tiles_arrays}.", 2, "scola", verbose=parsed_args.verbose)
|
||||||
|
|
||||||
|
@ -127,6 +132,7 @@ def main_scola(parsed_args):
|
||||||
subprocess.run(command_args)
|
subprocess.run(command_args)
|
||||||
|
|
||||||
print_message("sCOLA job submitted.", 2, "scola", verbose=parsed_args.verbose)
|
print_message("sCOLA job submitted.", 2, "scola", verbose=parsed_args.verbose)
|
||||||
|
sleep(len(missing_tiles)*0.2) # Sleep for a bit to avoid overloading the scheduler
|
||||||
|
|
||||||
os.remove(slurm_script) # Remove the script after submission (because it is specific to the missing tiles)
|
os.remove(slurm_script) # Remove the script after submission (because it is specific to the missing tiles)
|
||||||
|
|
||||||
|
@ -229,11 +235,17 @@ def get_missing_tiles_arrays(parsed_args):
|
||||||
nboxes_tot = int(parsed_args.N_tiles**3)
|
nboxes_tot = int(parsed_args.N_tiles**3)
|
||||||
missing_tiles_arrays = []
|
missing_tiles_arrays = []
|
||||||
in_sequence_of_missing = False
|
in_sequence_of_missing = False
|
||||||
|
len_sequence_of_missing = 0
|
||||||
for b in range(1,nboxes_tot+1):
|
for b in range(1,nboxes_tot+1):
|
||||||
if not isfile(card_dict["OutputTilesBase"]+str(b)+".h5"):
|
if not isfile(card_dict["OutputTilesBase"]+str(b)+".h5"):
|
||||||
|
len_sequence_of_missing += 1
|
||||||
if not in_sequence_of_missing:
|
if not in_sequence_of_missing:
|
||||||
missing_tiles_arrays.append([b])
|
missing_tiles_arrays.append([b])
|
||||||
in_sequence_of_missing = True
|
in_sequence_of_missing = True
|
||||||
|
len_sequence_of_missing = 1
|
||||||
|
if len_sequence_of_missing > limit_slurm_arrays:
|
||||||
|
missing_tiles_arrays[-1].append(b)
|
||||||
|
in_sequence_of_missing = False
|
||||||
elif in_sequence_of_missing:
|
elif in_sequence_of_missing:
|
||||||
missing_tiles_arrays[-1].append(b-1)
|
missing_tiles_arrays[-1].append(b-1)
|
||||||
in_sequence_of_missing = False
|
in_sequence_of_missing = False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue