diff --git a/docs/cls/data_transfer/emf.md b/docs/cls/data_transfer/emf.md new file mode 100644 index 0000000..41085cc --- /dev/null +++ b/docs/cls/data_transfer/emf.md @@ -0,0 +1,88 @@ +# EMF PSI + +The storage systems used by the Electron Microscopy Facility at PSI (EMF) are mounted on the Merlin 7 login nodes. You can copy files from the EMF storage to your home or project directory on Merlin 7, or transfer them from Merlin 7 to your local computer. + +## Within Merlin 7 + +The EMF files are accessible through the `/emf` mount on the Merlin 7 cluster. However, the files are **not stored on Merlin 7**; the mount provides access to files that remain on the EMF storage system. + +Before working with the files, copy them to your home directory or project directory on Merlin 7. + +### `rsync` + +We recommend using `rsync` to copy files because it preserves file attributes and provides useful information about the transfer. + +Run: + +```bash +rsync -avAHXS sourcedir/ destdir/ +``` + +If you need to change the group ownership of the copied files, use: + +```bash +rsync -avAHXS --chown=:$GROUP_NAME sourcedir/ destdir/ +``` + +Replace `$GROUP_NAME` with the name of the group that should own the files. + +!!! note + The trailing `/` in `sourcedir/` is significant. It means that the **contents** of `sourcedir` are copied to `destdir`, rather than the directory itself. + +### `cp` + +Alternatively, you can use `cp`: + +```bash +cp -r sourcedir/ destdir/ +``` + +## From Merlin 7 to your local machine + +You can transfer files from Merlin 7 to your local computer using `rsync`, `scp`, or a graphical application such as FileZilla. + +### `rsync` + +`rsync` is recommended for transferring large amounts of data or for transfers that may need to be resumed. + +For example: + +```bash +rsync -avAHXS $USER@login001.merlin7.psi.ch:/data/project/general/myproject/ ~/localdata/ +``` + +### `scp` + +For a simple recursive copy, you can use `scp`: + +```bash +scp -r $USER@login001.merlin7.psi.ch:/data/project/general/myproject/ ~/localdata/ +``` + +### FileZilla + +You can also use [FileZilla](https://filezilla-project.org/) to transfer files between your local computer and Merlin 7. + +Open FileZilla and create a connection to Merlin 7 using the following settings: + +| Setting | Value | +| ------------ | ------------------------------------------------------ | +| **Host** | `login001.merlin7.psi.ch` or `login002.merlin7.psi.ch` | +| **Username** | Your Merlin 7 username | +| **Password** | Your Merlin 7 password | +| **Port** | `22` | +| **Protocol** | `SFTP - SSH File Transfer Protocol` | + +Once connected, the files on Merlin 7 will be displayed in the **Remote site** panel. + +You can transfer files between your computer and Merlin 7 by dragging them between the **Remote site** and **Local site** panels. Alternatively, right-click a file or directory and select **Download** or **Upload**. + +!!! tip + To improve file transfer speeds, increase the maximum number of simultaneous transfers in FileZilla: + + 1. Open **Edit > Settings**. + 2. Select **Transfers**. + 3. Under **Maximum simultaneous transfers**, set **Maximum simultaneous transfers** to `10`. + 4. Click **OK** to save the changes. + + ![FileZilla transfer settings](../../images/CLS/data_transfer/data_transfer_tips.png) diff --git a/docs/cls/data_transfer/scopem.md b/docs/cls/data_transfer/scopem.md index 6e4d830..4a6c5e9 100644 --- a/docs/cls/data_transfer/scopem.md +++ b/docs/cls/data_transfer/scopem.md @@ -1,4 +1,4 @@ -# ETH Zurich ScopeM +# ScopeM ETH Zurich This article explains how to transfer data remotely between the [ETH Zurich ScopeM facility](https://scopem.ethz.ch/) and Merlin 7 using the **SFTP (SSH File Transfer Protocol)**. @@ -6,6 +6,16 @@ This article explains how to transfer data remotely between the [ETH Zurich Scop One of the easiest ways to transfer files using SFTP is through **NoMachine** and **FileZilla**. +!!! tip + To improve file transfer speeds, increase the maximum number of simultaneous transfers in FileZilla: + + 1. Open **Edit > Settings**. + 2. Select **Transfers**. + 3. Under **Maximum simultaneous transfers**, set the value to **10**. + 4. Click **OK** to save the changes. + + ![FileZilla transfer settings](../../images/CLS/data_transfer/data_transfer_tips.png) + ### 1. Connect to Merlin 7 Connect to Merlin 7 using NoMachine. @@ -40,16 +50,24 @@ You can transfer files between ScopeM and Merlin 7 by dragging them between the ## Using the terminal -ScopeM endpoints can also be accessed directly from a Merlin 7 terminal using `sftp`. +ScopeM endpoints can also be accessed directly from a Merlin 7 login node using `sftp`. -### Interactive SFTP session +### **Interactive SFTP session** Connect to a ScopeM endpoint with: ```bash -sftp -P 5007 cryoem1@scopem-krios1data.ethz.ch +sftp -P 5007 @scopem-krios1data.ethz.ch ``` +If you encounter an error such as **"Too many authentication failures"**, force SFTP to use password authentication: + +```bash +sftp -o PubkeyAuthentication=no -o PreferredAuthentications=password -P 5007 @scopem-krios1data.ethz.ch +``` + +Enter your password when prompted. + Once connected, use the `get` command to download files or directories. For example: ```text @@ -62,29 +80,31 @@ Retrieving home/P1/J1 The `-r` option recursively downloads the specified directory and its contents. -### Download a directory directly +### **Download a directory directly** -You can also specify the remote path directly from the command line: +You can also specify the remote path directly on the command line: ```bash -sftp -r -P 5007 cryoem1@scopem-krios1data.ethz.ch:home/P1 ./ +sftp -r -P 5007 @scopem-krios1data.ethz.ch:home/P1 ./ ``` You will be prompted for your password: ```text -cryoem1@scopem-krios1data.ethz.ch's password: +@scopem-krios1data.ethz.ch's password: + Connected to scopem-krios1data.ethz.ch. + Fetching /home/P1/ to ./P1 Retrieving /home/P1 Retrieving /home/P1/J1 ``` -### Configure SSH for easier access +### **Configure SSH for easier access** If you frequently transfer data from ScopeM, you can simplify the connection by adding the ScopeM endpoints to your SSH configuration file: -```bash +```text $HOME/.ssh/config ``` @@ -92,13 +112,13 @@ For example: ```text Host krios1 krios2 krios3 - Hostname scopem-%hdata.ethz.ch + HostName scopem-%hdata.ethz.ch Host scopem-krios*data.ethz.ch Port 5007 Host *.ethz.ch - User cryoem1 + User ``` With this configuration, the hostname, port, and username do not need to be specified for every connection. @@ -106,7 +126,7 @@ With this configuration, the hostname, port, and username do not need to be spec For example, instead of: ```bash -sftp -r -P 5007 cryoem1@scopem-krios1data.ethz.ch:home/P1 ./ +sftp -r -P 5007 @scopem-krios1data.ethz.ch:home/P1 ./ ``` you can use: @@ -116,4 +136,4 @@ sftp -r krios1:home/P1 ./ ``` !!! note "SSH configuration" - Adjust the `User` entry in `$HOME/.ssh/config` if your ScopeM username differs from `cryoem1`. + Adjust the `User` entry in `$HOME/.ssh/config` to match your username. diff --git a/docs/cls/software/modules.md b/docs/cls/software/modules.md index 869993b..115ec64 100644 --- a/docs/cls/software/modules.md +++ b/docs/cls/software/modules.md @@ -2,7 +2,6 @@ This page provides a list of the modules available on the cluster. The list may differ from the modules currently installed on the **Merlin 7** cluster. - !!! tip "Finding the right module" If you need a specific software package or version, use `module avail` or `module spider` to check which versions are available before loading the module. @@ -10,34 +9,39 @@ To load a module, run: `module load [module_name]` ## Electron Microscopy -| Software | Module name | CPU/A100 nodes | GH nodes | Run type | -| ------------- | ---------------- | :-------------: | :-------------------: | ---------------------- | -| CryoSPARC | - | ✓ | ✓ | Batch job | -| RELION | `relion` | ✓ | ✓ (IMOD not available) | Interactive, Batch job | -| LipIDens | `lipidens` | ✓ | ✓ | Interactive | -| ModelAngelo | `model_angelo` | ✓ | ✓ | Batch job | -| BindCraft | `BindCraft`[^1] | ✓ | ✓ | Batch job | -| CryoDECO | `cryodeco` | ✓ | - | Batch job | -| CryoRanker | `cryo_ief` | ✓ | - | Batch job | -| Cryo-IEF | `cryo_ief` | ✓ | - | Batch job | -| CryoSamba | `cryosamba`[^2] | ✓ | - | Interactive | -| crYOLO | `crYOLO` | ✓ | - | Interactive, Batch job | -| CryoDRGN | `cryodrgn` | ✓ | - | Batch job | -| pyEM | `pyem` | ✓ | - | Batch job | -| Phenix | `phenix`[^3] | ✓ | - | Interactive | -| MotionCor3 | `MotionCor3` | ✓ | - | Batch job | -| AreTomo3 | `AreTomo3` | ✓ | - | Batch job | -| AreTomo2 | `AreTomo2` | ✓ | - | Batch job | -| spIsoNet | `spIsoNet` | ✓ | - | Batch job | -| IsoNet | `IsoNet` | ✓ | - | Interactive, Batch job | -| Warp | `warp` | ✓ | - | Interactive | +| Software | Module name | CPU/A100 nodes | GH nodes | Run type | +| ------------- | ---------------- | :-------------: | :-------------------: | ---------------------- | +| CryoSPARC | - | ✓ | ✓ | Batch job | +| RELION | `relion` | ✓ | ✓ (IMOD not available) | Interactive, Batch job | +| LipIDens | `lipidens` | ✓ | ✓ | Interactive | +| ModelAngelo | `model_angelo` | ✓ | ✓ | Batch job | +| BindCraft | `BindCraft`[^1] | ✓ | ✓ | Batch job | +| CryoDECO | `cryodeco` | ✓ | - | Batch job | +| CryoRanker | `cryo_ief` | ✓ | - | Batch job | +| Cryo-IEF | `cryo_ief` | ✓ | - | Batch job | +| CryoSamba | `cryosamba`[^2] | ✓ | - | Interactive | +| crYOLO | `crYOLO` | ✓ | - | Interactive, Batch job | +| CryoDRGN | `cryodrgn` | ✓ | - | Batch job | +| pyEM | `pyem` | ✓ | - | Batch job | +| Phenix | `phenix`[^3] | ✓ | - | Interactive | +| MotionCor3 | `MotionCor3` | ✓ | ✓ | Batch job | +| AreTomo3 | `AreTomo3` | ✓ | - | Batch job | +| AreTomo2 | `AreTomo2` | ✓ | ✓ | Batch job | +| spIsoNet | `spIsoNet` | ✓ | - | Batch job | +| IsoNet | `IsoNet` | ✓ | - | Interactive, Batch job | +| IsoNet2 | `IsoNet2` | ✓ | - | Batch job | +| Warp | `warp` | ✓ | - | Interactive | +| ctffind4 | `ctffind4` | ✓ | ✓ | Batch job | +| ResMap | `ResMap` | ✓ | ✓ | Interactive, Batch job | +| pytom-match-pick | `pytom-match-pick` | ✓ | ✓ | Batch job | +| topaz | `topaz` | ✓ | ✓ | Batch job | ## Protein Structure Prediction and Design | Software | Module name | CPU/A100 nodes | GH nodes | Run type | | ----------------- | ------------------------------------ | :-------------: | :-------------------: | ---------------------- | | AlphaFold 3 | `alphafold3` | ✓ | ✓ | Batch job | -| AlphaFold 2 | `alphafold2`[^4] | ✓ | - | Batch job | +| AlphaFold 2 | `alphafold`[^4] | ✓ | - | Batch job | | dl_binder_design | dl_binder_design_module.sh [^5],[^6] | ✓ | - | Batch job | | ROCKET | rocket_module.sh [^7] | ✓ | - | Batch job | | GRASP-JAX | GRASP_module.sh [^8] | ✓ | - | Batch job | @@ -59,7 +63,8 @@ To load a module, run: `module load [module_name]` | ChimeraX | `chimerax` | ✓ | - | Interactive | | IMOD | `IMOD` | ✓ | - | Interactive, Batch job | | MemBrain | `membrain` | ✓ | - | Interactive, Batch job | -| PyMOL | Spack[^13] | ✓ | - | Interactive | +| PyMOL | `pymol` | ✓ | - | Interactive | +| napari | `napari` | ✓ | - | Interactive | | napari-boxmanager | `napari-boxmanager` | ✓ | - | Interactive | | napari-tomoslice | `napari-tomoslice` | ✓ | - | Interactive | @@ -67,25 +72,34 @@ To load a module, run: `module load [module_name]` | Software | Module name | CPU/A100 nodes | GH nodes | Run type | | ------------- | ------------------- | :-------------: | :-------------------: | ---------------------- | -| DNet | dnet_module.sh[^14] | ✓ | - | Interactive, Batch job | +| DNet | dnet_module.sh[^13] | ✓ | - | Interactive, Batch job | | NAMD | `NAMD` | ✓ | ✓ | Batch job | -| VMD | `VMD` | ✓ | ✓ | Interactive | +| VMD | `vmd` | ✓ | - | Interactive | | GROMACS | `gromacs` | ✓ | ✓ | Batch job | | Amber26 | `amber` | ✓ | ✓ | Batch job | | AmberTools26 | `ambertools` | ✓ | - | Batch job | | PLUMED | `plumed` | ✓ | ✓ | Batch job | | LAMMPS | `lammps` | ✓ | ✓ | Batch job | +| SevenNet | `sevennet` | ✓ | ✓ | Batch job | +| dssp | `dssp` | ✓ | ✓ | Batch job | ## Bioinformatics | Software | Module name | CPU/A100 nodes | GH nodes | Run type | | ------------- | ---------------- | :-------------: | :-------------------: | ---------------------- | -| FastQC | `fastqc` | ✓ | ✓ | Batch job | -| SRA Toolkit | `sratoolkit` | ✓ | ✓ | Batch job | -| Entrez Direct | `edirect` | ✓ | ✓ | Batch job | -| Cell Ranger | `cellranger` | ✓ | ✓ | Batch job | +| FastQC | `fastqc` | ✓ | - | Batch job | +| SRA Toolkit | `sratoolkit` | ✓ | - | Batch job | +| Entrez Direct | `edirect` | ✓ | - | Batch job | +| Cell Ranger | `cellranger` | ✓ | - | Batch job | +| kalign | `kalign` | ✓ | ✓ | Batch job | +| Refgenie | `refgenie` | ✓ | ✓ | Interactive | +| Nextflow | `nextflow` | ✓ | ✓ | Interactive, Batch job | +| nf-core | `nf-core` | ✓ | ✓ | Interactive, Batch job | +| hh-suite | `hhsuite` | ✓ | ✓ | Batch job | +| hmmer | `hmmer` | ✓ | ✓ | Batch job | +| SeqKit | `seqkit` | ✓ | - | Batch job | -[^1]: `module use Alps_A100; module load BindCraft` +[^1]: `module use Alps_A100; module load BindCraft` (A100 GPU nodes) [^2]: `source /data/project/cls/shared/software/cryosamba/dev_2025_11/cryosamba_module.sh load` [^3]: `module use MX; module load phenix/phenix-1.20-4459` [^4]: `module use MX; module load alphafold` @@ -97,5 +111,4 @@ To load a module, run: `module load [module_name]` [^10]: `source /data/project/cls/shared/software/germinal/dev_2025_10/germinal/germinal_module.sh load` [^11]: `source /data/project/cls/shared/software/BoltzDesign1/dev_2025_07/BoltzDesign1_module.sh load` [^12]: `source /data/project/cls/shared/software/prosculpt/1.1.4/prosculpt_module.sh load` -[^13]: `module use Spack unstable; module load gcc/12.3 openmpi/5.0.7-qhmk-A100-gpu py-pymol/3.1.0-5qcf` -[^14]: `source /data/project/cls/shared/software/DNet/dnet_module.sh load` +[^13]: `source /data/project/cls/shared/software/DNet/dnet_module.sh load` diff --git a/docs/cls/software/protein_structure_prediction/alphafold3.md b/docs/cls/software/protein_structure_prediction/alphafold3.md index 50a68d2..236b9ad 100644 --- a/docs/cls/software/protein_structure_prediction/alphafold3.md +++ b/docs/cls/software/protein_structure_prediction/alphafold3.md @@ -47,54 +47,15 @@ The following example runs the data pipeline on a full CPU node. The database se #SBATCH --mem=0 #SBATCH --exclusive -# ---------------------------------------------------------------------------- # -# Databases -# ---------------------------------------------------------------------------- # - -# Public databases -# $PUBLIC_DATABASES_DIR is automatically set by the AlphaFold 3 environment. -# PUBLIC_DATABASES_DIR=/data/project/cls/shared/databases/alphafold3/public_databases - -# Sharded databases -SHARDED_DATABASES_DIR=/data/project/cls/shared/databases/alphafold3/sharded_public_databases - -RFAM_SPLIT_DIR=${SHARDED_DATABASES_DIR}/rfam_14_9_clust_seq_id_90_cov_80_rep_seq.fasta.split -MGY_SPLIT_DIR=${SHARDED_DATABASES_DIR}/mgy_clusters_2022_05.fa.split -BFD_SPLIT_DIR=${SHARDED_DATABASES_DIR}/bfd-first_non_consensus_sequences.fasta.split -UNIPROT_SPLIT_DIR=${SHARDED_DATABASES_DIR}/uniprot_all_2021_04.fa.split -UNIREF90_SPLIT_DIR=${SHARDED_DATABASES_DIR}/uniref90_2022_05.fa.split -NT_RNA_SPLIT_DIR=${SHARDED_DATABASES_DIR}/nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fasta.split -RNACENTRAL_SPLIT_DIR=${SHARDED_DATABASES_DIR}/rnacentral_active_seq_id_90_cov_80_linclust.fasta.split - -# ---------------------------------------------------------------------------- # -# AlphaFold 3 -# ---------------------------------------------------------------------------- # - module purge module load alphafold3 -/usr/bin/time -v srun --cpu-bind=threads alphafold3 \ +srun --cpu-bind=threads alphafold3_sharded \ --json_path /path/to/json/input.json \ --model_dir /path/to/model_parameters \ --output_dir /path/to/output \ --run_inference=false \ --run_data_pipeline=true \ - --seqres_database_path ${PUBLIC_DATABASES_DIR}/pdb_seqres_2022_09_28.fasta \ - --pdb_database_path ${PUBLIC_DATABASES_DIR}/mmcif_files \ - --rfam_database_path="${RFAM_SPLIT_DIR}/rfam_14_9_clust_seq_id_90_cov_80_rep_seq.fasta@32" \ - --rfam_z_value=138.115553 \ - --rna_central_database_path="${RNACENTRAL_SPLIT_DIR}/rnacentral_active_seq_id_90_cov_80_linclust.fasta@128" \ - --rna_central_z_value=13271.415730 \ - --small_bfd_database_path="${BFD_SPLIT_DIR}/bfd-first_non_consensus_sequences.fasta@128" \ - --small_bfd_z_value=65984053 \ - --uniref90_database_path="${UNIREF90_SPLIT_DIR}/uniref90_2022_05.fa@256" \ - --uniref90_z_value=153742194 \ - --uniprot_cluster_annot_database_path="${UNIPROT_SPLIT_DIR}/uniprot_all_2021_04.fa@512" \ - --uniprot_cluster_annot_z_value=225619586 \ - --ntrna_database_path="${NT_RNA_SPLIT_DIR}/nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fasta@512" \ - --ntrna_z_value=76752.808514 \ - --mgnify_database_path="${MGY_SPLIT_DIR}/mgy_clusters_2022_05.fa@1024" \ - --mgnify_z_value=623796864 \ --jackhmmer_n_cpu=1 \ --jackhmmer_max_parallel_shards=$((SLURM_CPUS_PER_TASK / 4)) \ --nhmmer_n_cpu=1 \ @@ -105,20 +66,20 @@ module load alphafold3 The following parameters must be specified for every AlphaFold 3 run: -| Parameter | Description | -|----------------|---| -| `--json_path` | Path to the input JSON file. | +| Parameter | Description | +|----------------|--------------------------------------------------------------------| +| `--json_path` | Path to the input JSON file. | | `--model_dir` | Path to the directory containing the AlphaFold 3 model parameters. | -| `--output_dir` | Path to the directory where the results will be saved. | +| `--output_dir` | Path to the directory where the results will be saved. | #### Performance parameters The following parameters control the number of database shards searched in parallel: -| Parameter | Description | -|---|---| +| Parameter | Description | +|-----------------------------------|----------------------------------------------------------------------| | `--jackhmmer_max_parallel_shards` | Maximum number of database shards searched in parallel by JackHMMER. | -| `--nhmmer_max_parallel_shards` | Maximum number of database shards searched in parallel by NHMMER. | +| `--nhmmer_max_parallel_shards` | Maximum number of database shards searched in parallel by NHMMER. | !!! note "If the job takes a long time to start" @@ -130,6 +91,56 @@ The following parameters control the number of database shards searched in paral If the job is slow to start due to limited cluster availability, you can reduce the number of parallel shards to request fewer resources by reducing **--cpus-per-task** and **--mem**. +#### Non-sharded databases run + +You can also run the data pipeline on non-sharded databases. The benchmark results between the two option are displayed below. + +```bash +#!/bin/bash -e + +#SBATCH --job-name=alphafold3_data_pipeline +#SBATCH --cluster=merlin7 +#SBATCH --partition=hourly +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=256 +#SBATCH --time=01:00:00 +#SBATCH --output=alphafold3_data_pipeline_%j.log +#SBATCH --mem=0 +#SBATCH --exclusive + +module purge +module load alphafold3 + +srun --cpu-bind=threads alphafold3 \ + --json_path /path/to/json/input.json \ + --model_dir /path/to/model_parameters \ + --output_dir /path/to/output \ + --run_inference=false \ + --run_data_pipeline=true \ + --jackhmmer_n_cpu=$((SLURM_CPUS_PER_TASK / 4)) \ + --nhmmer_n_cpu=$((SLURM_CPUS_PER_TASK / 4)) +``` + +#### Benchmark results + +These results are representative of a large, heterogeneous protein–protein complex prediction workload using AlphaFold 3. The input consists of two protein chains, with chain A being an exceptionally long, highly repetitive and compositionally complex protein (approximately 3,000 residues) and chain B being a long, predominantly helical protein (approximately 600 residues). Thus, the benchmark represents a large protein–protein complex prediction with substantial sequence length and structural complexity, rather than a typical small single-protein prediction. + +They also compare running with [sharded databases](https://github.com/google-deepmind/alphafold3/blob/main/docs/performance.md#sharded-genetic-databases) and non-sharded. + +| Run | Version | CPU (Threads) | Memory (Gb) | Total time (HH:MM:SS) | +| ------------------ | --------------- | ------------- | ----------------- | ---------------------- | +| alphafold3_sharded | 3.0.4 | 256 | 472 | **00:12:10** | +| alphafold3 | 3.0.4 | 256 | 472 | 00:29:05 | +| | | | | | +| alphafold3_sharded | 3.0.4 | 128 | 236 | **00:24:23** | +| alphafold3 | 3.0.4 | 128 | 236 | 00:29:58 | +| | | | | | +| alphafold3_sharded | 3.0.4 | 64 | 118 | **00:32:46** | +| alphafold3 | 3.0.4 | 64 | 118 | 00:37:08 | +| | | | | | +| alphafold3_sharded | 3.0.4 | 32 | 59 | **01:02:00** | +| alphafold3 | 3.0.4 | 32 | 59 | 01:06:52 | + ### 2. Inference (GPU only) The inference stage requires a GPU and should be run separately from the CPU-only data pipeline. The following examples show how to run AlphaFold 3 on an NVIDIA A100 GPU node and a Grace Hopper GPU node. @@ -205,3 +216,12 @@ To use the JAX persistent compilation cache and avoid unnecessary recompilation ```bash --jax_compilation_cache_dir /path/to/jax_cache ``` + +#### Benchmark results + +| Run | Version | GPUs | CPU (Threads) | Memory (Gb) | Total time (HH:MM:SS) | +| ------------------ | --------- | ----------- | ----------------- | ------------ | --------------------- | +| GH | 3.0.4 | 1 | 72 | 100 | **00:26:16** | +| A100 | 3.0.3[^1] | 1 | 32 | 100 | 00:41:47 | + +[^1]: Running with version 3.0.4 resulted in CUDA OOM errors. diff --git a/docs/images/CLS/data_transfer/data_transfer_tips.png b/docs/images/CLS/data_transfer/data_transfer_tips.png new file mode 100644 index 0000000..8e4ce5c Binary files /dev/null and b/docs/images/CLS/data_transfer/data_transfer_tips.png differ diff --git a/mkdocs.yml b/mkdocs.yml index d035a95..e90b3fa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -220,6 +220,7 @@ nav: - 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