Commit f3d655a8 authored by Mccaskey, Alex's avatar Mccaskey, Alex
Browse files

Adding frozen core observable generator to python plugins


Signed-off-by: Mccaskey, Alex's avatarAlex McCaskey <mccaskeyaj@ornl.gov>
parent 6fcfcfad
Pipeline #79232 passed with stage
in 3 minutes and 50 seconds
......@@ -40,3 +40,4 @@
/wheelhouse/
**/.ipynb_checkpoints
compile_commands.json
/docs/doxygen/html**
......@@ -2,4 +2,8 @@ Advanced
========
AcceleratorBuffer Execution Data
--------------------------------
\ No newline at end of file
--------------------------------
Error Mitigation
----------------
......@@ -3,8 +3,8 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to XACC's documentation!
================================
XACC Documentation
==================
.. image:: ../assets/xacc-readme.jpg
......@@ -29,21 +29,19 @@ verification and validation, and performance studies for a set of virtual
(simulators) or physical hardware.
Modular Infrastructure
---------------------------
----------------------
XACC relies on a project called `CppMicroServices <http://github.com/cppmicroservices/cppmicroservices>`_ -
a native C++ implementation of the `OSGi <https://www.osgi.org/developer/architecture/>`_
specification that enables an extensible, modular
plugin infrastructure for quantum compilers and accelerators. Installation of
XACC provides the core infrastructure for describing Programs, Compilers,
Accelerators, and IR. To enable support for various compilers and accelerators
(like the OpenQasm or Quil compilers, or the IBM or Rigetti QPUs) you
can install the appropriate plugin (see `XACC Plugins <plugins.html>`_).
plugin infrastructure for quantum compilers and accelerators.
Description of Architecture
---------------------------
For a comprehensive discussion of all components of the XACC programming model and architecture,
please refer to this `manuscript <https://arxiv.org/abs/1911.02452>`_.
For class documentation, check out this `site <https://ornl-qci.github.io/xacc-api-docs/>`_.
XACC Development Team
----------------------
......
......@@ -7,8 +7,10 @@ describe the build process with the Python API enabled. For this you will need a
development install. To interact with remote QPUs, you will need CURL with OpenSSL development
headers and libraries.
Ubuntu 16.04 Prerequisites
--------------------------
Prerequisites
-------------
Ubuntu 16.04
++++++++++++
Here we will demonstrate installing from a bare Ubuntu install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -23,8 +25,8 @@ upon execution error.
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50
Ubuntu 18.04 Prerequisites
--------------------------
Ubuntu 18.04
++++++++++++
Here we will demonstrate installing from a bare Ubuntu install using GCC 7 (default on 18.04). We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -36,8 +38,8 @@ upon execution error.
$ sudo apt-get -y install gcc g++ git libcurl4-openssl-dev python3 libunwind-dev \
libpython3-dev python3-pip libblas-dev liblapack-dev
Centos 7 Prerequisites
--------------------------
Centos 7
++++++++
Here we will demonstrate installing from a bare Centos 7 install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
......@@ -47,8 +49,8 @@ install BLAS and LAPACK as well, which is required to build some optional simula
devtoolset-8-gcc devtoolset-8-gcc-c++ blas-devel lapack-devel
$ scl enable devtoolset-8 -- bash [ you might put this in your .bashrc ]
Fedora 30 Prerequisites
--------------------------
Fedora 30
+++++++++
Here we will demonstrate installing from a bare Fedora 30 install using GCC 9. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
......@@ -57,8 +59,8 @@ install BLAS and LAPACK as well, which is required to build some optional simula
$ sudo dnf install python3-devel libcurl-devel git g++ gcc make blas-devel lapack-devel
$ sudo python3 -m pip install cmake
Mac OS X Prerequisites
--------------------------
Mac OS X
+++++++++
Ensure that you have XCode command utilities installed. A common issue seen is missing
standard includes like `wchar.h` and others. See `here <https://stackoverflow.com/a/52530212>`_
for proper XCode install and configuring to address these types of issues. Here we assume you
......
......@@ -91,6 +91,7 @@
<li class="toctree-l1"><a class="reference internal" href="extensions.html">Extensions</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Advanced</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#acceleratorbuffer-execution-data">AcceleratorBuffer Execution Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="#error-mitigation">Error Mitigation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="developers.html">Developers</a></li>
......@@ -163,6 +164,9 @@
<div class="section" id="acceleratorbuffer-execution-data">
<h2>AcceleratorBuffer Execution Data<a class="headerlink" href="#acceleratorbuffer-execution-data" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="error-mitigation">
<h2>Error Mitigation<a class="headerlink" href="#error-mitigation" title="Permalink to this headline"></a></h2>
</div>
</div>
......
......@@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to XACC’s documentation! &mdash; XACC 1.0.0 documentation</title>
<title>XACC Documentation &mdash; XACC 1.0.0 documentation</title>
......@@ -135,7 +135,7 @@
<li><a href="#">Docs</a> &raquo;</li>
<li>Welcome to XACC’s documentation!</li>
<li>XACC Documentation</li>
<li class="wy-breadcrumbs-aside">
......@@ -154,8 +154,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="welcome-to-xacc-s-documentation">
<h1>Welcome to XACC’s documentation!<a class="headerlink" href="#welcome-to-xacc-s-documentation" title="Permalink to this headline"></a></h1>
<div class="section" id="xacc-documentation">
<h1>XACC Documentation<a class="headerlink" href="#xacc-documentation" title="Permalink to this headline"></a></h1>
<img alt="_images/xacc-readme.jpg" src="_images/xacc-readme.jpg" />
<div class="section" id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
......@@ -180,16 +180,13 @@ verification and validation, and performance studies for a set of virtual
<p>XACC relies on a project called <a class="reference external" href="http://github.com/cppmicroservices/cppmicroservices">CppMicroServices</a> -
a native C++ implementation of the <a class="reference external" href="https://www.osgi.org/developer/architecture/">OSGi</a>
specification that enables an extensible, modular
plugin infrastructure for quantum compilers and accelerators. Installation of
XACC provides the core infrastructure for describing Programs, Compilers,
Accelerators, and IR. To enable support for various compilers and accelerators
(like the OpenQasm or Quil compilers, or the IBM or Rigetti QPUs) you
can install the appropriate plugin (see <a class="reference external" href="plugins.html">XACC Plugins</a>).</p>
plugin infrastructure for quantum compilers and accelerators.</p>
</div>
<div class="section" id="description-of-architecture">
<h2>Description of Architecture<a class="headerlink" href="#description-of-architecture" title="Permalink to this headline"></a></h2>
<p>For a comprehensive discussion of all components of the XACC programming model and architecture,
please refer to this <a class="reference external" href="https://arxiv.org/abs/1911.02452">manuscript</a>.</p>
<p>For class documentation, check out this <a class="reference external" href="https://ornl-qci.github.io/xacc-api-docs/">site</a>.</p>
</div>
<div class="section" id="xacc-development-team">
<h2>XACC Development Team<a class="headerlink" href="#xacc-development-team" title="Permalink to this headline"></a></h2>
......@@ -215,11 +212,14 @@ You can ask questions by creating a new issue with the question tag.</p>
<p class="caption"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="install.html#ubuntu-16-04-prerequisites">Ubuntu 16.04 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#ubuntu-18-04-prerequisites">Ubuntu 18.04 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#centos-7-prerequisites">Centos 7 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#fedora-30-prerequisites">Fedora 30 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#mac-os-x-prerequisites">Mac OS X Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html#prerequisites">Prerequisites</a><ul>
<li class="toctree-l3"><a class="reference internal" href="install.html#ubuntu-16-04">Ubuntu 16.04</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#ubuntu-18-04">Ubuntu 18.04</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#centos-7">Centos 7</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#fedora-30">Fedora 30</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#mac-os-x">Mac OS X</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="install.html#build-xacc">Build XACC</a></li>
</ul>
</li>
......@@ -269,6 +269,7 @@ You can ask questions by creating a new issue with the question tag.</p>
</li>
<li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced</a><ul>
<li class="toctree-l2"><a class="reference internal" href="advanced.html#acceleratorbuffer-execution-data">AcceleratorBuffer Execution Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced.html#error-mitigation">Error Mitigation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="developers.html">Developers</a><ul>
......
......@@ -35,8 +35,8 @@
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="XACC Basics" href="basics.html" />
<link rel="prev" title="Welcome to XACC’s documentation!" href="index.html" />
<link rel="next" title="Basics" href="basics.html" />
<link rel="prev" title="XACC Documentation" href="index.html" />
</head>
<body class="wy-body-for-nav">
......@@ -87,16 +87,21 @@
<p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ubuntu-16-04-prerequisites">Ubuntu 16.04 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ubuntu-18-04-prerequisites">Ubuntu 18.04 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#centos-7-prerequisites">Centos 7 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#fedora-30-prerequisites">Fedora 30 Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#mac-os-x-prerequisites">Mac OS X Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="#prerequisites">Prerequisites</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#ubuntu-16-04">Ubuntu 16.04</a></li>
<li class="toctree-l3"><a class="reference internal" href="#ubuntu-18-04">Ubuntu 18.04</a></li>
<li class="toctree-l3"><a class="reference internal" href="#centos-7">Centos 7</a></li>
<li class="toctree-l3"><a class="reference internal" href="#fedora-30">Fedora 30</a></li>
<li class="toctree-l3"><a class="reference internal" href="#mac-os-x">Mac OS X</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#build-xacc">Build XACC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="basics.html">XACC Basics</a></li>
<li class="toctree-l1"><a class="reference internal" href="basics.html">Basics</a></li>
<li class="toctree-l1"><a class="reference internal" href="extensions.html">Extensions</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced</a></li>
<li class="toctree-l1"><a class="reference internal" href="developers.html">Developers</a></li>
</ul>
......@@ -168,8 +173,10 @@ recommend installing with the Python API (although you may choose not to). This
describe the build process with the Python API enabled. For this you will need a Python 3 executable and
development install. To interact with remote QPUs, you will need CURL with OpenSSL development
headers and libraries.</p>
<div class="section" id="ubuntu-16-04-prerequisites">
<h2>Ubuntu 16.04 Prerequisites<a class="headerlink" href="#ubuntu-16-04-prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="prerequisites">
<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="ubuntu-16-04">
<h3>Ubuntu 16.04<a class="headerlink" href="#ubuntu-16-04" title="Permalink to this headline"></a></h3>
<p>Here we will demonstrate installing from a bare Ubuntu install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -183,8 +190,8 @@ $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 <span class
</pre></div>
</div>
</div>
<div class="section" id="ubuntu-18-04-prerequisites">
<h2>Ubuntu 18.04 Prerequisites<a class="headerlink" href="#ubuntu-18-04-prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="ubuntu-18-04">
<h3>Ubuntu 18.04<a class="headerlink" href="#ubuntu-18-04" title="Permalink to this headline"></a></h3>
<p>Here we will demonstrate installing from a bare Ubuntu install using GCC 7 (default on 18.04). We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -195,8 +202,8 @@ $ sudo apt-get -y install gcc g++ git libcurl4-openssl-dev python3 libunwind-dev
</pre></div>
</div>
</div>
<div class="section" id="centos-7-prerequisites">
<h2>Centos 7 Prerequisites<a class="headerlink" href="#centos-7-prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="centos-7">
<h3>Centos 7<a class="headerlink" href="#centos-7" title="Permalink to this headline"></a></h3>
<p>Here we will demonstrate installing from a bare Centos 7 install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ sudo yum install libcurl-devel python3-devel git centos-release-scl make <span class="se">\</span>
......@@ -205,8 +212,8 @@ $ scl <span class="nb">enable</span> devtoolset-8 -- bash <span class="o">[</spa
</pre></div>
</div>
</div>
<div class="section" id="fedora-30-prerequisites">
<h2>Fedora 30 Prerequisites<a class="headerlink" href="#fedora-30-prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="fedora-30">
<h3>Fedora 30<a class="headerlink" href="#fedora-30" title="Permalink to this headline"></a></h3>
<p>Here we will demonstrate installing from a bare Fedora 30 install using GCC 9. We
install BLAS and LAPACK as well, which is required to build some optional simulators.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ sudo dnf install python3-devel libcurl-devel git g++ gcc make blas-devel lapack-devel
......@@ -214,8 +221,8 @@ $ sudo python3 -m pip install cmake
</pre></div>
</div>
</div>
<div class="section" id="mac-os-x-prerequisites">
<h2>Mac OS X Prerequisites<a class="headerlink" href="#mac-os-x-prerequisites" title="Permalink to this headline"></a></h2>
<div class="section" id="mac-os-x">
<h3>Mac OS X<a class="headerlink" href="#mac-os-x" title="Permalink to this headline"></a></h3>
<p>Ensure that you have XCode command utilities installed. A common issue seen is missing
standard includes like <cite>wchar.h</cite> and others. See <a class="reference external" href="https://stackoverflow.com/a/52530212">here</a>
for proper XCode install and configuring to address these types of issues. Here we assume you
......@@ -224,6 +231,7 @@ have Homebrew installed.</p>
</pre></div>
</div>
</div>
</div>
<div class="section" id="build-xacc">
<h2>Build XACC<a class="headerlink" href="#build-xacc" title="Permalink to this headline"></a></h2>
<p>The best way to install a recent version of CMake is through Python Pip.</p>
......@@ -266,10 +274,10 @@ $ make -j<span class="k">$(</span>nproc --all<span class="k">)</span> install
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="basics.html" class="btn btn-neutral float-right" title="XACC Basics" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="basics.html" class="btn btn-neutral float-right" title="Basics" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="index.html" class="btn btn-neutral float-left" title="Welcome to XACC’s documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
<a href="index.html" class="btn btn-neutral float-left" title="XACC Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
......
This diff is collapsed.
Note the current workflow for generating xacc api documentation is completely manual.
from this directory run `doxygen Doxyfile.cmake`, and copy the contents of
the html folder into the xacc-api-docs repository.
\ No newline at end of file
......@@ -638,9 +638,6 @@ or in Python
print(qbits['opt-params'])
RDM
+++
Accelerator Decorators
----------------------
ROErrorDecorator
......
......@@ -7,8 +7,10 @@ describe the build process with the Python API enabled. For this you will need a
development install. To interact with remote QPUs, you will need CURL with OpenSSL development
headers and libraries.
Ubuntu 16.04 Prerequisites
--------------------------
Prerequisites
-------------
Ubuntu 16.04
++++++++++++
Here we will demonstrate installing from a bare Ubuntu install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -23,8 +25,8 @@ upon execution error.
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50
Ubuntu 18.04 Prerequisites
--------------------------
Ubuntu 18.04
++++++++++++
Here we will demonstrate installing from a bare Ubuntu install using GCC 7 (default on 18.04). We
install BLAS and LAPACK as well, which is required to build some optional simulators.
We install libunwind-dev which is also optional, but provides verbose stack-trace printing
......@@ -36,8 +38,8 @@ upon execution error.
$ sudo apt-get -y install gcc g++ git libcurl4-openssl-dev python3 libunwind-dev \
libpython3-dev python3-pip libblas-dev liblapack-dev
Centos 7 Prerequisites
--------------------------
Centos 7
++++++++
Here we will demonstrate installing from a bare Centos 7 install using GCC 8. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
......@@ -47,8 +49,8 @@ install BLAS and LAPACK as well, which is required to build some optional simula
devtoolset-8-gcc devtoolset-8-gcc-c++ blas-devel lapack-devel
$ scl enable devtoolset-8 -- bash [ you might put this in your .bashrc ]
Fedora 30 Prerequisites
--------------------------
Fedora 30
+++++++++
Here we will demonstrate installing from a bare Fedora 30 install using GCC 9. We
install BLAS and LAPACK as well, which is required to build some optional simulators.
......@@ -57,8 +59,8 @@ install BLAS and LAPACK as well, which is required to build some optional simula
$ sudo dnf install python3-devel libcurl-devel git g++ gcc make blas-devel lapack-devel
$ sudo python3 -m pip install cmake
Mac OS X Prerequisites
--------------------------
Mac OS X
+++++++++
Ensure that you have XCode command utilities installed. A common issue seen is missing
standard includes like `wchar.h` and others. See `here <https://stackoverflow.com/a/52530212>`_
for proper XCode install and configuring to address these types of issues. Here we assume you
......
......@@ -40,5 +40,9 @@ install(FILES xacc.py DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY plugin_generator DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY benchmark DESTINATION ${CMAKE_INSTALL_PREFIX})
file(GLOB PYDECORATORS ${CMAKE_CURRENT_SOURCE_DIR}/benchmark/vqe/*.py plugins/aer/*.py plugins/dwave/*.py plugins/qiskit/*.py)
file(GLOB PYDECORATORS benchmark/vqe/*.py
plugins/aer/*.py
plugins/dwave/*.py
plugins/qiskit/*.py
plugins/observables/*.py)
install(FILES ${PYDECORATORS} DESTINATION ${CMAKE_INSTALL_PREFIX}/py-plugins)
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