The word is out - the newest Advantage system is here! As exciting as that is, you may be wondering what that means for you as a developer (other than the increase in qubits and couplers). There are a few considerations you need to be aware of.
Running an existing (D-Wave 2000Q) problem on Advantage
If you're eager to try out your existing problems on Advantage there are a couple steps you must take to get good results.
One of the exciting things about having more qubits and higher connectivity in Advantage is that you can find embeddings with shorter chains. To take full advantage of the new Pegasus topology it's best to re-embed your problem. If you use the EmbeddingComposite in your program you don't have to worry about this. However, if you have a tried and true embedding it's a good idea to start experimenting with new embeddings, specifically for Advantage.
We have also added new tools to minorminer to help you optimize your embeddings.
2. Chain Strength
The chain strength value that you used to run your problem on the D-Wave 2000Q may not translate to Advantage largely due to using a different embedding. An optimal chain strength value is influenced by your problem parameters (linear and quadratic biases), and the quantity, distribution and length of the chains in your embedding. Since your embedding will change on Advantage, it's best to retune the chain strength parameter in your problems to match.
To help with tuning the chain strength parameter, we added a new default chain strength in Ocean. Rather than using a static default we now calculate a chain strength using the uniform_torque_compensation function, which takes the RMS of the problem's quadratic biases. This function can also be used tune the chain strength by adjusting the prefactor. For a more complete discussion on turning the chain strength, check out this whitepaper.
Working with Advantage
One important difference with Advantage is how the qubits are read out. The amount of time it takes to read out the qubits depends on the problem size. For example, a problem that's embedded onto 10 qubits will read out much more quickly than a problem composed of 3000 qubits. To learn how to access this timing information for your problem, check out our documentation here.
For the next month after launch, both the D-Wave 2000Q and Advantage system will be online. If you don't specify which chip you would like to use, Ocean will select Advantage by default. For more information on how Ocean selects a QPU solver see this article.
If you're having trouble accessing the Advantage_system1.1 from the Leap IDE take a look at your environment variables. If you have a DWAVE_SOLVER_API variable (an artifact from older account setups), it will override Ocean's feature based solver selection as outlined in this article..
To remove the DWAVE_SOLVER_API token from the Leap IDE environment variables follow these steps:
- Go to the IDE Workspaces tab in Leap
- Click on your name in the top right of the page
- Select Settings
- Delete the DWAVE_SOLVER_API token
- Restart any running workspaces for the changes to take affect
Once you've completed those steps you will be able to programmatically access Advantage from the Leap IDE.
In addition to releasing the Advantage system, we also made some additions to Ocean. The full list is in the Ocean 3.0 release notes, but here are some of the highlights:
- Ocean samplers, such as the DWaveSampler, have a new way of selecting a solver. Find out more here.
- There is a new package, dwave-greedy, that provides a greedy descent post-processing composite, sampler, and runnable (for use in the dwave-hybrid framework).
- We created a method, uniform_torque_compensation, for automatically tuning chain strength and use it to find a default chain strength for the EmbeddingComposite. This does not guarantee an optimal chain strength, but it can be a useful tool.
In your exploration of Advantage, be sure to check out our newest hybrid solver, hybrid_binary_quadratic_model_version2, as well!