diff --git a/docs/cls/software/EM/cryosparc/benchmarks.md b/docs/cls/software/EM/cryosparc/benchmarks.md index aae0800b..e53fa00f 100644 --- a/docs/cls/software/EM/cryosparc/benchmarks.md +++ b/docs/cls/software/EM/cryosparc/benchmarks.md @@ -1,13 +1,9 @@ -The results of these benchmarks are influenced by node, filesystem, and network utilization at the time they were executed. In addition, the benchmarks were run using different software versions, which may also affect performance. Therefore, the results should be considered indicative rather than a controlled hardware-only comparison. +The results of these benchmarks are influenced by node, filesystem, and network utilization at the time they were executed. Therefore, the results should be considered indicative rather than a controlled hardware-only comparison. Nevertheless, the benchmarks provide a useful indication of the performance difference between the **NVIDIA A100-SXM4-80GB** and **NVIDIA GH200 120GB** GPUs. ## **Benchmark Job** -The benchmark was run using a single GPU on both the A100 and GH200 nodes. The job on the A100 node was executed with **version 4.7.1**, while the job on the Grace Hopper node was executed with **version 5.1.0-privatebeta.2**. +The benchmark was run using a single GPU on both the A100 and GH200 nodes. The jobs on the A100 and Grace Hopper node were executed with **version 5.1.1**. -Because the software versions differ, some of the observed performance difference may be attributable to software changes rather than GPU hardware alone. A direct hardware comparison would ideally use the **same software version and configuration** on both nodes. - -![Overall benchmark times for A100 and GH200 GPUs](../../../../images/CLS/cryosparc/cryosparc_benchmarks_overall_times.png) - -![Speedup between A100 and GH200 GPUs](../../../../images/CLS/cryosparc/cryosparc_benchmarks_speedup_common.png) +![Speedup between A100 and GH200 GPUs](../../../../images/CLS/cryosparc/cryosparc_benchmarks_speedup_comparison.png) diff --git a/docs/cls/software/EM/cryosparc/installation.md b/docs/cls/software/EM/cryosparc/installation.md index 762af922..944182f7 100644 --- a/docs/cls/software/EM/cryosparc/installation.md +++ b/docs/cls/software/EM/cryosparc/installation.md @@ -1,24 +1,22 @@ -Users can install multiple versions of CryoSPARC. However, each version must have its own separate database. Since **version 5**, a single CryoSPARC version can also support multiple worker-node architectures simultaneously. For example, the same version can have lanes for `x86_64` workers (CPU and A100 nodes on Merlin 7) and `aarch64` workers (Grace Hopper nodes on Merlin 7). When submitting a job, the user can then select the appropriate worker architecture. - -!!! warning "Mixed Worker Architectures" - Currently, a single CryoSPARC installation cannot have both `x86_64` and `aarch64` workers installed simultaneously on Merlin 7. If you need to use both architectures, separate CryoSPARC installations must be used. - - **Support for running both architectures under the same CryoSPARC version will soon become available.** +Users can install multiple versions of CryoSPARC. However, each version must have its own separate database. Since **version 5.1**, a single CryoSPARC version can also support multiple worker-node architectures simultaneously. For example, the same version can have lanes for `x86_64` workers (CPU and A100 nodes on Merlin 7) and `aarch64` workers (Grace Hopper nodes on Merlin 7). When submitting a job, the user can then select the appropriate worker architecture. **Before installing CryoSPARC, obtain a license key from the [CryoSPARC download page](https://cryosparc.com/download/).** -## Installation on CPU and A100 nodes +## Installation on x86_64 and aarch64 nodes The installation can be performed from one of the Merlin 7 login nodes. By default, the CryoSPARC installation path is `/data/user/$USER/cryosparc`. This path can be changed but you will need to add the flag `-d [path to CryoSPARC installation]` in the `cryosparc-merlin` commands when using a non-default path. -To install CryoSPARC version `4.7.1` in the default path (`/data/user/$USER/cryosparc`): +To install CryoSPARC version `5.1.2` in the default path (`/data/user/$USER/cryosparc`): ```bash cryosparc-merlin install complete \ --license [CryoSPARC License] \ - --version 4.7.1 + --version 5.1.2 \ + --arch-worker both ``` +This will install CryoSPARC to run both in the A100 and Grace Hopper nodes. + !!! info "CryoSPARC base port" The installer also automatically selects a new base port based on availability in the remote node. There is no need to specify one manually during the installation. @@ -40,43 +38,6 @@ Enter `2` and press **Enter**. You can then create your CryoSPARC user account. **Do not use the same password as your PSI password.** -## Installation on Grace Hopper nodes - -Installing CryoSPARC for the Grace Hopper nodes is similar to the standard installation described above. The main differences are: - -* The worker-node architecture is `aarch64`. -* A different CryoSPARC version is used. -* A separate installation path must be specified to avoid conflicts with an existing installation. - -In this example, the installation path is `/data/user/$USER/cryosparc_beta`. - -The installation command is: - -```bash -cryosparc-merlin install complete \ - --license [CryoSPARC License] \ - --version 5.1.0-privatebeta.2 \ - -d /data/user/$USER/cryosparc_beta \ - --arch-worker aarch64 -``` - -!!! info "Grace Hopper Node Availability" - The installation requires an interactive job on a Grace Hopper node to compile the `aarch64` worker components. If all Grace Hopper nodes are busy, the job may take some time to start. The installation will continue automatically once a suitable node becomes available. - -The master node remains `x86_64` because the CryoSPARC instance runs on a node with an `x86_64` CPU architecture. Only the worker architecture is changed to `aarch64`. - -As with the standard installation, when the installer asks: - -> Are the above settings correct? - -Enter `1` and press **Enter** to proceed. - -When it asks: - -> Add bin directory to your ~/.bashrc ? - -Enter `2` and press **Enter**. - ## Possible Issues The installation may complete without installing the default lanes. If this happens, run: diff --git a/docs/cls/software/EM/cryosparc/update.md b/docs/cls/software/EM/cryosparc/update.md index eb27de5b..2f0b2421 100644 --- a/docs/cls/software/EM/cryosparc/update.md +++ b/docs/cls/software/EM/cryosparc/update.md @@ -1,79 +1,93 @@ -Follow the steps below to update an existing CryoSPARC installation. Before starting the update, ensure that all running jobs have finished or have been terminated. Updating an active installation may interrupt running jobs. +# Update -### 1. Shut down the CryoSPARC instance +This guide describes how to update an existing CryoSPARC installation to `v5.1.2` or perform a completely new installation. Both `x86_64` and `aarch64` worker architectures are supported. Here we are updating to version `v5.1.2` but the same steps should work for other versions after version 5. -Before updating, fully shut down the CryoSPARC instance: +There are two options: -```bash -cryosparc-merlin cryosparcm stop +1. Update an existing installation (e.g., from `v4.7.1` to `v5.1.2`). +2. Perform a completely new installation, either replacing the previous installation or keeping both versions side by side. + +## 1. Update an Existing Installation +If you are currently running CryoSPARC (likely `v4.7.1`) and want to upgrade to `v5.1.2`, follow these steps. + +!!! Warning + Before proceeding, it is strongly recommended to back up your current CryoSPARC installation. + +### Step 1. Update the CryoSPARC master node +Run the following command on the master node: ``` - -!!! info "The -d / --cryosparc-path option" - If the CryoSPARC installation is not located in the default directory `/data/user/$USER/cryosparc`, specify the installation path using the `-d` option. - -### 2. Check for available updates - -Check whether a new CryoSPARC version is available: - -```bash -cryosparc-merlin cryosparcm update --check -``` - -This command checks for available updates without installing them. - -### 3. Update the CryoSPARC master - -Start the master update with: - -```bash cryosparc-merlin cryosparcm update ``` -The update process will: - -1. Stop the CryoSPARC instance if it is still running. -2. Download the required software updates. -3. Install the update on the CryoSPARC master. -4. Restart the CryoSPARC instance automatically if the update completes successfully. - -After the update, verify that the CryoSPARC instance is running correctly: - -```bash -cryosparc-merlin cryosparcm status +### Step 2. Update the x86_64 worker +Install the `v5.1.2` worker for the x86_64 architecture: ``` - -### 4. Update the CryoSPARC worker - -After updating the master, the worker installation must also be updated. - -First, change to the worker installation directory, for example: - -```bash -cd /data/user/$USER/cryosparc/cryosparc_worker/ -``` - -!!! warning "Worker Architecture" - Make sure you access the correct worker installation. For installations with **version 5** or above, the path to the worker installation has the architecture in the directory path. - - ```bash - /data/user/$USER/cryosparc/cryosparc_worker_x86_64 - ``` - or - - ```bash - /data/user/$USER/cryosparc/cryosparc_worker_aarch64 - ``` - -Copy the updated worker package from the master installation: - -```bash -cp ../cryosparc_master/cryosparc_worker.tar.gz ./ -``` - -Then run the worker update command: - -```bash -cryosparc-merlin cryosparcw update +cryosparc-merlin install worker \ + --arch-worker x86_64 \ + --version 5.1.2 \ + --license [your CryoSPARC license] ``` +### Step 3. Update the aarch64 worker +Install the `v5.1.2` worker for the aarch64 architecture: +``` +cryosparc-merlin install worker \ + --arch-worker aarch64 \ + --version 5.1.2 \ + --license [your CryoSPARC license] +``` + +!!! Note + This command will attempt to start a job on one of the GH nodes to install the worker. + + +### Step 4. Create the x86_64 worker lanes +``` +cryosparc-merlin lanes create default --arch-worker x86_64 +``` + +### Step 5. Create the aarch64 worker lanes +``` +cryosparc-merlin lanes create default --arch-worker aarch64 +``` + +### Step 6. Install all worker lanes +Finally, install all available worker lanes: +``` +cryosparc-merlin lanes install --all +``` + + +## 2. Completely New Installation +If you want to perform a completely new installation of CryoSPARC `v5.1.2`, there are two possibilities depending on whether you want to keep your previous installation. + +### Option A. Replace the Previous Installation +If you do not have a previous CryoSPARC installation, or you wish to overwrite your existing installation, run: +``` +cryosparc-merlin install complete \ + --arch-worker both \ + --version 5.1.2 \ + --license [your CryoSPARC license] +``` + +!!!Warning + Make sure you have backed up any data you want to preserve before overwriting an existing installation. + +### Option B. Install Alongside the Previous Version +If you want to keep your existing CryoSPARC `v4.7.1` installation while installing `v5.1.2` separately, specify a new installation directory using the `-d` flag: + +``` +cryosparc-merlin install complete \ + --arch-worker both \ + --version 5.1.2 \ + --license [your CryoSPARC license] \ + -d /data/user/$USER/cryosparc_v5.1.2 +``` + +This creates a separate installation in: +`/data/user/$USER/cryosparc_v5.1.2` + + +!!! Note + The `-d` flag specifies the directory where CryoSPARC will be installed. This allows you to maintain separate installations of `v4.7.1` and `v5.1.2`. diff --git a/docs/cls/software/EM/relion.md b/docs/cls/software/EM/relion.md index ce4fc5c8..cb8312b7 100644 --- a/docs/cls/software/EM/relion.md +++ b/docs/cls/software/EM/relion.md @@ -212,10 +212,3 @@ Only available for A100 GPUs | Extract subtomos | 5.0.1 | - | 2 | 16 | 118 | **00:02:26** | | Extract subtomos | 5.0.1 | - | 4 | 16 | 236 | 00:02:12 | | Extract subtomos | 5.0.1 | - | 8 | 16 | 472 | 00:01:14 | - -#### 3D initial reference - -| Job | Version | GPUs | MPI procs | CPUs (Threads) | Memory (Gb) | Total time (HH:MM:SS) | -| ------------------ | --------- | ----------- | --------------- | ----------------- | ------------ | --------------------- | -| 3D initial reference | 5.0.1 | 1 (A100) | 1 | 16 | 118 | | -| 3D initial reference | 5.0.1 | 1 (GH) | 1 | 36 | 118 | | diff --git a/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times.png b/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times.png deleted file mode 100644 index 9a0a1391..00000000 Binary files a/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times.png and /dev/null differ diff --git a/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times_comparison.png b/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times_comparison.png new file mode 100644 index 00000000..22d9dcf2 Binary files /dev/null and b/docs/images/CLS/cryosparc/cryosparc_benchmarks_overall_times_comparison.png differ diff --git a/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_common.png b/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_common.png deleted file mode 100644 index d03420bd..00000000 Binary files a/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_common.png and /dev/null differ diff --git a/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_comparison.png b/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_comparison.png new file mode 100644 index 00000000..7ba8169d Binary files /dev/null and b/docs/images/CLS/cryosparc/cryosparc_benchmarks_speedup_comparison.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 76d5d85e..17e76dde 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -222,11 +222,6 @@ nav: - meg/migration-to-merlin7.md - CLS: # - Archiving: - - Data Transfer: - - cls/data_transfer/emf.md - - cls/data_transfer/scopem.md - - cls/data_transfer/unil_s3_bucket.md - - cls/data_transfer/uni_basel.md - Software: - cls/software/modules.md - Electron Microscopy: @@ -246,6 +241,12 @@ nav: - cls/software/molecular_dynamics/namd.md - cls/software/molecular_dynamics/gromacs.md # - Bioinformatics: + - Data Transfer: + - cls/data_transfer/emf.md + - cls/data_transfer/scopem.md + - cls/data_transfer/nexus.md + - cls/data_transfer/unil_s3_bucket.md + - cls/data_transfer/uni_basel.md - PSI@CSCS: - cscs-userlab/introduction.md - cscs-userlab/transfer-data.md