CryoSparc Merlin scripts
This repository collects cryosparc 'lanes' suitable for running jobs at PSI.
Lanes
- gpu. Default lane. 7 day time limit.
- gpu-big. Requests requests GPUs with 11GB of video memory, plus 100G memory
- gpu-short. Short requests. 2 hour time limit.
- gpu-rtx2080ti. Specialty queue for jobs that benefit from the RTX 2080Ti cards
- cpu-daily. CPU-only lane. 1 day time limit.
Installing
This repo can be cloned using git on merlin. Typically this is done from your
cryosparc install directory (/data/user/<user>/cryosparc/
), although this
isn't required.`
git clone https://git.psi.ch/lsm-hpce/merlin-cryosparc.git config
Next, all cluster_info.json
scripts need to be modified to include the correct
worker path by replacing USERNAME
. A script is provided to do this
automatically:
dev/install_filters.sh
Next make sure that the paths in the cluster_info.json files are correct by running the following script:
# Match this to the versions used during installation
module load cuda/11.5.1 gcc/7.5.0
dev/update_versions.sh
Finally, connect the newly modified scripts to cryosparc. This should be done on same machine cryosparc runs on. To connect all lanes:
./connect_all.sh
Alternately, you can install individual lanes manually:
cd <lane>
cryosparcm cluster connect
Updating
Scripts are updated regularly with features and bug fixes. To get the newest version, update git:
git pull
(Optional) If you want to remove old lanes (e.g. when updating from scripts v1.5.0 to v2.0.0), run
./remove_old_lanes.sh
Then, connect the lanes to your cryosparc cluster as in installation:
./connect_all.sh
Change CUDA versions
The scripts load cuda/11.5.1 by default. Newer cryosparc versions may require using a newer cuda version. This can be changed by either loading a different cuda module while installing/upgrading the worker, or using the following command:
module load cuda/10.0.130
$CRYOSPARC_HOME/cryosparc2_worker/bin/cryosparcw newcuda $CUDA_PREFIX
The submission scripts then need to be updated to match this cuda version:
dev/update_versions.sh
./connect_all.sh
Developers
If you plan on committing changes to this repository, make sure you run
dev/install_filters.sh
to install git hooks and filters.
When releasing a new version, dev/mkrelease.sh
will update version numbers
consistently.