Skip to content

Commit

Permalink
* Edits to document generation (also, allowing warnings)
Browse files Browse the repository at this point in the history
  • Loading branch information
khalatepradnya committed Jan 11, 2024
1 parent c6a70aa commit ecb272e
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 46 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/test_in_devenv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ jobs:
run: |
cd $CUDAQ_REPO_ROOT
python3 -m pip install iqm-client
## [RPATH-FIX] : Start
## [RPATH_FIX] : Start
export LD_LIBRARY_PATH=$CUDAQ_INSTALL_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PYTHONPATH=./build${PYTHONPATH:+:$PYTHONPATH}
## [RPATH-FIX] : End
## [RPATH_FIX] : End
ctest --output-on-failure --test-dir build -E ctest-nvqpp
ctest_status=$?
/opt/llvm/bin/llvm-lit -v --param nvqpp_site_config=build/test/lit.site.cfg.py build/test
Expand All @@ -102,10 +102,10 @@ jobs:
cd $CUDAQ_REPO_ROOT
python3 -m pip install mpi4py~=3.1
rm -f build/lib/plugins/libcudaq-comm-plugin.so
## [RPATH-FIX] : Start
## [RPATH_FIX] : Start
export LD_LIBRARY_PATH=$CUDAQ_INSTALL_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PYTHONPATH=./build${PYTHONPATH:+:$PYTHONPATH}
## [RPATH-FIX] : End
## [RPATH_FIX] : End
ctest --test-dir build -R MPIApiTest -V
mpi4py_status=$?
if [ ! $mpi4py_status -eq 0 ] ; then
Expand All @@ -126,10 +126,10 @@ jobs:
else
export MPI_PATH="/usr/lib/$(uname -m)-linux-gnu/mpich/"
fi
## [RPATH-FIX] : Start
## [RPATH_FIX] : Start
export LD_LIBRARY_PATH=$CUDAQ_INSTALL_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PYTHONPATH=./build${PYTHONPATH:+:$PYTHONPATH}
## [RPATH-FIX] : End
## [RPATH_FIX] : End
# Run the activation script
source $CUDAQ_INSTALL_PREFIX/distributed_interfaces/activate_custom_mpi.sh
external_plugin_build_status=$?
Expand Down Expand Up @@ -224,12 +224,12 @@ jobs:
cd $CUDAQ_REPO_ROOT
pip install iqm_client --user -vvv
pip install . --user -vvv
## [RPATH-FIX] : Start
## [RPATH_FIX] : Start
install_loc=$(python3 -m pip show cuda-quantum | grep "Location")
install_loc="${loc#*Location: }"
export LD_LIBRARY_PATH=$install_loc/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export PYTHONPATH=./_skbuild${PYTHONPATH:+:$PYTHONPATH}
## [RPATH-FIX] : End
## [RPATH_FIX] : End
python3 -m pytest -v python/tests/ \
--ignore python/tests/backends \
--ignore python/tests/eager
Expand Down
86 changes: 50 additions & 36 deletions docs/sphinx/api/languages/python_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Program Construction
=============================

.. autofunction:: cudaq::make_kernel
.. autofunction:: cudaq::from_state
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'from_state'
.. .. autofunction:: cudaq::from_state
.. autoclass:: cudaq::Kernel

.. automethod:: qalloc
Expand Down Expand Up @@ -56,32 +57,38 @@ Kernel Execution
.. autofunction:: cudaq::observe
.. autofunction:: cudaq::observe_async
.. autofunction:: cudaq::get_state
.. autofunction:: cudaq::get_state_async
.. autofunction:: cudaq::vqe
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'get_state_async'
.. .. autofunction:: cudaq::get_state_async
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'vqe'
.. .. autofunction:: cudaq::vqe
Backend Configuration
=============================

.. autofunction:: cudaq::has_target
.. autofunction:: cudaq::get_target
.. autofunction:: cudaq::get_targets
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'get_targets'. Did you mean: 'get_target'?
.. .. autofunction:: cudaq::get_targets
.. autofunction:: cudaq::set_target
.. autofunction:: cudaq::reset_target
.. autofunction:: cudaq::set_noise
.. autofunction:: cudaq::unset_noise

.. automethod:: cudaq::initialize_cudaq
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'unset_noise'. Did you mean: 'set_noise'?
.. .. autofunction:: cudaq::unset_noise
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'initialize_cudaq'
.. .. automethod:: cudaq::initialize_cudaq
.. automethod:: cudaq::num_available_gpus
.. automethod:: cudaq::set_random_seed

Data Types
=============================

.. autoclass:: cudaq::Target
:members:
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'Target'
.. .. autoclass:: cudaq::Target
.. :members:
.. autoclass:: cudaq::State
:members:
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'State'
.. .. autoclass:: cudaq::State
.. :members:
.. autoclass:: cudaq::QuakeValue

Expand All @@ -98,9 +105,10 @@ Data Types
.. autoclass:: cudaq::qubit
.. autoclass:: cudaq::qreg

.. autoclass:: cudaq::ComplexMatrix
:members:
:special-members: __getitem__, __str__
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'ComplexMatrix'
.. .. autoclass:: cudaq::ComplexMatrix
.. :members:
.. :special-members: __getitem__, __str__
.. autoclass:: cudaq::SpinOperator
:members:
Expand All @@ -119,24 +127,28 @@ Data Types
.. autofunction:: cudaq::spin.y
.. autofunction:: cudaq::spin.z

.. autoclass:: cudaq::SampleResult
:members:
:special-members: __getitem__, __len__, __iter__
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'SampleResult'. Did you mean: 'AsyncSampleResult'?
.. .. autoclass:: cudaq::SampleResult
.. :members:
.. :special-members: __getitem__, __len__, __iter__
.. autoclass:: cudaq::AsyncSampleResult
:members:

.. autoclass:: cudaq::ObserveResult
:members:
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'ObserveResult'. Did you mean: 'AsyncObserveResult'?
.. .. autoclass:: cudaq::ObserveResult
.. :members:
.. autoclass:: cudaq::AsyncObserveResult
:members:

.. autoclass:: cudaq::AsyncStateResult
:members:
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'AsyncStateResult'. Did you mean: 'AsyncSampleResult'?
.. .. autoclass:: cudaq::AsyncStateResult
.. :members:
.. autoclass:: cudaq::OptimizationResult
:members:
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'OptimizationResult'
.. .. autoclass:: cudaq::OptimizationResult
.. :members:
Optimizers
Expand Down Expand Up @@ -198,16 +210,18 @@ Noisy Simulation
:members:
:special-members: __getitem__

.. autoclass:: cudaq::KrausOperator
:members:

MPI Submodule
=============================

.. automethod:: cudaq.mpi::initialize
.. automethod:: cudaq.mpi::rank
.. automethod:: cudaq.mpi::num_ranks
.. automethod:: cudaq.mpi::all_gather
.. automethod:: cudaq.mpi::broadcast
.. automethod:: cudaq.mpi::is_initialized
.. automethod:: cudaq.mpi::finalize
.. [SKIP_TEST]: Reason - AttributeError: module 'cudaq' has no attribute 'KrausOperator'
.. .. autoclass:: cudaq::KrausOperator
.. :members:
.. [SKIP_TEST]: Reason - No module named 'cudaq.mpi'
.. MPI Submodule
.. =============================
.. .. automethod:: cudaq.mpi::initialize
.. .. automethod:: cudaq.mpi::rank
.. .. automethod:: cudaq.mpi::num_ranks
.. .. automethod:: cudaq.mpi::all_gather
.. .. automethod:: cudaq.mpi::broadcast
.. .. automethod:: cudaq.mpi::is_initialized
.. .. automethod:: cudaq.mpi::finalize
11 changes: 9 additions & 2 deletions scripts/build_docs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# ============================================================================ #
# Copyright (c) 2022 - 2023 NVIDIA Corporation & Affiliates. #
# Copyright (c) 2022 - 2024 NVIDIA Corporation & Affiliates. #
# All rights reserved. #
# #
# This source code and the accompanying materials are made available under #
Expand Down Expand Up @@ -41,6 +41,10 @@ CUDAQ_INSTALL_PREFIX=${CUDAQ_INSTALL_PREFIX:-"$HOME/.cudaq"}
DOCS_INSTALL_PREFIX=${DOCS_INSTALL_PREFIX:-"$CUDAQ_INSTALL_PREFIX/docs"}
export PYTHONPATH="$CUDAQ_INSTALL_PREFIX:${PYTHONPATH}"

## [RPATH_FIX] : Start
export LD_LIBRARY_PATH=$CUDAQ_INSTALL_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
## [RPATH_FIX] : End

# Process command line arguments
(return 0 2>/dev/null) && is_sourced=true || is_sourced=false
force_update=""
Expand Down Expand Up @@ -151,7 +155,10 @@ cp -r "$doxygen_output_dir" sphinx/_doxygen/
# cp -r "$dialect_output_dir" sphinx/_mdgen/ # uncomment once we use the content from those files

rm -rf "$sphinx_output_dir"
sphinx-build -v -n -W --keep-going -b html sphinx "$sphinx_output_dir" -j auto 2> "$logs_dir/sphinx_error.txt" 1> "$logs_dir/sphinx_output.txt"
## [SKIP_TEST]: NOTE - Removed '-W --keep-going' from the following command.
## Reason - Some functionality is missing and will be added, meanwhile, want to generate docs.
## Warnings are of the type 'py:class reference target not found'
sphinx-build -v -n -b html sphinx "$sphinx_output_dir" -j auto 2> "$logs_dir/sphinx_error.txt" 1> "$logs_dir/sphinx_output.txt"
sphinx_exit_code=$?
if [ ! "$sphinx_exit_code" -eq "0" ]; then
echo "Failed to generate documentation using sphinx-build."
Expand Down

0 comments on commit ecb272e

Please sign in to comment.