CryoSPARC Installation Prerequisites
Before installing CryoSPARC, ensure these six requirements are met.
Last updated
Before installing CryoSPARC, ensure these six requirements are met.
Last updated
CryoSPARC worker installations on workstations, dedicated GPU nodes or clusters require a recent version of the Nvidia driver and a Nvidia GPU.
As of CryoSPARC v4.4, CryoSPARC requires Nvidia Driver 520.61.05 or newer.
Please follow instructions specific to the worker's Linux distribution to install the Nvidia driver. Visit Troubleshooting for common GPU errors.
CryoSPARC versions v4.4.0 and newer include a bundled CUDA Toolkit and no longer require a separate CUDA installation. Only the Nvidia driver is required. CryoSPARC v4.4.0 comes with CUDA Toolkit version 11.8.0
For versions prior to v4.4.0, CryoSPARC requires a separate CUDA installation. CryoSPARC runs with CUDA version 11, and we recommend toolkit version 11.8.
The CryoSPARC master and worker nodes must have the same Unix user available on each node.
Execute all command line instance management tasks, such as updates or startup, under the Unix account that runs the CryoSPARC instance. Failure to do so may render the CryoSPARC instance inoperative.
Do not use the root account to install, update or manage a CryoSPARC instance.
You don't need to have a dedicated Unix user (e.g., cryosparcuser
), to run and install CryoSPARC -- you can use your own user account, but not the root account. Using your own user account makes sense when you are installing CryoSPARC for yourself, and you don't plan on expanding to have any other users use the same instance.
Create a dedicated user account (e.g., cryosparcuser
) that will run the CryoSPARC application on the master node and each worker node that will be used for computation.
In a master-worker setup, the CryoSPARC master node will use SSH to access the worker node and execute a bash script that will run the job a user has queued to that machine. Some lightweight job types queue directly to the master node, in which case the CryoSPARC master process will execute the job using a Python subprocess. If a user queues a job to a cluster, the CryoSPARC master process will submit a cluster job via the cluster workload scheduler's job submission system (for example via the sbatch
command on a SLURM cluster).
For the purposes of this documentation, we will use the username cryosparcuser
to represent the user that owns the CryoSPARC processes.
Set up SSH access between the master node and each standalone worker node. The cryosparcuser
account should be able to SSH without a password (using a SSH key-pair) into all non-cluster worker nodes.
Set up SSH keys for password-less access (only if you currently need to enter your password each time you ssh into the compute node).
If you do not already have SSH keys generated on your local machine, use ssh-keygen
to do so.
This will create an RSA key-pair with no passphrase in the default location.
remote_username
and remote_hostname
are your username and the hostname that you use to SSH into your compute node. This step will ask for your password.
Ensure ports 39000-39009
are accessible between every workstation node and the master node. The port range is configurable during install time. The following table details the purpose of each port.
Port
Usage
39000
CryoSPARC web application
39001
MongoDB database
39002
Command Core (Master) server
39003
Command Visualization (Vis) server
39004
Reserved (Not Used)
39005
CryoSPARC Live Command RTP server
39006
CryoSPARC web application API server
39007
Reserved (Not Used)
39008
Reserved (Not Used)
39009
Reserved (Not Used)
To see what ports are being used on your master node, run the command netstat -tuplen
. You can pipe the output to grep
to search for specific ports. For example:
To test if a TCP port is open (for example, to test if there is a firewall blocking the port), run a telnet
command from another computer inside the network. If you see any response other than the one below (e.g., a timeout or a denial), it may indicate that the port is not listening or is blocked.
The major requirement for installation is that all nodes (including the master) be able to access the same shared file system(s) at the same absolute path. These file systems (typically cluster file systems or NFS mounts) will be used for loading input raw data into jobs running on various nodes, as well as saving output data from jobs into projects.
Each project created by a user is associated with a single project directory that all CryoSPARC nodes must be able to read from and write to. All users should create project directories in locations where both the master and worker nodes have access.
CryoSPARC project directories need to be stored on a filesystem that supports symbolic links.
CryoSPARC requires internet access from the main process to verify your license and perform updates. At minimum, CryoSPARC should have access to our license server at https://get.cryosparc.com/
. See here for more details.