diff --git a/pr-2443/applications/python/deutschs_algorithm.html b/pr-2443/applications/python/deutschs_algorithm.html index 908793c4ad..eb19daebb2 100644 --- a/pr-2443/applications/python/deutschs_algorithm.html +++ b/pr-2443/applications/python/deutschs_algorithm.html @@ -822,7 +822,7 @@
Suppose we have \(f(x): \{0,1\} \longrightarrow \{0,1\}\). We can compute this function on a quantum computer using oracles which we treat as black box functions that yield the output with an appropriate sequence of logical gates.
Above you see an oracle represented as \(U_f\) which allows us to transform the state \(\ket{x}\ket{y}\) into:
Our aim is to find out if \(f: \{0,1\} \longrightarrow \{0,1\}\) is a constant or a balanced function? If constant, \(f(0) = f(1)\), and if balanced, \(f(0) \neq f(1)\).
We step through the circuit diagram below and follow the math after the application of each gate.
-
-{ 02:371 11:274 20:355 }
+{ 02:360 11:255 20:385 }
-CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum c30f5088058f4a5ab100f36973ec7f27ff73ec63)
+CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 99ad7a6a491b74ce88d4a2b696ca0498501abb6e)
Gate fusion is an optimization technique where consecutive gates are combined into a single gate operation to improve the efficiency of the simulation (See figure below). By targeting the nvidia-mgpu
backend and setting the CUDAQ_MGPU_FUSE
environment variable, you can select the degree of fusion that takes place. A full command line example would look like CUDAQ_MGPU_FUSE=4 python c2h2VQE.py --target nvidia --target-option fp64,mgpu
The importance of gate fusion is system dependent, but can have a large influence on the performance of the simulation. See the example below for a 24 qubit VQE experiment where changing the fusion level resulted in significant performance boosts.
-