CryoSPARC Guide
  • About CryoSPARC
  • Current Version
  • Licensing
    • Non-commercial license agreement
  • Setup, Configuration and Management
    • CryoSPARC Architecture and System Requirements
    • CryoSPARC Installation Prerequisites
    • How to Download, Install and Configure
      • Obtaining A License ID
      • Downloading and Installing CryoSPARC
      • CryoSPARC Cluster Integration Script Examples
      • Accessing the CryoSPARC User Interface
    • Deploying CryoSPARC on AWS
      • Performance Benchmarks
    • Using CryoSPARC with Cluster Management Software
    • Software Updates and Patches
    • Management and Monitoring
      • Environment variables
      • (Optional) Hosting CryoSPARC Through a Reverse Proxy
      • cryosparcm reference
      • cryosparcm cli reference
      • cryosparcw reference
    • Software System Guides
      • Guide: Updating to CryoSPARC v4
      • Guide: Installation Testing with cryosparcm test
      • Guide: Verify CryoSPARC Installation with the Extensive Validation Job (v4.3+)
      • Guide: Verify CryoSPARC Installation with the Extensive Workflow (≤v4.2)
      • Guide: Performance Benchmarking (v4.3+)
      • Guide: Download Error Reports
      • Guide: Maintenance Mode and Configurable User Facing Messages
      • Guide: User Management
      • Guide: Multi-user Unix Permissions and Data Access Control
      • Guide: Lane Assignments and Restrictions
      • Guide: Queuing Directly to a GPU
      • Guide: Priority Job Queuing
      • Guide: Configuring Custom Variables for Cluster Job Submission Scripts
      • Guide: SSD Particle Caching in CryoSPARC
      • Guide: Data Management in CryoSPARC (v4.0+)
      • Guide: Data Cleanup (v4.3+)
      • Guide: Reduce Database Size (v4.3+)
      • Guide: Data Management in CryoSPARC (≤v3.3)
      • Guide: CryoSPARC Live Session Data Management
      • Guide: Manipulating .cs Files Created By CryoSPARC
      • Guide: Migrating your CryoSPARC Instance
      • Guide: EMDB-friendly XML file for FSC plots
    • Troubleshooting
  • Application Guide (v4.0+)
    • A Tour of the CryoSPARC Interface
    • Browsing the CryoSPARC Instance
    • Projects, Workspaces and Live Sessions
    • Jobs
    • Job Views: Cards, Tree, and Table
    • Creating and Running Jobs
    • Low Level Results Interface
    • Filters and Sorting
    • View Options
    • Tags
    • Flat vs Hierarchical Navigation
    • File Browser
    • Blueprints
    • Workflows
    • Inspecting Data
    • Managing Jobs
    • Interactive Jobs
    • Upload Local Files
    • Managing Data
    • Downloading and Exporting Data
    • Instance Management
    • Admin Panel
  • Cryo-EM Foundations
    • Image Formation
      • Contrast in Cryo-EM
      • Waves as Vectors
      • Aliasing
  • Expectation Maximization in Cryo-EM
  • Processing Data in cryoSPARC
    • Get Started with CryoSPARC: Introductory Tutorial (v4.0+)
    • Tutorial Videos
    • All Job Types in CryoSPARC
      • Import
        • Job: Import Movies
        • Job: Import Micrographs
        • Job: Import Particle Stack
        • Job: Import 3D Volumes
        • Job: Import Templates
        • Job: Import Result Group
        • Job: Import Beam Shift
      • Motion Correction
        • Job: Patch Motion Correction
        • Job: Full-Frame Motion Correction
        • Job: Local Motion Correction
        • Job: MotionCor2 (Wrapper) (BETA)
        • Job: Reference Based Motion Correction (BETA)
      • CTF Estimation
        • Job: Patch CTF Estimation
        • Job: Patch CTF Extraction
        • Job: CTFFIND4 (Wrapper)
        • Job: Gctf (Wrapper) (Legacy)
      • Exposure Curation
        • Job: Micrograph Denoiser (BETA)
        • Job: Micrograph Junk Detector (BETA)
        • Interactive Job: Manually Curate Exposures
      • Particle Picking
        • Interactive Job: Manual Picker
        • Job: Blob Picker
        • Job: Template Picker
        • Job: Filament Tracer
        • Job: Blob Picker Tuner
        • Interactive Job: Inspect Particle Picks
        • Job: Create Templates
      • Extraction
        • Job: Extract from Micrographs
        • Job: Downsample Particles
        • Job: Restack Particles
      • Deep Picking
        • Guideline for Supervised Particle Picking using Deep Learning Models
        • Deep Network Particle Picker
          • T20S Proteasome: Deep Particle Picking Tutorial
          • Job: Deep Picker Train and Job: Deep Picker Inference
        • Topaz (Bepler, et al)
          • T20S Proteasome: Topaz Particle Picking Tutorial
          • T20S Proteasome: Topaz Micrograph Denoising Tutorial
          • Job: Topaz Train and Job: Topaz Cross Validation
          • Job: Topaz Extract
          • Job: Topaz Denoise
      • Particle Curation
        • Job: 2D Classification
        • Interactive Job: Select 2D Classes
        • Job: Reference Based Auto Select 2D (BETA)
        • Job: Reconstruct 2D Classes
        • Job: Rebalance 2D Classes
        • Job: Class Probability Filter (Legacy)
        • Job: Rebalance Orientations
        • Job: Subset Particles by Statistic
      • 3D Reconstruction
        • Job: Ab-Initio Reconstruction
      • 3D Refinement
        • Job: Homogeneous Refinement
        • Job: Heterogeneous Refinement
        • Job: Non-Uniform Refinement
        • Job: Homogeneous Reconstruction Only
        • Job: Heterogeneous Reconstruction Only
        • Job: Homogeneous Refinement (Legacy)
        • Job: Non-uniform Refinement (Legacy)
      • CTF Refinement
        • Job: Global CTF Refinement
        • Job: Local CTF Refinement
        • Job: Exposure Group Utilities
      • Conformational Variability
        • Job: 3D Variability
        • Job: 3D Variability Display
        • Job: 3D Classification
        • Job: Regroup 3D Classes
        • Job: Reference Based Auto Select 3D (BETA)
        • Job: 3D Flexible Refinement (3DFlex) (BETA)
      • Postprocessing
        • Job: Sharpening Tools
        • Job: DeepEMhancer (Wrapper)
        • Job: Validation (FSC)
        • Job: Local Resolution Estimation
        • Job: Local Filtering
        • Job: ResLog Analysis
        • Job: ThreeDFSC (Wrapper) (Legacy)
      • Local Refinement
        • Job: Local Refinement
        • Job: Particle Subtraction
        • Job: Local Refinement (Legacy)
      • Helical Reconstruction
        • Helical symmetry in CryoSPARC
        • Job: Helical Refinement
        • Job: Symmetry search utility
        • Job: Average Power Spectra
      • Utilities
        • Job: Exposure Sets Tool
        • Job: Exposure Tools
        • Job: Generate Micrograph Thumbnails
        • Job: Cache Particles on SSD
        • Job: Check for Corrupt Particles
        • Job: Particle Sets Tool
        • Job: Reassign Particles to Micrographs
        • Job: Remove Duplicate Particles
        • Job: Symmetry Expansion
        • Job: Volume Tools
        • Job: Volume Alignment Tools
        • Job: Align 3D maps
        • Job: Split Volumes Group
        • Job: Orientation Diagnostics
      • Simulations
        • Job: Simulate Data (GPU)
        • Job: Simulate Data (Legacy)
    • CryoSPARC Tools
    • Data Processing Tutorials
      • Case study: End-to-end processing of a ligand-bound GPCR (EMPIAR-10853)
      • Case Study: DkTx-bound TRPV1 (EMPIAR-10059)
      • Case Study: Pseudosymmetry in TRPV5 and Calmodulin (EMPIAR-10256)
      • Case Study: End-to-end processing of an inactive GPCR (EMPIAR-10668)
      • Case Study: End-to-end processing of encapsulated ferritin (EMPIAR-10716)
      • Case Study: Exploratory data processing by Oliver Clarke
      • Tutorial: Tips for Membrane Protein Structures
      • Tutorial: Common CryoSPARC Plots
      • Tutorial: Negative Stain Data
      • Tutorial: Phase Plate Data
      • Tutorial: EER File Support
      • Tutorial: EPU AFIS Beam Shift Import
      • Tutorial: Patch Motion and Patch CTF
      • Tutorial: Float16 Support
      • Tutorial: Particle Picking Calibration
      • Tutorial: Blob Picker Tuner
      • Tutorial: Helical Processing using EMPIAR-10031 (MAVS)
      • Tutorial: Maximum Box Sizes for Refinement
      • Tutorial: CTF Refinement
      • Tutorial: Ewald Sphere Correction
      • Tutorial: Symmetry Relaxation
      • Tutorial: Orientation Diagnostics
      • Tutorial: BILD files in CryoSPARC v4.4+
      • Tutorial: Mask Creation
      • Case Study: Yeast U4/U6.U5 tri-snRNP
      • Tutorial: 3D Classification
      • Tutorial: 3D Variability Analysis (Part One)
      • Tutorial: 3D Variability Analysis (Part Two)
      • Tutorial: 3D Flexible Refinement
        • Installing 3DFlex Dependencies (v4.1–v4.3)
      • Tutorial: 3D Flex Mesh Preparation
    • Webinar Recordings
  • Real-time processing in cryoSPARC Live
    • About CryoSPARC Live
    • Prerequisites and Compute Resources Setup
    • How to Access cryoSPARC Live
    • UI Overview
    • New Live Session: Start to Finish Guide
    • CryoSPARC Live Tutorial Videos
    • Live Jobs and Session-Level Functions
    • Performance Metrics
    • Managing a CryoSPARC Live Session from the CLI
    • FAQs and Troubleshooting
  • Guides for v3
    • v3 User Interface Guide
      • Dashboard
      • Project and Workspace Management
      • Create and Build Jobs
      • Queue Job, Inspect Job and Other Job Actions
      • View and Download Results
      • Job Relationships
      • Resource Manager
      • User Management
    • Tutorial: Job Builder
    • Get Started with CryoSPARC: Introductory Tutorial (v3)
    • Tutorial: Manually Curate Exposures (v3)
  • Resources
    • Questions and Support
Powered by GitBook
On this page
  • Hardware Configuration
  • System Requirements and Compute Resources Terminology
  • Preprocessing Lane
  • Reconstruction Lane
  • Auxiliary Jobs Lane
  • How much GPU memory do I need?
  • Fewer than 4 GPUs?
  • Using a Cluster - Considerations
  1. Real-time processing in cryoSPARC Live

Prerequisites and Compute Resources Setup

PreviousAbout CryoSPARC LiveNextHow to Access cryoSPARC Live

Last updated 1 year ago

Hardware Configuration

CryoSPARC Live is an independent application that is hosted alongside your main CryoSPARC instance. It works best when it has direct access to the files being written by the microscope that is actively recording images. Users can access the CryoSPARC Live interface directly from within the network via a web-browser, in the same way as interacting with the main CryoSPARC instance. See: .

CryoSPARC Live automatically manages hardware resources available (GPUs) and deploys multiple preprocessing workers concurrently as well as dispatching reconstruction jobs to the main cryoSPARC instance transparently via the job scheduler.

The compute workflow for CryoSPARC Live is detailed below. While the overall hardware and system requirements for CryoSPARC Live are similar to the prerequisites of the main CryoSPARC system (See: ), please read below on for detailed information on GPU requirements.

System Requirements and Compute Resources Terminology

We recommend a minimum of 4 GPUs for a seamless experience and the ability to keep up with data collection.

There are three "task types" in CryoSPARC Live which correspond to the three "lane types", described below. On configuration of a particular Live session, you will need to tell Live which node(s) or "lanes" to use for each of these three types of tasks as well as how many GPUs to use in parallel for preprocessing. The compute resources allocated to these different task types can be configured on a per-session basis, can be adjusted during a session, and can be saved for future use via Configuration Profiles.

  1. Preprocessing jobs: CryoSPARC Live Worker (motion correction, CTF estimation, thumbnail generation, particle picking and particle extraction all in one)

  2. Reconstruction jobs: Streaming 2D Classification and Streaming 3D Refinement

  3. Auxiliary jobs: Which are optional or transient (e.g., 2D Classification used for template creation for the template picker and Ab-Initio Reconstruction)

Preprocessing Lane

Minimum requirement: 1 GPU

The Number of Preprocessing GPU Workers (minimum one) selected here will determine how many CryoSPARC Live workers will be spawned. Live workers perform preprocessing of incoming movies, including motion correction, CTF estimation, thumbnail generation, particle picking, and particle extraction. Each CryoSPARC Live worker will allocate one GPU to its main process and use this continuously unless the worker is killed (by way of pausing the Session). The number of preprocessing workers can be changed by modifying this value. The new number of workers will be spawned once the Session is paused, then started again.

CPU Memory Bandwidth

CryoSPARC Live's preprocessing step required fast copies of movie data from disk to the GPU. To achieve this, configure your system with a high memory bandwidth CPU (>100 GB/s). Slower CPUs will still work but may not achieve optimal throughput.

Reconstruction Lane

Minimum requirement: 2 GPUs

CryoSPARC Live will automatically schedule a Streaming 2D Classification and Streaming Refinement job when requested on the lane selected here. Each reconstruction job (Streaming 2D Classification, Streaming 3D Refinement) will allocate one GPU to its main process and use this continuously as new particles arrive. Therefore, the minimum required GPUs for this lane is two. In the case where the lane selected here does not have more than one GPU available when the job is queued, the CryoSPARC scheduler will still automatically schedule reconstruction jobs to the lane as resources become available. Since these jobs hold resources indefinitely, any other queued jobs that are waiting for resources in this lane may remain indefinitely in the queue until the Session is paused or the reconstruction job is manually stopped.

The GPUs in this lane are only used once the streaming 2D/3D jobs are started. You can opt, during a Live collection session, to not start these streaming jobs until some time into data collection. During this time, the GPUs are free, and can be used for other phases (eg., Preprocessing or Auxiliary jobs - see below).

Auxiliary Jobs Lane

Minimum: 1 GPU

Auxiliary jobs in CryoSPARC Live include 2D Classification jobs (for generating templates for the template picker), Create Template jobs (for generating templates from volumes for the template picker) and Ab-Initio jobs (for initial model creation). Each job allocates one GPU to its main process. The minimum required GPUs for this lane is one. You can use the same lane for auxiliary jobs as for reconstruction even if there are only 2 GPUs available in the lane, as long as you are careful that the streaming reconstruction jobs are not already started when auxiliary jobs need to run (otherwise these jobs will be indefinitely queued). Most of the time, this is not an issue as template generation generally precedes streaming 2D classification and ab-initio reconstruction precedes streaming 3D refinement.

How much GPU memory do I need?

The recommended amount of GPU memory required is at minimum 11GB per GPU to be able to process most types of data successfully in CryoSPARC. For minimum GPU requirements per job type/data type, see the table below.

Minimum GPU Memory Requirements

Preprocessing

Reconstruction

Auxiliary

Gatan K2 Images, TFS Falcon 3 Images: 8GB+

Gatan K2 Super Resolution, Gatan K3, Gatan K3 Super Resolution,

TFS Falcon 4 Images

TFS Falcon 4 EER Images: 11GB+

2D Classification: 4GB+

2D Classification: 4GB+

Ab-Initio Reconstruction: 8GB+

Fewer than 4 GPUs?

We recommend a minimum of 4 GPUs so that you can allocate two to preprocessing and two to reconstruction or auxiliary tasks for a seamless experience and the ability to truly keep up with a data collection session - i.e., be able to generate 3D structures while still collecting data.

If 4 GPUs are not available or you are using CryoSPARC Live on previously collected data (i.e., not "live" during a data collection session), it is possible to reduce the compute requirement somewhat.

Preprocessing can use 1 or more GPUs, scaling linearly in terms of throughput. Reconstruction uses one GPU for 2D classification and one GPU for 3D refinement, which run indefinitely in streaming mode, continuously taking in new particles and updating the 2D/3D results. Both 2D streaming classification and 3D streaming refinement can be started part-way into the session (e.g., an Ab-Initio model needs to be first created before refinement can begin).

Three GPUS will also be able to perform all the functions, but depending on your data collection speed, having only one GPU for preprocessing may not be sufficient to keep up with your camera. With more GPUs, the preprocessing can become correspondingly faster.

With two GPUs, you can still achieve many of the benefits of Live processing but you will need to manually switch between using 2 GPUs for preprocessing / 1 GPU for preprocessing + 1 GPU for 2D classification / 1 GPU for preprocessing + 1 GPU for 3D refinement. Therefore, the results will not be updating in a Live streaming fashion, but only periodically as these switches are made.

Using a Cluster - Considerations

Users can select a cluster lane for any of the three processing lanes in CryoSPARC Live. Some considerations to keep in mind when using a cluster include resource availability and quality of service limitations.

When you start a Live session, preprocessing workers are immediately dispatched to the queuing system to be launched. If you are using a cluster, the scheduling and launching of jobs is taken care of by the cluster scheduler, whose timings may be unpredictable due to availability of resources at queue time. This increases the latency of starting your Live session, and we believe it impacts the experience of CryoSPARC Live.

3D Refinement : 11GB+

Some cluster management systems, especially those serving multiple users, for example in a university, also have QOS’s (quality of service policies) in place, which limit how long a single process can use resources. Due to the nature of CryoSPARC Live, the preprocessing, streaming 2D classification and streaming 3D refinement workers run indefinitely until the session is “paused”. See: . If your cluster has these policies, ensure you are keeping track of your running jobs by either using the built-in resource manager in CryoSPARC, or the cluster scheduler’s CLI.

You may also choose to circumvent these policies if your cluster supports dedicating entire worker nodes. If this is the case, you may be able to use a dedicated node to run CryoSPARC Live jobs by configuring it as a normal worker node in CryoSPARC. More details on how add worker nodes can be found in the general installation instructions ('Worker Node'):

Session Functions
Downloading and Installing cryoSPARC
(heavily dependent on box size)
Access cryoSPARC Live
Hardware and System Requirements
Compute Resources section on the Configuration Tab