From d6af4509a9d1d8033d835e461650480ff0577ba9 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Tue, 17 Sep 2024 17:14:55 +0100 Subject: [PATCH] Simplify examples and update for 2024 (#18) * Simplify examples * Remove env file * Update index.qmd Co-authored-by: Igor Tatarnikov <61896994+IgorTatarnikov@users.noreply.github.com> --------- Co-authored-by: Igor Tatarnikov <61896994+IgorTatarnikov@users.noreply.github.com> --- demo/array_example.sh | 13 ++-- demo/batch_example.sh | 14 ++--- demo/env.yml | 8 --- demo/multiply.py | 18 ------ demo/multiply.sh | 3 + img/swc_hpc_access_flowchart.png | Bin 42921 -> 0 bytes index.qmd | 105 ++++++++++++------------------- 7 files changed, 53 insertions(+), 108 deletions(-) delete mode 100644 demo/env.yml delete mode 100644 demo/multiply.py create mode 100644 demo/multiply.sh delete mode 100644 img/swc_hpc_access_flowchart.png diff --git a/demo/array_example.sh b/demo/array_example.sh index 8bcd735..824a5ed 100644 --- a/demo/array_example.sh +++ b/demo/array_example.sh @@ -1,10 +1,10 @@ #!/bin/bash -#SBATCH -p gpu # partition (queue) +#SBATCH -p fast # partition (queue) #SBATCH -N 1 # number of nodes -#SBATCH --mem 2G # memory pool for all cores -#SBATCH -n 2 # number of cores -#SBATCH -t 0-0:10 # time (D-HH:MM) +#SBATCH --mem 1G # memory pool for all cores +#SBATCH -n 1 # number of cores +#SBATCH -t 0-0:1 # time (D-HH:MM) #SBATCH -o slurm_array_%A-%a.out #SBATCH -e slurm_array_%A-%a.err #SBATCH --array=0-9%4 @@ -12,9 +12,6 @@ # Array job runs 10 separate jobs, but not more than four at a time. # This is flexible and the array ID ($SLURM_ARRAY_TASK_ID) can be used in any way. -module load miniconda -conda activate slurm_demo - echo "Multiplying $SLURM_ARRAY_TASK_ID by 10" -python multiply.py $SLURM_ARRAY_TASK_ID 10 --jazzy +./multiply.sh $SLURM_ARRAY_TASK_ID 10 diff --git a/demo/batch_example.sh b/demo/batch_example.sh index d241cc3..c68d9e6 100644 --- a/demo/batch_example.sh +++ b/demo/batch_example.sh @@ -1,18 +1,14 @@ #!/bin/bash -#SBATCH -p gpu # partition (queue) +#SBATCH -p fast # partition (queue) #SBATCH -N 1 # number of nodes -#SBATCH --mem 2G # memory pool for all cores -#SBATCH -n 2 # number of cores -#SBATCH -t 0-0:10 # time (D-HH:MM) +#SBATCH --mem 1G # memory pool for all cores +#SBATCH -n 1 # number of cores +#SBATCH -t 0-0:1 # time (D-HH:MM) #SBATCH -o slurm_output.out #SBATCH -e slurm_error.err -module load miniconda -conda activate slurm_demo - for i in {1..5} do - echo "Multiplying $i by 10" - python multiply.py $i 10 --jazzy + ./multiply.sh $i 10 done diff --git a/demo/env.yml b/demo/env.yml deleted file mode 100644 index 1a3eeac..0000000 --- a/demo/env.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: slurm_demo -channels: - - conda-forge -dependencies: - - python=3.10 - - pip - - pip: - - typer[all] \ No newline at end of file diff --git a/demo/multiply.py b/demo/multiply.py deleted file mode 100644 index 28f6648..0000000 --- a/demo/multiply.py +++ /dev/null @@ -1,18 +0,0 @@ -import typer - - -def multiply(first_num: int, second_num: int, jazzy: bool = False): - """ - Multiply two numbers together. - If --jazzy is used, result is announced more grandly. - """ - - result = first_num * second_num - if jazzy: - print(f"Behold, the result is: {result}!") - else: - print(result) - - -if __name__ == "__main__": - typer.run(multiply) \ No newline at end of file diff --git a/demo/multiply.sh b/demo/multiply.sh new file mode 100644 index 0000000..32ce96a --- /dev/null +++ b/demo/multiply.sh @@ -0,0 +1,3 @@ +result=$(($1 * $2)) + +echo "The result of multiplying $1 and $2 is: $result" \ No newline at end of file diff --git a/img/swc_hpc_access_flowchart.png b/img/swc_hpc_access_flowchart.png deleted file mode 100644 index 8594302d96706d1121ee33ad82da8679df39a87e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42921 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 at7+)SVKZc&X`B?_YG*ypD&1nnrvC*qc_(=Q diff --git a/index.qmd b/index.qmd index a52fc6f..aa28a1e 100644 --- a/index.qmd +++ b/index.qmd @@ -187,12 +187,6 @@ ssh @hpc-gw1 This node is fine for light work, but no intensive analyses -## Logging in - -![](img/swc_hpc_access_flowchart.png){fig-align="center" width=100%} - -. . . - ::: {.callout-tip} ## More details @@ -203,7 +197,7 @@ See our guide at [howto.neuroinformatics.dev](https://howto.neuroinformatics.dev * `/nfs/nhome/live/` or `/nfs/ghome/live/` * "Home drive" (SWC/GCNU), also at `~/` -* `/nfs/winstor/` - Old SWC research data storage (read-only soon) +* `/nfs/winstor/` - Old SWC research data storage * `/nfs/gatsbystor` - GCNU data storage * `/ceph/` - Current research data storage * `/ceph/scratch` - Not backed up, for short-term storage @@ -241,15 +235,19 @@ Preinstalled packages available for use, including: :::: {.columns} ::: {.column width="40%"} +* ANTs * BrainGlobe * CUDA +* DeepLabCut +* FSL * Julia -* Kilosort ::: ::: {.column width="60%"} +* Kilosort * mamba * MATLAB +* neuron * miniconda * SLEAP ::: @@ -281,7 +279,7 @@ module unload SLEAP Load a specific version ```bash -module load SLEAP/2023-08-01 +module load SLEAP/2024-08-14 ``` . . . @@ -305,20 +303,22 @@ sinfo ``` ``` -atyson@sgw2:~$ sinfo +atyson@hpc-gw1:~$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST -cpu* up infinite 29 idle~ enc1-node[1,3-14],enc2-node[1-10,12-13],enc3-node[5-8] -cpu* up infinite 1 down* enc3-node3 -cpu* up infinite 2 mix enc1-node2,enc2-node11 -cpu* up infinite 5 idle enc3-node[1-2,4],gpu-380-[24-25] -gpu up infinite 9 mix gpu-350-[01,03-05],gpu-380-[10,13],gpu-sr670-[20-22] -gpu up infinite 9 idle gpu-350-02,gpu-380-[11-12,14-18],gpu-sr670-23 -medium up 12:00:00 4 idle~ enc3-node[5-8] -medium up 12:00:00 1 down* enc3-node3 -medium up 12:00:00 1 mix gpu-380-10 -medium up 12:00:00 10 idle enc3-node[1-2,4],gpu-380-[11-12,14-18] -fast up 3:00:00 1 mix gpu-380-10 -fast up 3:00:00 9 idle enc1-node16,gpu-380-[11-12,14-18],gpu-erlich01 +cpu* up 10-00:00:0 1 mix# gpu-380-25 +cpu* up 10-00:00:0 31 mix enc1-node[1-14],enc2-node[1-13],enc3-node[6-8],gpu-380-24 +cpu* up 10-00:00:0 4 alloc enc3-node[1-2,4-5] +gpu up 10-00:00:0 1 mix# gpu-380-15 +gpu up 10-00:00:0 1 down~ gpu-380-16 +gpu up 10-00:00:0 12 mix gpu-350-[01-05], gpu-380-[11,13-14,17-18],gpu-sr670-[20,22] +a100 up 30-00:00:0 2 mix gpu-sr670-[21,23] +lmem up 10-00:00:0 1 idle~ gpu-380-12 +medium up 12:00:00 1 mix# gpu-380-15 +medium up 12:00:00 1 down~ gpu-380-16 +medium up 12:00:00 7 mix enc3-node[6-8],gpu-380-[11,14,17-18] +medium up 12:00:00 4 alloc enc3-node[1-2,4-5] +fast up 3:00:00 2 idle~ enc1-node16,gpu-erlich01 +fast up 3:00:00 4 mix gpu-380-[11,14,17-18] ``` ## @@ -329,7 +329,7 @@ squeue ``` ``` -atyson@sgw2:~$ squeue +atyson@hpc-gw1:~$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 4036257 cpu bash imansd R 13-01:10:01 1 enc1-node2 4050946 cpu zsh apezzott R 1-01:02:30 1 enc2-node11 @@ -355,9 +355,9 @@ See our guide at [howto.neuroinformatics.dev](https://howto.neuroinformatics.dev ## Partitions ## Interactive job -Start an interactive job (`bash -i`) in the cpu partition (`-p cpu`) in pseudoterminal mode (`--pty`). +Start an interactive job (`bash -i`) in the fast partition (`-p fast`) in pseudoterminal mode (`--pty`) with one CPU core (`-n 1`). ```bash -srun -p cpu --pty bash -i +srun -p fast -n 1 --pty bash -i ``` . . . @@ -373,31 +373,17 @@ git clone https://github.com/neuroinformatics-unit/course-software-skills-hpc . . . -Check out list of available modules -```bash -module avail -``` -. . . - -Load the miniconda module -```bash -module load miniconda -``` - -## - - -Create conda environment +Make the script executable ```bash cd course-software-skills-hpc/demo -conda env create -f env.yml +chmod +x multiply.sh ``` + . . . -Activate conda environment and run Python script +Run the script ```bash -conda activate slurm_demo -python multiply.py 5 10 --jazzy +./multiply.sh 10 5 ``` . . . @@ -418,23 +404,17 @@ cat batch_example.sh ```bash #!/bin/bash -#SBATCH -p gpu # partition (queue) +#SBATCH -p fast # partition (queue) #SBATCH -N 1 # number of nodes -#SBATCH --mem 2G # memory pool for all cores -#SBATCH -n 2 # number of cores -#SBATCH -t 0-0:10 # time (D-HH:MM) +#SBATCH --mem 1G # memory pool for all cores +#SBATCH -n 1 # number of cores +#SBATCH -t 0-0:1 # time (D-HH:MM) #SBATCH -o slurm_output.out #SBATCH -e slurm_error.err -#SBATCH --mail-type=ALL -#SBATCH --mail-user=adam.tyson@ucl.ac.uk - -module load miniconda -conda activate slurm_demo for i in {1..5} do - echo "Multiplying $i by 10" - python multiply.py $i 10 --jazzy + ./multiply.sh $i 10 done ``` @@ -457,25 +437,20 @@ cat array_example.sh ```bash #!/bin/bash -#SBATCH -p gpu # partition (queue) +#SBATCH -p fast # partition (queue) #SBATCH -N 1 # number of nodes -#SBATCH --mem 2G # memory pool for all cores -#SBATCH -n 2 # number of cores -#SBATCH -t 0-0:10 # time (D-HH:MM) +#SBATCH --mem 1G # memory pool for all cores +#SBATCH -n 1 # number of cores +#SBATCH -t 0-0:1 # time (D-HH:MM) #SBATCH -o slurm_array_%A-%a.out #SBATCH -e slurm_array_%A-%a.err -#SBATCH --mail-type=ALL -#SBATCH --mail-user=adam.tyson@ucl.ac.uk #SBATCH --array=0-9%4 # Array job runs 10 separate jobs, but not more than four at a time. # This is flexible and the array ID ($SLURM_ARRAY_TASK_ID) can be used in any way. -module load miniconda -conda activate slurm_demo - echo "Multiplying $SLURM_ARRAY_TASK_ID by 10" -python multiply.py $SLURM_ARRAY_TASK_ID 10 --jazzy +./multiply.sh $SLURM_ARRAY_TASK_ID 10 ``` ##