diff --git a/pr-2443/applications/python/deutschs_algorithm.html b/pr-2443/applications/python/deutschs_algorithm.html index cfae19aee5..46e3acbaea 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:370 11:237 20:393 }
+{ 02:407 11:266 20:327 }
-CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum e04b6f8ac7bd53bcf457e1bc12ffb838c707cf2f)
+CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 2010d9904b679a4ef158ee79f5237b636cc75d03)
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.
-