diff --git a/pr-2520/applications/python/deutschs_algorithm.html b/pr-2520/applications/python/deutschs_algorithm.html index 7b4fa56456..633d7935c4 100644 --- a/pr-2520/applications/python/deutschs_algorithm.html +++ b/pr-2520/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:375 11:259 20:366 }
+{ 02:387 11:257 20:356 }
-CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 7542c74cc393da2c454089cd5822740eb8d9bd95)
+CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum a7e964b6d2f1435e35de004afc701fbc6480ccf9)
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.
-