Skip to content
Snippets Groups Projects
Commit e1dcfd40 authored by valentin.emiya's avatar valentin.emiya
Browse files

fix slurm script

parent ac4dfcca
No related branches found
No related tags found
No related merge requests found
......@@ -85,22 +85,22 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None,
# script_name = script_path.stem
# Generate job script
log_dir = xp.xp_path / 'logs'
log_dir.mkdir(exist_ok=True)
script = '#!/bin/sh\n'
# define parameters
script += '#SBATCH --job-name={}\n'.format(xp.name)
script += '#SBATCH --array={}%{}\n'.format(
','.join(str(i) for i in task_ids), n_simultaneous_jobs)
script += '#SBATCH --output={}/stdout_%A_%a.slurm\n'.format(xp.xp_path)
script += '#SBATCH --error={}/stderr_%A_%a.slurm\n'.format(xp.xp_path)
script += '#SBATCH --output={}/stdout_%A_%a.slurm\n'.format(log_dir)
script += '#SBATCH --error={}/stderr_%A_%a.slurm\n'.format(log_dir)
script += '#SBATCH --time={}\n'.format(slurm_walltime)
# if use_gpu:
# script += '#SBATCH -p gpu IS NOT NULL\n'
# else:
# script += '#SBATCH -p gpu IS NULL\n'
script += 'srun -N1 -n1 run_$SLURM_ARRAY_TASK_ID.sh'
script += 'srun -N1 -n1 {}/run_$SLURM_ARRAY_TASK_ID.sh'.format(script_dir)
# script += 'echo "OAR_JOB_ID: $OAR_JOB_ID"\n'
# script += 'echo "OAR_ARRAY_ID: $OAR_ARRAY_ID"\n'
# script += 'echo "SLURM_ARRAY_TASK_ID: $SLURM_ARRAY_TASK_ID"\n'
......@@ -112,7 +112,7 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None,
os.chmod(script_path, status.st_mode | stat.S_IXUSR)
# Generate a script of each array element
for i_elt, idt in enumerate(task_ids):
for idt in task_ids:
script = '#!/bin/sh\n'
# activate the virtual env
......@@ -120,15 +120,15 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None,
script += '{}\n'.format(activate_env_command)
# python command
script += 'echo "Running {}.launch_experiment(task_ids={})"\n'\
script += 'echo "Running {}.launch_experiment(task_ids=[{}])"\n'\
.format(xp_var_name, idt)
script += 'python -c "import sys; sys.path.append(\'{0}\'); ' \
'from {1} import {2}; ' \
'{2}.launch_experiment(task_ids={3})"\n'.format(
'{2}.launch_experiment(task_ids=[{3}])"\n'.format(
script_dir, script_name, xp_var_name, idt)
script += 'exit $?'
script_i_path = script_dir / 'run_{}.sh'.format(i_elt)
script_i_path = script_dir / 'run_{}.sh'.format(idt)
with script_i_path.open('w') as file:
file.write(script)
status = os.stat(script_i_path)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment