Skip to content
Snippets Groups Projects
Commit f157dd6c authored by Valentin Emiya's avatar Valentin Emiya
Browse files

minor cluster

parent df17bcce
No related branches found
No related tags found
No related merge requests found
Pipeline #6056 passed
...@@ -85,22 +85,22 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None, ...@@ -85,22 +85,22 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None,
# script_name = script_path.stem # script_name = script_path.stem
# Generate job script # Generate job script
log_dir = xp.xp_path / 'logs'
log_dir.mkdir(exist_ok=True)
script = '#!/bin/sh\n' script = '#!/bin/sh\n'
# define parameters # define parameters
script += '#SBATCH --job-name={}\n'.format(xp.name) script += '#SBATCH --job-name={}\n'.format(xp.name)
script += '#SBATCH --array={}%{}\n'.format( script += '#SBATCH --array={}%{}\n'.format(
','.join(str(i) for i in task_ids), n_simultaneous_jobs) ','.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 --output={}/stdout_%A_%a.slurm\n'.format(log_dir)
script += '#SBATCH --error={}/stderr_%A_%a.slurm\n'.format(xp.xp_path) script += '#SBATCH --error={}/stderr_%A_%a.slurm\n'.format(log_dir)
script += '#SBATCH --time={}\n'.format(slurm_walltime) script += '#SBATCH --time={}\n'.format(slurm_walltime)
# if use_gpu: # if use_gpu:
# script += '#SBATCH -p gpu IS NOT NULL\n' # script += '#SBATCH -p gpu IS NOT NULL\n'
# else: # else:
# script += '#SBATCH -p gpu IS NULL\n' # 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_JOB_ID: $OAR_JOB_ID"\n'
# script += 'echo "OAR_ARRAY_ID: $OAR_ARRAY_ID"\n' # script += 'echo "OAR_ARRAY_ID: $OAR_ARRAY_ID"\n'
# script += 'echo "SLURM_ARRAY_TASK_ID: $SLURM_ARRAY_TASK_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, ...@@ -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) os.chmod(script_path, status.st_mode | stat.S_IXUSR)
# Generate a script of each array element # Generate a script of each array element
for i_elt, idt in enumerate(task_ids): for idt in task_ids:
script = '#!/bin/sh\n' script = '#!/bin/sh\n'
# activate the virtual env # activate the virtual env
...@@ -120,15 +120,15 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None, ...@@ -120,15 +120,15 @@ def generate_slurm_script(script_file_path, xp_var_name, task_ids=None,
script += '{}\n'.format(activate_env_command) script += '{}\n'.format(activate_env_command)
# python command # python command
script += 'echo "Running {}.launch_experiment(task_ids={})"\n'\ script += 'echo "Running {}.launch_experiment(task_ids=[{}])"\n'\
.format(xp_var_name, idt) .format(xp_var_name, idt)
script += 'python -c "import sys; sys.path.append(\'{0}\'); ' \ script += 'python -c "import sys; sys.path.append(\'{0}\'); ' \
'from {1} import {2}; ' \ '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_dir, script_name, xp_var_name, idt)
script += 'exit $?' 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: with script_i_path.open('w') as file:
file.write(script) file.write(script)
status = os.stat(script_i_path) 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