This GitLab instance is undergoing maintenance and is operating in read-only mode.

You are on a read-only GitLab instance.
Commit 27cdd809 authored by Mccaskey, Alex's avatar Mccaskey, Alex
Browse files

Fixing error in docs, spack instead of slack (#54)


Signed-off-by: Mccaskey, Alex's avatarAlex McCaskey <mccaskeyaj@ornl.gov>
parent 41c72e7e
......@@ -60,8 +60,8 @@ Accelerators provide a method for exposing the bit connectivity of the hardware.
Finally, Accelerators expose an ``execute`` method that takes as input the Accelerator Buffer to be operated on and the Function instance representing the quantum kernel to be executed. Realizations of this interface are responsible for leveraging these data structures to affect execution on their desired hardware or simulator. It is intended that Accelerator implementations leverage vendor-supplied APIs to perform this execution. All execute implementations are responsible for updating the Accelerator Buffer with measurement results.
Programs
---------
Programs and Execution Workflow
--------------------------------
The main entry-point for interaction with the XACC programming model and API is the concept of a ``Program``. The XACC Program orchestrates the entire quantum code compilation process and provides users with an executable functor or lambda to affect the execution of the quantum code on the desired Accelerator. The figure below gives a high-level view of this workflow represented as a UML sequence diagram.
.. image:: ../assets/program-workflow.png
......
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
The `D-Wave Plugin <https://github.com/ornl-qci/xacc-dwave>`_ provides
support to XACC for executing programs on the D-Wave QPU via the D-Wave Accelerator.
......
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
The `IBM Plugin <https://github.com/ornl-qci/xacc-ibm>`_ provides
......
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack instal openssl
$ (spack) spack install cpprestsdk
$ (spack) spack instal openssl
The `Rigetti Plugin <https://github.com/ornl-qci/xacc-rigetti>`_ provides
support to XACC for compiling kernels writting in Quil, and executing programs
......
......@@ -101,7 +101,7 @@
<li class="toctree-l2"><a class="reference internal" href="#compilers">Compilers</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ir-transformations">IR Transformations</a></li>
<li class="toctree-l2"><a class="reference internal" href="#accelerators">Accelerators</a></li>
<li class="toctree-l2"><a class="reference internal" href="#programs">Programs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#programs-and-execution-workflow">Programs and Execution Workflow</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="python.html">XACC Python Bindings</a></li>
......@@ -214,8 +214,8 @@ par
Accelerators provide a method for exposing the bit connectivity of the hardware. For example, the D-Wave QPU has a very specific qubit connectivity structure, which plays a very important role in mapping programs onto the hardware. The <code class="docutils literal"><span class="pre">getAcceleratorConnectivity</span></code> method can be used by compilers to aid in the compilation or mapping of high-level problems onto the Accelerator.</p>
<p>Finally, Accelerators expose an <code class="docutils literal"><span class="pre">execute</span></code> method that takes as input the Accelerator Buffer to be operated on and the Function instance representing the quantum kernel to be executed. Realizations of this interface are responsible for leveraging these data structures to affect execution on their desired hardware or simulator. It is intended that Accelerator implementations leverage vendor-supplied APIs to perform this execution. All execute implementations are responsible for updating the Accelerator Buffer with measurement results.</p>
</div>
<div class="section" id="programs">
<h2>Programs<a class="headerlink" href="#programs" title="Permalink to this headline"></a></h2>
<div class="section" id="programs-and-execution-workflow">
<h2>Programs and Execution Workflow<a class="headerlink" href="#programs-and-execution-workflow" title="Permalink to this headline"></a></h2>
<p>The main entry-point for interaction with the XACC programming model and API is the concept of a <code class="docutils literal"><span class="pre">Program</span></code>. The XACC Program orchestrates the entire quantum code compilation process and provides users with an executable functor or lambda to affect the execution of the quantum code on the desired Accelerator. The figure below gives a high-level view of this workflow represented as a UML sequence diagram.</p>
<img alt="_images/program-workflow.png" src="_images/program-workflow.png" />
<p>The execution workflow starts with a call to the XACC framework to get reference to the desired Accelerator. With that Accelerator, users can request an allocation of bits to operate on represented as an Accelerator Buffer instance. Then, to begin the compilation process of the quantum source code kernel, users instantiate an XACC Program. All Programs are instantiated with a reference to the desired Accelerator so that the compilation process may leverage hardware-specific information. Programs also take as input the source code to be compiled, an already constructed XACC IR instance, or a file(s) reference of a persisted XACC IR instance for fast loading at runtime. Once a Program is created, users can use the Program to compile the source code through a public build method. This method handles the creation of the appropriate language-specific Compiler, the execution of any desired Preprocessors, the actual compilation, and the execution of any required IR Transformations. The result is an IR instance that is stored by the Program. Once built, users can request a kernel by name, or get all compiled kernels as lambda or functor objects. These functors handle the interaction of the IR, Accelerator Buffer, and the Accelerator’s execution mechanism. This execution is kicked off by invoking the kernel functor (in C++ a call to the <code class="docutils literal"><span class="pre">operator()(Args...)</span></code> method). Execution occurs on the Accelerator, and measurement results are stored on the Accelerator Buffer, which the user has reference to. Therefore, once the execution is complete, the results are with the user and are ready for post-processing and use in the workflow.</p>
......
......@@ -180,8 +180,8 @@ Here’s how to install these as binaries on various popular platforms:</p>
<div class="code last highlight-default"><div class="highlight"><pre><span></span>$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
</pre></div>
</div>
</div>
......
......@@ -181,8 +181,8 @@ server APIs. Here’s how to install these as binaries on various popular platfo
<div class="code last highlight-default"><div class="highlight"><pre><span></span>$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
</pre></div>
</div>
</div>
......
......@@ -189,7 +189,7 @@
<li class="toctree-l2"><a class="reference internal" href="api.html#compilers">Compilers</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#ir-transformations">IR Transformations</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#accelerators">Accelerators</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#programs">Programs</a></li>
<li class="toctree-l2"><a class="reference internal" href="api.html#programs-and-execution-workflow">Programs and Execution Workflow</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="python.html">XACC Python Bindings</a><ul>
......
......@@ -186,8 +186,8 @@ server APIs. Here’s how to install these as binaries on various popular platfo
<div class="code last highlight-default"><div class="highlight"><pre><span></span>$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack instal openssl
$ (spack) spack install cpprestsdk
$ (spack) spack instal openssl
</pre></div>
</div>
</div>
......
This diff is collapsed.
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
The `D-Wave Plugin <https://github.com/ornl-qci/xacc-dwave>`_ provides
support to XACC for executing programs on the D-Wave QPU via the D-Wave Accelerator.
......
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack install openssl
$ (spack) spack install cpprestsdk
$ (spack) spack install openssl
The `IBM Plugin <https://github.com/ornl-qci/xacc-ibm>`_ provides
......
......@@ -16,8 +16,8 @@ Installation
$ (macosx) brew install cpprestsdk
$ (fedora) dnf install cpprest-devel openssl-devel
$ (ubuntu) apt-get install libcpprest-dev libssl-dev
$ (slack) slack install cpprestsdk
$ (slack) slack instal openssl
$ (spack) spack install cpprestsdk
$ (spack) spack instal openssl
The `Rigetti Plugin <https://github.com/ornl-qci/xacc-rigetti>`_ provides
support to XACC for compiling kernels writting in Quil, and executing programs
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment