a member of the Nanopore support team aiding a customer at a conference

Contact support

You can contact our Customer Services and Technical Services teams round the clock using the contact support function.

Contact support

How many CPU threads does Guppy use when basecalling?

There are two parameters that govern how many CPU threads Guppy uses: callers and CPU threads per caller.

When performing __GPU__ basecalling, there is always one CPU support thread per GPU caller, so the number of callers (`--num_callers`) dictates the maximum number of CPU threads used. Modifying the number of CPU threads per caller (`--num_cpu_threads_per_caller`) will have no effect.

When performing __CPU__ basecalling, both callers and threads per caller may be set, making the maximum number of CPU threads used equal to `num_callers * cpu_threads_per_caller`.

The number of CPU threads used should generally not exceed either of these two values:

1. The number of logical CPU cores your machine has (as there will probably not be sufficient computational power available for Guppy to run any faster than this).

2. When performing CPU basecalling, the number of CPU threads your machine's RAM can support:

4GB + 1GB per CPU thread for 1D basecalling

4GB + 2GB per CPU thread for 1D2 basecalling

So, if your machine has 8 GB of RAM then you can support:

A maximum of 4 CPU threads for 1D basecalling

A maximum 2 CPU threads for 1D2 basecalling

This assumes your machine is not performing any other computationally-intensive tasks except for using Guppy (e.g. it assumes you are not running MinKNOW).

Getting started

Your first experiment

Find out more

The Nanopore Community

Find out more

Managing your devices and account

Find out more

Nanopore technology explained

Find out more

Community posts

Full community members have access to posts and private channels