Skip to content

Commit

Permalink
Documentation update for Read the Docs
Browse files Browse the repository at this point in the history
Updated docs to use the ROCm standard (#418)

* Convert Doxygen doc to Sphinx doc

breathe needs to be patched in order to correctly look up the
functions. The doc can still be generated but with generated
errors within the doc.

* Update README.md for Sphinx doc

* Update README.md for Sphinx doc

* Add svg images to regenerate png

* Add comments to distinguish images generated from SVG

* Order and organize doc

* Remove the mention to CUB

* Correct typo, improve style

* Add examples to iterators

* Explicit dependencies versions for building doc

* Correct typos

Signed-off-by: v01dxyz <[email protected]>

* Remove SVG image directory

* Re-enable preprocessing for doxygen

`__host__` and `__device__` function attributes are shown in the docs.

* Re-enable Doxygen to expand all the macros instead of only the
  predefined ones.
* Add cuda / hip attributes to `cpp_id_attributes` in sphinx. This
  fixes it erroring out on these attributes.
* Add `rocprim::` suffix to all functions/classes name references in the
  rst docs.  They were not working previously because the namespace
  macros were not expanded by doxygen.

* Fix documentation of template overloaded methods with doxygen groups

Use doxygen groups as a workaround for breathe failing to find methods
that have complex template names, or both templated and non templated
overloads.

non-resolved problem: The `ropcrim::` prefix is not appended to the
object names, contrary to the ones generated by the other directives.

* Simplify macros for Doxygen

* keep only one pre-defined variable to indicate Doxygen preprocessor
* isolate macro definitions for Doxygen (only one ifndef instead of one per problematic macro)

* Organize conf.py

Gather the html options.

* Correct typo

* Clean Doxyfile

Remove commented declarations

* Render function parameters as a HTML list

Ameliorate how the function signatures are rendered by using
HTML list instead of one big single line signature.

It is a hack since it mixes span elements with div elements
side by side which is not good HTML.

Furthermore, this translator would possibly need maintenance if
Sphinx introduces breaking changes to the base Translator.

* Simplify custom CSS

* Remove documentation images

Those two images were not particularly relevant and well polished.
There were a logo and a draft schema to visualise the different GPU scopes.

* Revert deletion of DOXYGEN_SHOULD_SKIP_THIS

* Populate doxygen groups for intrinsics

* Correct typo

Delete duplicate title for a section that was displaced to another
file

* Rename ops directories

* Rename filename/title for summary of the ops

* Fixed rebase in config.hpp

* Updated docs to the ROCm standard

* Updated style and copyright date

* Removed docs from top-level gitignore

* Removed redundant requirements.txt

* Updated CHANGELOG.md

* Updated gitignore

* Updated Changelog.md

* Rebase fix

* Updated docs/.gitignore

* Added Acknowledgements

---------

Signed-off-by: v01dxyz <[email protected]>
Co-authored-by: v01dxyz <[email protected]>
Co-authored-by: Gergely Meszaros <[email protected]>

Add dependabot config and pin rocm-docs-core (#420)

Update documentation requirements (#429)

Co-authored-by: samjwu <[email protected]>

Fix sphinx error for reduce by key entry (#441)

* docs(reduce): fix sphinx error for reduce by key entry

* docs(reduce): document 'no side-effect'-requirement for reduce by key

rocm-docs-core==0.13.4
  • Loading branch information
mfep authored and samjwu committed Jun 15, 2023
1 parent cd71186 commit 16e4c2d
Show file tree
Hide file tree
Showing 66 changed files with 2,784 additions and 0 deletions.
File renamed without changes.
21 changes: 21 additions & 0 deletions docs/.doxygen/blockmodule.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
@brief rocPRIM Block-wide parallel primitives
@author
@file
*/

/**
* \defgroup blockmodule Block-wide
* \ingroup primitivesmodule
*
*/

/**
* \defgroup blockmodule_warp_load_functions
* \ingroup blockmodule
*/

/**
* \defgroup blockmodule_warp_store_functions
* \ingroup blockmodule
*/
File renamed without changes.
File renamed without changes.
19 changes: 19 additions & 0 deletions docs/.doxygen/intrinsicsmodule.dox
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
@brief rocPRIM intrinsic functions.
@author
@file
*/

/**
* \defgroup intrinsicsmodule Intrinsic functions
*/

/**
* \defgroup intrinsicsmodule_flat_id
* \ingroup intrinsicsmodule
*/

/**
* \defgroup intrinsicsmodule_warp_id
* \ingroup intrinsicsmodule
*/
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/_build/
/_doxygen/
/_images/
/_static/
/_templates/
/.doxygen/docBin
/.doxygen/rocPRIM.tag
/.sphinx/_toc.yml
/api
14 changes: 14 additions & 0 deletions docs/.sphinx/_toc.yml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Anywhere {branch} is used, the branch name will be substituted.
# These comments will also be removed.
root: index
subtrees:
- entries:
- file: intro
- file: ops_summary
- file: device_ops/index
- file: block_ops/index
- file: warp_ops/index
- file: thread_ops
- file: iterators
- file: intrinsics
- file: glossary
1 change: 1 addition & 0 deletions docs/.sphinx/requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rocm-docs-core==0.13.4
155 changes: 155 additions & 0 deletions docs/.sphinx/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile requirements.in
#
accessible-pygments==0.0.4
# via pydata-sphinx-theme
alabaster==0.7.13
# via sphinx
babel==2.12.1
# via
# pydata-sphinx-theme
# sphinx
beautifulsoup4==4.12.2
# via pydata-sphinx-theme
breathe==4.35.0
# via rocm-docs-core
certifi==2023.5.7
# via requests
cffi==1.15.1
# via
# cryptography
# pynacl
charset-normalizer==3.1.0
# via requests
click==8.1.3
# via sphinx-external-toc
cryptography==41.0.1
# via pyjwt
deprecated==1.2.14
# via pygithub
docutils==0.19
# via
# breathe
# myst-parser
# pydata-sphinx-theme
# sphinx
fastjsonschema==2.17.1
# via rocm-docs-core
gitdb==4.0.10
# via gitpython
gitpython==3.1.31
# via rocm-docs-core
idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==6.6.0
# via sphinx
importlib-resources==5.12.0
# via rocm-docs-core
jinja2==3.1.2
# via
# myst-parser
# sphinx
linkify-it-py==1.0.3
# via myst-parser
markdown-it-py==2.2.0
# via
# mdit-py-plugins
# myst-parser
markupsafe==2.1.3
# via jinja2
mdit-py-plugins==0.3.5
# via myst-parser
mdurl==0.1.2
# via markdown-it-py
myst-parser[linkify]==1.0.0
# via rocm-docs-core
packaging==23.1
# via
# pydata-sphinx-theme
# sphinx
pycparser==2.21
# via cffi
pydata-sphinx-theme==0.13.3
# via
# rocm-docs-core
# sphinx-book-theme
pygithub==1.58.2
# via rocm-docs-core
pygments==2.15.1
# via
# accessible-pygments
# pydata-sphinx-theme
# sphinx
pyjwt[crypto]==2.7.0
# via pygithub
pynacl==1.5.0
# via pygithub
pytz==2023.3
# via babel
pyyaml==6.0
# via
# myst-parser
# rocm-docs-core
# sphinx-external-toc
requests==2.31.0
# via
# pygithub
# sphinx
rocm-docs-core==0.13.4
# via -r requirements.in
smmap==5.0.0
# via gitdb
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.4.1
# via beautifulsoup4
sphinx==5.3.0
# via
# breathe
# myst-parser
# pydata-sphinx-theme
# rocm-docs-core
# sphinx-book-theme
# sphinx-copybutton
# sphinx-design
# sphinx-external-toc
# sphinx-notfound-page
sphinx-book-theme==1.0.1
# via rocm-docs-core
sphinx-copybutton==0.5.2
# via rocm-docs-core
sphinx-design==0.4.1
# via rocm-docs-core
sphinx-external-toc==0.3.1
# via rocm-docs-core
sphinx-notfound-page==0.8.3
# via rocm-docs-core
sphinxcontrib-applehelp==1.0.4
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.1
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
typing-extensions==4.6.3
# via pydata-sphinx-theme
uc-micro-py==1.0.2
# via linkify-it-py
urllib3==2.0.3
# via requests
wrapt==1.15.0
# via deprecated
zipp==3.15.0
# via
# importlib-metadata
# importlib-resources
Loading

0 comments on commit 16e4c2d

Please sign in to comment.