From c040e4d90811cc01a8be80a5e238c703fdb8160b Mon Sep 17 00:00:00 2001 From: janEbert <janpublicebert@posteo.net> Date: Tue, 9 Jul 2024 12:38:41 +0200 Subject: [PATCH] Prefer setting up with `nice` Good practice in order not to hog the login nodes during setup. --- README.md | 14 +++++++------- pytorch-ddp-example/activate.sh | 6 +++--- pytorch-ddp-example/set_up.sh | 6 +++--- pytorch-fsdp-example/activate.sh | 6 +++--- pytorch-fsdp-example/set_up.sh | 6 +++--- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 439d30b..43869f0 100644 --- a/README.md +++ b/README.md @@ -169,13 +169,13 @@ the same template to your own projects that may use `pip`-installed PyTorch versions, or even a container. This also means that you need to set up a virtual environment with `torchrun_jsc` installed before being able to use the example out-of-the-box. This can be done by -executing `bash set_up.sh` once on a login node. +executing `nice bash set_up.sh` once on a login node. ### Job submission As a reminder, before being able to submit a job, you have to manually -create an environment by executing `bash set_up.sh` once on a login -node. +create an environment by executing `nice bash set_up.sh` once on a +login node. The `sbatch` scripts are written so that they take arguments like a usual script. To launch a job with different arguments, you can just @@ -187,10 +187,10 @@ sbatch run.sbatch --train-num-workers=8 --valid-num-workers=3 ### Interactive use -After the environment has been created by executing `bash set_up.sh` -once on a login node, it can also be used interactively by activating -it. This activation has to be done in each new terminal session; it -does not persist between login sessions: +After the environment has been created by executing `nice bash +set_up.sh` once on a login node, it can also be used interactively by +activating it. This activation has to be done in each new terminal +session; it does not persist between login sessions: ```shell source activate.sh diff --git a/pytorch-ddp-example/activate.sh b/pytorch-ddp-example/activate.sh index 517544b..b6f4c29 100644 --- a/pytorch-ddp-example/activate.sh +++ b/pytorch-ddp-example/activate.sh @@ -17,13 +17,13 @@ fi source "$curr_dir"/modules.sh if ! [ -d "$venv_dir" ]; then - echo "Please manually execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + echo "Please manually execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to create the \`venv\`." exit 1 elif ! [ -f "$venv_dir"/bin/activate ]; then echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \ - "Please delete it (\`rm -rf ${venv_dir@Q}\`) and" \ - "execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + "Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \ + "execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to re-create the \`venv\`." exit 1 fi diff --git a/pytorch-ddp-example/set_up.sh b/pytorch-ddp-example/set_up.sh index 9c86a5a..0e45918 100644 --- a/pytorch-ddp-example/set_up.sh +++ b/pytorch-ddp-example/set_up.sh @@ -19,8 +19,8 @@ if ! [ -d "$venv_dir" ]; then if ! [ -f "$venv_dir"/bin/activate ]; then echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \ - "Please delete it (\`rm -rf ${venv_dir@Q}\`) and" \ - "execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + "Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \ + "execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to re-create the \`venv\`." exit 1 fi @@ -37,5 +37,5 @@ if ! [ -d "$venv_dir" ]; then deactivate else echo "\`venv\` is already set up at \`$venv_dir\`. Please" \ - "delete it (\`rm -rf ${venv_dir@Q}\`) to force a re-generation." + "delete it (\`nice rm -rf ${venv_dir@Q}\`) to force a re-generation." fi diff --git a/pytorch-fsdp-example/activate.sh b/pytorch-fsdp-example/activate.sh index 517544b..b6f4c29 100644 --- a/pytorch-fsdp-example/activate.sh +++ b/pytorch-fsdp-example/activate.sh @@ -17,13 +17,13 @@ fi source "$curr_dir"/modules.sh if ! [ -d "$venv_dir" ]; then - echo "Please manually execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + echo "Please manually execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to create the \`venv\`." exit 1 elif ! [ -f "$venv_dir"/bin/activate ]; then echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \ - "Please delete it (\`rm -rf ${venv_dir@Q}\`) and" \ - "execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + "Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \ + "execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to re-create the \`venv\`." exit 1 fi diff --git a/pytorch-fsdp-example/set_up.sh b/pytorch-fsdp-example/set_up.sh index 9c86a5a..0e45918 100644 --- a/pytorch-fsdp-example/set_up.sh +++ b/pytorch-fsdp-example/set_up.sh @@ -19,8 +19,8 @@ if ! [ -d "$venv_dir" ]; then if ! [ -f "$venv_dir"/bin/activate ]; then echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \ - "Please delete it (\`rm -rf ${venv_dir@Q}\`) and" \ - "execute \`bash ${curr_dir@Q}/set_up.sh\`" \ + "Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \ + "execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \ "on a login node to re-create the \`venv\`." exit 1 fi @@ -37,5 +37,5 @@ if ! [ -d "$venv_dir" ]; then deactivate else echo "\`venv\` is already set up at \`$venv_dir\`. Please" \ - "delete it (\`rm -rf ${venv_dir@Q}\`) to force a re-generation." + "delete it (\`nice rm -rf ${venv_dir@Q}\`) to force a re-generation." fi -- GitLab