-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update user guide. * Reorganize documentation directories * Add docs on HPCToolkit profiling * Add rocprof instructions to the documentation.
- Loading branch information
Showing
11 changed files
with
359 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,23 +2,28 @@ | |
ReSolve | ||
******* | ||
|
||
ReSolve is a library of GPU-resident linear solver. It contains iterative and direct linear solvers designed to run on NVIDIA and AMD GPUs, as well as on CPU devices. | ||
ReSolve is an open-source library that provides GPU-resident linear solvers. | ||
It contains iterative and direct solvers designed to run on NVIDIA and AMD | ||
GPUs, as well as on CPU devices. | ||
|
||
ReSolve source code and documentation are available at | ||
`GitHub <https://github.com/ORNL/ReSolve>`_. | ||
|
||
To learn how to get start with resolve please checkout our `User Guide <sphinx/html/guide.html>`_ | ||
|
||
============= | ||
Documentation | ||
============= | ||
------------- | ||
|
||
To get started, please check our `User Guide <sphinx/user_guide/index.html>`_. | ||
Source code documentation generated in Doxygen is also | ||
`linked <doxygen/html/index.html>`_ to this site. | ||
|
||
Source code documentation are also linked on this site. | ||
`ReSolve Github Project <https://github.com/ORNL/ReSolve>`_. | ||
`Source documentation <doxygen/html/index.html>`_ | ||
|
||
Contributing | ||
------------ | ||
|
||
For all contributions to ReSolve please follow the `developer | ||
guidelines <sphinx/coding_guide/index.html>`__ | ||
For all contributions to ReSolve please consult | ||
`Developer Guide <sphinx/developer_guide/index.html>`_ and follow the | ||
`Coding Style Guidelines <sphinx/coding_guidelines/index.html>`_. | ||
|
||
Authors and acknowledgment | ||
-------------------------- | ||
|
@@ -29,7 +34,7 @@ Primary authors of this project are: | |
* Slaven Peles [email protected] (ORNL) | ||
|
||
ReSolve project would not be possible without significant contributions | ||
from (in alphabetic order): | ||
from (in alphabetic order): | ||
|
||
* Maksudul Alam (ORNL) | ||
* Ryan Danehy (PNNL) | ||
|
@@ -38,18 +43,37 @@ from (in alphabetic order): | |
* Phil Roth (ORNL) | ||
* Cameron Rutherford (PNNL) | ||
|
||
Development of this code was supported by the Exascale Computing Project (ECP), Project Number: 17-SC-20-SC, a collaborative effort of two DOE organizations—the Office of Science and the National Nuclear Security Administration—responsible for the planning and preparation of a capable exascale ecosystem—including software, applications, hardware, advanced system engineering, and early testbed platforms—to support the nation’s exascale computing imperative. | ||
Development of this code was supported by the Exascale Computing Project (ECP), | ||
Project Number: 17-SC-20-SC, a collaborative effort of two DOE organizations | ||
— the Office of Science and the National Nuclear Security Administration — | ||
responsible for the planning and preparation of a capable exascale ecosystem | ||
— including software, applications, hardware, advanced system engineering, and | ||
early testbed platforms — to support the nation’s exascale computing | ||
imperative. | ||
|
||
License | ||
------- | ||
|
||
ReSolve is a free software distributed under a BSD-style license. See | ||
the `LICENSE <sphinx/license.html>`__ and `NOTICE <sphinx/notice.html>`__ | ||
for more details. All new contributions to ReSolve must be made under the | ||
same licensing terms. | ||
|
||
**Please Note:** If you are using ReSolve with any third party libraries linked | ||
in (e.g., KLU), be sure to review the respective license of the package as that | ||
license may have more restrictive terms than the ReSolve license. | ||
|
||
Copyright © 2023, UT-Battelle, LLC, and Battelle Memorial Institute. | ||
|
||
ReSolve is a free software distributed under a BSD-style license. | ||
|
||
See the `LICENSE <sphinx/license.rst>`__ and `NOTICE <sphinx/notice.rst>`__ files for details. All | ||
new contributions to ReSolve must be made under the same licensing | ||
terms. | ||
.. toctree:: | ||
:maxdepth: 2 | ||
:hidden: | ||
:caption: User Resources | ||
|
||
sphinx/user_guide/index | ||
sphinx/license | ||
sphinx/notice | ||
|
||
|
||
.. toctree:: | ||
|
@@ -65,8 +89,7 @@ terms. | |
:hidden: | ||
:caption: Developer Resources | ||
|
||
sphinx/coding_guide/index | ||
sphinx/coding_guidelines/index | ||
doxygen/index | ||
sphinx/licenses | ||
sphinx/notice | ||
sphinx/developer_guide/index | ||
sphinx/developer_guide/profiling |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,11 +18,18 @@ We also export under the ``ReSolve::`` namespace in our installed CMake configur | |
Spack Package | ||
--------------- | ||
|
||
Our current spack package is introduced in https://github.com/spack/spack/pull/40871, and contains support for building Re::Solve with CUDA and HIP/ROCm support. | ||
Our current Spack package has been introduced | ||
`upstream <https://github.com/spack/spack/pull/40871>`_, and contains support | ||
for building Re::Solve with CUDA and HIP/ROCm support. | ||
|
||
We also have a custom ``spack`` folder/installation that contains our spack submodule located in ``buildsystem/spack/spack``. This is used to build Re::Solve on CI platforms, as well as support development of the spack package as neccessary. | ||
We also have a custom ``spack`` folder/installation that contains our spack | ||
submodule located in ``buildsystem/spack/spack``. This is used to build | ||
Re::Solve on CI platforms, as well as support development of the spack package | ||
as neccessary. | ||
|
||
See the Quik-How-To section below for more information on how to update the spack package and typical workflows for building Re::Solve with spack on CI platforms for testing. | ||
See the Quik-How-To section below for more information on how to update the | ||
spack package and typical workflows for building Re::Solve with spack on CI | ||
platforms for testing. | ||
|
||
|
||
GitHub Actions | ||
|
@@ -83,6 +90,76 @@ Deception specific CI. | |
|
||
Incline specific CI. | ||
|
||
|
||
Writing Documentation | ||
--------------------- | ||
|
||
Re::Solve uses Sphynx for the documentation. To write and preview the | ||
documentation on your local machine use e.g. ``pip`` tool to install following | ||
Python packages: | ||
|
||
.. code:: shell | ||
pip install sphinx docutils sphinx_rtd_theme sphinxcontrib-jquery m2r2 | ||
If you prefer using Anaconda utilities, getting these packages is | ||
slightly different: | ||
|
||
.. code:: shell | ||
conda install sphinx docutils sphinx_rtd_theme | ||
conda install -c conda-forge sphinxcontrib-jquery m2r2 | ||
Once you have all the required packages, you can build the HTML docs by | ||
|
||
.. code:: shell | ||
git clone [email protected]:ORNL/ReSolve.git | ||
sphinx-build -M html ReSolve/docs/ ./build | ||
This will generate HTML documentation and place it in ``build`` | ||
subdirectory in your current directory. | ||
|
||
|
||
Using Dev Container for Writing Documentation | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
In case you cannot install Sphynx and other dependencies on your machine, | ||
Re::Solve provides scripts for building development container with all | ||
tools required for Sphynx documentation generation. To create container | ||
for documentation development follow these straightforward steps: | ||
|
||
Prerequisites | ||
""""""""""""" | ||
|
||
#. install Docker Desktop and launch the app | ||
#. install the "Remote Development" extension in VSCode | ||
#. open your local clone of resolve in VSCode | ||
|
||
|
||
Build Container | ||
""""""""""""""" | ||
|
||
The build info for this container is in `.devcontainer/`. There is a Dockerfile and | ||
json file associated with the configuration. | ||
|
||
#. if connected, disconnect from the PNNL VPN | ||
#. launch the container build | ||
|
||
* `cmd shift p` to open the command pallette in vscode | ||
* click `> Dev Container: rebuild and reopen container` | ||
* this will start building the container, taking about 40 minutes | ||
* click on the pop up with `(show log)` to view the progress | ||
|
||
#. Open new terminal within Visual Studio Code and run the renderDocs.sh (note this takes a minute) | ||
#. Open the link that was served to you after step 3 | ||
|
||
.. note:: Pushing/pulling from git is not supported in a devcontainer, | ||
and should be done separately. | ||
|
||
|
||
|
||
Devcontainer Configuration | ||
---------------------------- | ||
|
||
|
Oops, something went wrong.