# Access a QPU

With an active [QCS account](https://docs.rigetti.com/qcs/guides/how-to-use-rigetti-qpus), there are two ways to run your programs on a QPU:

* **Reserved** access, during scheduled blocks of time, gives you priority access to that QPU for a period of time.
* **On-demand** access, without a reservation, allows you to access a QPU at almost any time at lower priority.

Learn more about each mode here:

[reserving-time-on-a-qpu](https://docs.rigetti.com/qcs/guides/access-a-qpu/reserving-time-on-a-qpu "mention")

[on-demand-access](https://docs.rigetti.com/qcs/guides/access-a-qpu/on-demand-access "mention")

## Which mode should I use?

On-demand is great for testing and executing individual programs or quick experiments with a small number of jobs and where performance (in terms of speed and waiting time) isn't a concern.&#x20;

If you need any of the following, you may prefer to use a reservation:

* a guarantee that your job will be run
* to run many programs in a short period of time
* to run programs in close subsequence with a minimum amount of time in between, such as for iterative workloads like VQE and QAOA
* to work interactively, with a short development feedback cycle

With a reservation, your jobs are guaranteed to run as fast as possible and without interruptions. Per second of execution, reservation access is lower cost than on-demand access, if that reservation is fully used.
