From 7404f023f861d54ccc45d89ba7a97e6c49c2e410 Mon Sep 17 00:00:00 2001 From: assman_g Date: Mon, 24 Jun 2024 07:50:45 +0200 Subject: [PATCH] Update BIO applications --- BIO-applications.md | 78 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/BIO-applications.md b/BIO-applications.md index 6644dbd..6c25119 100644 --- a/BIO-applications.md +++ b/BIO-applications.md @@ -12,6 +12,83 @@ - If you get OOM errors ( Out of memory error), this can be due to "general" memory and GPU card "memory" issues (the latter usually mentions "cuda" in the error). You can either increase the memory (--mem=XXX) or you can specifically go for the largest GPU card (merlin-g-015, A500 GPU card with 24GB memory) by using the option `--constraint=gpumem_24gb`. - Debugging: In case of errors, go to the folder and check your scripts, the error messages and log files! + + +**Use case:** +``` + +# Available variables: +# script_path_abs=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/queue_sub_script.sh +# - the absolute path to the generated submission script +# run_cmd=/data/user/benoit_r/cryosparc/cryosparc_worker/bin/cryosparcw run --project P1 --job J8 --master_hostname merlin-l-01.psi.ch --master_command_core_port 39042 > /data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/job.log 2>&1 +# - the complete command-line string to run the job +# num_cpu=8 +# - the number of CPUs needed +# num_gpu=1 +# - the number of GPUs needed. Note: the code will use this many GPUs +# starting from dev id 0. The cluster scheduler or this script have the +# responsibility of setting CUDA_VISIBLE_DEVICES so that the job code +# ends up using the correct cluster-allocated GPUs. +# ram_gb=8.0 +# - the amount of RAM needed in GB +# job_dir_abs=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8 +# - absolute path to the job directory +# project_dir_abs=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc +# - absolute path to the project dir +# job_log_path_abs=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/job.log +# - absolute path to the log file for the job +# worker_bin_path=/data/user/benoit_r/cryosparc/cryosparc_worker/bin/cryosparcw +# - absolute path to the cryosparc worker command +# run_args=--project P1 --job J8 --master_hostname merlin-l-01.psi.ch --master_command_core_port 39042 +# - arguments to be passed to cryosparcw run +# project_uid=P1 +# - uid of the project +# job_uid=J8 +# - uid of the job +# job_creator=rb +# - name of the user that created the job (may contain spaces) +# cryosparc_username=roger.benoit@psi.ch +# - cryosparc username of the user that created the job (usually an email) + +#SBATCH --job-name=cryosparc_P1_J8 +#SBATCH --output=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/job.log.out +#SBATCH --error=/data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/job.log.err +#SBATCH --ntasks=1 +#SBATCH --threads-per-core=1 +#SBATCH --mem-per-cpu=2000M +#SBATCH --time=7-00:00:00 +#SBATCH --partition=gpu +#SBATCH --cluster=gmerlin6 +#SBATCH --gpus=1 +#SBATCH --cpus-per-gpu=4 + +# Print hostname, for debugging +echo "Job Id: $SLURM_JOBID" +echo "Host: $SLURM_NODELIST" + +export SRUN_CPUS_PER_TASK=$((${SLURM_GPUS:-1} * ${SLURM_CPUS_PER_GPU:-1})) +srun /opt/psi/Programming/anaconda/2019.07/conda/bin/python -c 'import os; print(f"CPUs: {os.sched_getaffinity(0)}")' + +# Make sure this matches the version of cuda used to compile cryosparc +module purge + +srun /data/user/benoit_r/cryosparc/cryosparc_worker/bin/cryosparcw run --project P1 --job J8 --master_hostname merlin-l-01.psi.ch --master_command_core_port 39042 > /data/project/bio/benoit/Roger/2024_pRB22_b/20201023_pRB22_b/CS-prb22-b-cryosparc/J8/job.log 2>&1 + +EXIT_CODE=$? +echo "Exit code: $EXIT_CODE" +exit $? + +``` + +![image](uploads/a18136b73f7e155782a91e00a26cc820/image.png) +![image](uploads/9ae914b53c15f046856c613c061c60ce/image.png) + +Two solutions: +1.) +Increase memory as long as it is enough - limits depending on nodes... +2.) +![image](uploads/d6cb7dfe55369b019cef1b6d06f78132/image.png) + ## Cryosparc [Cryosparc official documentation](https://cryosparc.com/docs) @@ -33,6 +110,7 @@ drawing + ## Alphafold [Alphafold repository](https://github.com/google-deepmind/alphafold)