Skip to content

Commit

Permalink
Docs preview for PR #2582.
Browse files Browse the repository at this point in the history
  • Loading branch information
cuda-quantum-bot committed Feb 5, 2025
1 parent 918359f commit 3d014b6
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 21 deletions.
4 changes: 2 additions & 2 deletions pr-2582/applications/python/deutschs_algorithm.html
Original file line number Diff line number Diff line change
Expand Up @@ -822,7 +822,7 @@ <h2>XOR <span class="math notranslate nohighlight">\(\oplus\)</span><a class="he
</section>
<section id="Quantum-oracles">
<h2>Quantum oracles<a class="headerlink" href="#Quantum-oracles" title="Permalink to this heading"></a></h2>
<p><img alt="a64e25497ab14fd799c1fd4a0f7389ca" class="no-scaled-link" src="../../_images/oracle.png" style="width: 300px; height: 150px;" /></p>
<p><img alt="2f586e5729ca4b0094f1021128f57af1" class="no-scaled-link" src="../../_images/oracle.png" style="width: 300px; height: 150px;" /></p>
<p>Suppose we have <span class="math notranslate nohighlight">\(f(x): \{0,1\} \longrightarrow \{0,1\}\)</span>. 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.</p>
<p>Above you see an oracle represented as <span class="math notranslate nohighlight">\(U_f\)</span> which allows us to transform the state <span class="math notranslate nohighlight">\(\ket{x}\ket{y}\)</span> into:</p>
<div class="math notranslate nohighlight">
Expand Down Expand Up @@ -870,7 +870,7 @@ <h2>Quantum parallelism<a class="headerlink" href="#Quantum-parallelism" title="
<h2>Deutsch’s Algorithm:<a class="headerlink" href="#Deutsch's-Algorithm:" title="Permalink to this heading"></a></h2>
<p>Our aim is to find out if <span class="math notranslate nohighlight">\(f: \{0,1\} \longrightarrow \{0,1\}\)</span> is a constant or a balanced function? If constant, <span class="math notranslate nohighlight">\(f(0) = f(1)\)</span>, and if balanced, <span class="math notranslate nohighlight">\(f(0) \neq f(1)\)</span>.</p>
<p>We step through the circuit diagram below and follow the math after the application of each gate.</p>
<p><img alt="d04c1199ae92426d89cddf8b3bf8de29" class="no-scaled-link" src="../../_images/deutsch.png" style="width: 500px; height: 210px;" /></p>
<p><img alt="e56a1d41a68641f6abf841ba0b82a2a4" class="no-scaled-link" src="../../_images/deutsch.png" style="width: 500px; height: 210px;" /></p>
<div class="math notranslate nohighlight">
\[\ket{\psi_0} = \ket{01}
\tag{1}\]</div>
Expand Down
4 changes: 2 additions & 2 deletions pr-2582/examples/python/executing_photonic_kernels.html
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ <h2>Sample<a class="headerlink" href="#Sample" title="Permalink to this heading"
</div>
<div class="output_area docutils container">
<div class="highlight"><pre>
{ 02:376 11:277 20:347 }
{ 02:363 11:251 20:386 }

</pre></div></div>
</div>
Expand Down Expand Up @@ -894,7 +894,7 @@ <h2>Parallelization Techniques<a class="headerlink" href="#Parallelization-Techn
</div>
<div class="output_area docutils container">
<div class="highlight"><pre>
CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 9a9b6c97d66120d2164dc465805e8d68dbc8b31d)
CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 7003aa735d9e9b20bde6f9e9e6a77504aa4ad281)
</pre></div></div>
</div>
</section>
Expand Down
28 changes: 14 additions & 14 deletions pr-2582/examples/python/executing_photonic_kernels.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
"execution_count": 1,
"metadata": {
"execution": {
"iopub.execute_input": "2025-02-04T20:47:30.990202Z",
"iopub.status.busy": "2025-02-04T20:47:30.989768Z",
"iopub.status.idle": "2025-02-04T20:47:33.601104Z",
"shell.execute_reply": "2025-02-04T20:47:33.599939Z"
"iopub.execute_input": "2025-02-05T02:34:29.176350Z",
"iopub.status.busy": "2025-02-05T02:34:29.176190Z",
"iopub.status.idle": "2025-02-05T02:34:31.852676Z",
"shell.execute_reply": "2025-02-05T02:34:31.851612Z"
}
},
"outputs": [
Expand All @@ -42,7 +42,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"{ 02:376 11:277 20:347 }\n",
"{ 02:363 11:251 20:386 }\n",
"\n"
]
}
Expand Down Expand Up @@ -95,10 +95,10 @@
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2025-02-04T20:47:33.603753Z",
"iopub.status.busy": "2025-02-04T20:47:33.603459Z",
"iopub.status.idle": "2025-02-04T20:47:33.644315Z",
"shell.execute_reply": "2025-02-04T20:47:33.640969Z"
"iopub.execute_input": "2025-02-05T02:34:31.855361Z",
"iopub.status.busy": "2025-02-05T02:34:31.855056Z",
"iopub.status.idle": "2025-02-05T02:34:31.896967Z",
"shell.execute_reply": "2025-02-05T02:34:31.896153Z"
}
},
"outputs": [
Expand Down Expand Up @@ -183,18 +183,18 @@
"execution_count": 3,
"metadata": {
"execution": {
"iopub.execute_input": "2025-02-04T20:47:33.647516Z",
"iopub.status.busy": "2025-02-04T20:47:33.646296Z",
"iopub.status.idle": "2025-02-04T20:47:33.650981Z",
"shell.execute_reply": "2025-02-04T20:47:33.650048Z"
"iopub.execute_input": "2025-02-05T02:34:31.899065Z",
"iopub.status.busy": "2025-02-05T02:34:31.898860Z",
"iopub.status.idle": "2025-02-05T02:34:31.902928Z",
"shell.execute_reply": "2025-02-05T02:34:31.902193Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 9a9b6c97d66120d2164dc465805e8d68dbc8b31d)\n"
"CUDA-Q Version (https://github.com/NVIDIA/cuda-quantum 7003aa735d9e9b20bde6f9e9e6a77504aa4ad281)\n"
]
}
],
Expand Down
4 changes: 2 additions & 2 deletions pr-2582/examples/python/performance_optimizations.html
Original file line number Diff line number Diff line change
Expand Up @@ -750,9 +750,9 @@ <h1>Optimizing Performance<a class="headerlink" href="#Optimizing-Performance" t
<section id="Gate-Fusion">
<h2>Gate Fusion<a class="headerlink" href="#Gate-Fusion" title="Permalink to this heading"></a></h2>
<p>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 <code class="docutils literal notranslate"><span class="pre">nvidia-mgpu</span></code> backend and setting the <code class="docutils literal notranslate"><span class="pre">CUDAQ_MGPU_FUSE</span></code> environment variable, you can select the degree of fusion that takes place. A full command line example would look like <code class="docutils literal notranslate"><span class="pre">CUDAQ_MGPU_FUSE=4</span> <span class="pre">python</span> <span class="pre">c2h2VQE.py</span> <span class="pre">--target</span> <span class="pre">nvidia</span> <span class="pre">--target-option</span> <span class="pre">fp64,mgpu</span></code></p>
<p><img alt="12075ceafc0b49619e926c78febc7b77" src="../../_images/gate-fuse.png" /></p>
<p><img alt="9773147316fa47a3b4e308213e15ae1c" src="../../_images/gate-fuse.png" /></p>
<p>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.</p>
<p><img alt="2d960729c5b54a98a4ab8902e1ecfbbe" src="../../_images/gatefusion.png" /></p>
<p><img alt="e24d59ea232f4c4381b720b49979173b" src="../../_images/gatefusion.png" /></p>
</section>
</section>

Expand Down
2 changes: 1 addition & 1 deletion pr-2582/searchindex.js

Large diffs are not rendered by default.

0 comments on commit 3d014b6

Please sign in to comment.