diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index de699ea7f2..2bcc15a80f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -52,6 +52,17 @@ jobs: branch: ${{ inputs.branch }} date: ${{ inputs.date }} sha: ${{ inputs.sha }} + docs-build: + if: github.ref_type == 'branch' && github.event_name == 'push' + needs: python-build + secrets: inherit + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.04 + with: + build_type: branch + node_type: "gpu-latest-1" + arch: "amd64" + container_image: "rapidsai/ci:latest" + run_script: "ci/build_docs.sh" wheel-build-pylibraft: secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.04 diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 0a16792aad..36816eeb48 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -17,6 +17,7 @@ jobs: - conda-cpp-tests - conda-python-build - conda-python-tests + - docs-build - wheel-build-pylibraft - wheel-tests-pylibraft - wheel-build-raft-dask @@ -51,6 +52,16 @@ jobs: uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.04 with: build_type: pull-request + docs-build: + needs: conda-python-build + secrets: inherit + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.04 + with: + build_type: pull-request + node_type: "gpu-latest-1" + arch: "amd64" + container_image: "rapidsai/ci:latest" + run_script: "ci/build_docs.sh" wheel-build-pylibraft: needs: checks secrets: inherit diff --git a/.gitignore b/.gitignore index 5d148b836b..80709dbb96 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,10 @@ doxygen_check/ ## cibuildwheel /wheelhouse + +# doxygen +_xml + +# sphinx +_html +_text diff --git a/build.sh b/build.sh index b47e1ed862..93f11d11a1 100755 --- a/build.sh +++ b/build.sh @@ -57,6 +57,7 @@ HELP="$0 [ ...] [ ...] [--cmake-args=\"\"] [--cache-tool==1.8.20 - faiss-proc=*=cuda - gcc_linux-64=9 +- graphviz +- ipython - libcublas-dev=11.11.3.6 - libcublas=11.11.3.6 - libcurand-dev=10.3.0.86 @@ -34,12 +36,16 @@ dependencies: - libcusparse=11.7.5.86 - libfaiss>=1.7.1=cuda* - ninja +- numpydoc +- pydata-sphinx-theme - pytest - pytest-cov +- recommonmark - rmm=23.04 - scikit-build>=0.13.1 - scikit-learn - scipy +- sphinx-copybutton - sphinx-markdown-tables - sysroot_linux-64==2.17 - ucx-proc=*=gpu diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 81cc82d6c5..749bafecd0 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -724,11 +724,3 @@ endif() if(BUILD_BENCH) include(bench/CMakeLists.txt) endif() - -# ################################################################################################## -# * doxygen targets ---------------------------------------------------------- -include(cmake/doxygen.cmake) -add_doxygen_target( - IN_DOXYFILE doxygen/Doxyfile.in OUT_DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile CWD - ${CMAKE_CURRENT_BINARY_DIR} -) diff --git a/cpp/cmake/doxygen.cmake b/cpp/cmake/doxygen.cmake deleted file mode 100644 index a6fddbacd6..0000000000 --- a/cpp/cmake/doxygen.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright (c) 2020-2022, NVIDIA CORPORATION. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except -# in compliance with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under -# the License. -# - -find_package(Doxygen 1.8.11) - -function(add_doxygen_target) - if(Doxygen_FOUND) - set(options "") - set(oneValueArgs IN_DOXYFILE OUT_DOXYFILE CWD) - set(multiValueArgs "") - cmake_parse_arguments(dox "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - configure_file(${dox_IN_DOXYFILE} ${dox_OUT_DOXYFILE} @ONLY) - - message("Command: ${DOXYGEN_EXECUTABLE} ${dox_OUT_DOXYFILE}") - add_custom_target( - docs_raft - ${DOXYGEN_EXECUTABLE} ${dox_OUT_DOXYFILE} - WORKING_DIRECTORY ${dox_CWD} - VERBATIM - COMMENT "Generate doxygen docs" - ) - else() - message("add_doxygen_target: doxygen exe not found") - endif() -endfunction(add_doxygen_target) diff --git a/cpp/doxygen/Doxyfile.in b/cpp/doxygen/Doxyfile similarity index 97% rename from cpp/doxygen/Doxyfile.in rename to cpp/doxygen/Doxyfile index ee24ff913e..2a92c67996 100644 --- a/cpp/doxygen/Doxyfile.in +++ b/cpp/doxygen/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "RAFT C++ API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = @RAFT_VERSION@ +PROJECT_NUMBER = "23.04" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@ +OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -835,8 +835,8 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/doxygen/main_page.md \ - @CMAKE_CURRENT_SOURCE_DIR@/include +INPUT = main_page.md \ + ../include # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -879,30 +879,30 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = @CMAKE_CURRENT_SOURCE_DIR@/include/raft/sparse/linalg/symmetrize.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/cache \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/common \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/lap \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/sparse/selection \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/sparse/csr.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/linalg/lanczos.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/linalg/lanczos.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/cuda_utils.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/cudart_utils.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/device_atomics.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/device_utils.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/error.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/handle.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/integer_utils.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/interruptible.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/mdarray.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/pow2_utils.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/span.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/util/vectorized.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/raft.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/core/cudart_utils.hpp \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/matrix/math.cuh \ - @CMAKE_CURRENT_SOURCE_DIR@/include/raft/matrix/matrix.cuh +EXCLUDE = ../include/raft/sparse/linalg/symmetrize.hpp \ + ../include/raft/cache \ + ../include/raft/common \ + ../include/raft/lap \ + ../include/raft/sparse/selection \ + ../include/raft/sparse/csr.hpp \ + ../include/raft/linalg/lanczos.cuh \ + ../include/raft/linalg/lanczos.hpp \ + ../include/raft/util/cuda_utils.cuh \ + ../include/raft/util/cudart_utils.hpp \ + ../include/raft/util/device_atomics.cuh \ + ../include/raft/util/device_utils.cuh \ + ../include/raft/core/error.hpp \ + ../include/raft/core/handle.hpp \ + ../include/raft/util/integer_utils.hpp \ + ../include/raft/core/interruptible.hpp \ + ../include/raft/core/mdarray.hpp \ + ../include/raft/util/pow2_utils.cuh \ + ../include/raft/core/span.hpp \ + ../include/raft/util/vectorized.cuh \ + ../include/raft/raft.hpp \ + ../include/raft/core/cudart_utils.hpp \ + ../include/raft/matrix/math.cuh \ + ../include/raft/matrix/matrix.cuh # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -1013,7 +1013,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = @CMAKE_CURRENT_SOURCE_DIR@/doxygen/main_page.md +USE_MDFILE_AS_MAINPAGE = main_page.md #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -1134,7 +1134,7 @@ IGNORE_PREFIX = # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. -GENERATE_HTML = YES +GENERATE_HTML = NO # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of @@ -1169,7 +1169,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = @CMAKE_CURRENT_SOURCE_DIR@/doxygen/header.html +HTML_HEADER = header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -2018,7 +2018,7 @@ GENERATE_XML = YES # The default directory is: xml. # This tag requires that the tag GENERATE_XML is set to YES. -XML_OUTPUT = xml +XML_OUTPUT = _xml # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to @@ -2270,7 +2270,7 @@ HIDE_UNDOC_RELATIONS = YES # set to NO # The default value is: NO. -HAVE_DOT = @DOXYGEN_DOT_FOUND@ +HAVE_DOT = # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed # to run in parallel. When set to 0 doxygen will base this on the number of @@ -2448,7 +2448,7 @@ INTERACTIVE_SVG = NO # found. If left blank, it is assumed the dot tool can be found in the path. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_PATH = @DOXYGEN_DOT_EXECUTABLE@ +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the \dotfile diff --git a/cpp/include/raft/distance/distance.cuh b/cpp/include/raft/distance/distance.cuh index 5fd5ebe98d..843a22c593 100644 --- a/cpp/include/raft/distance/distance.cuh +++ b/cpp/include/raft/distance/distance.cuh @@ -42,6 +42,7 @@ namespace distance { * @tparam OutType output type * @tparam FinalLambda user-defined epilogue lamba * @tparam Index_ Index type + * @param handle raft handle for managing expensive resources * @param x first set of points * @param y second set of points * @param dist output distance matrix @@ -89,6 +90,7 @@ void distance(raft::resources const& handle, * @tparam AccType accumulation type * @tparam OutType output type * @tparam Index_ Index type + * @param handle raft handle for managing expensive resources * @param x first set of points * @param y second set of points * @param dist output distance matrix @@ -186,6 +188,7 @@ size_t getWorkspaceSize(const raft::device_matrix_view x, * @tparam AccType accumulation type * @tparam OutType output type * @tparam Index_ Index type + * @param handle raft handle for managing expensive resources * @param x first set of points * @param y second set of points * @param dist output distance matrix diff --git a/cpp/include/raft/stats/adjusted_rand_index.cuh b/cpp/include/raft/stats/adjusted_rand_index.cuh index d2815fe753..87a1b8f686 100644 --- a/cpp/include/raft/stats/adjusted_rand_index.cuh +++ b/cpp/include/raft/stats/adjusted_rand_index.cuh @@ -14,7 +14,7 @@ * limitations under the License. */ /** - * @file adjusted_rand_index.hpp + * @file adjusted_rand_index.cuh * @brief The adjusted Rand index is the corrected-for-chance version of the Rand index. * Such a correction for chance establishes a baseline by using the expected similarity * of all pair-wise comparisons between clusterings specified by a random model. diff --git a/cpp/include/raft/stats/information_criterion.cuh b/cpp/include/raft/stats/information_criterion.cuh index b54f126859..2d865a566d 100644 --- a/cpp/include/raft/stats/information_criterion.cuh +++ b/cpp/include/raft/stats/information_criterion.cuh @@ -14,7 +14,7 @@ * limitations under the License. */ /** - * @file information_criterion.hpp + * @file information_criterion.cuh * @brief These information criteria are used to evaluate the quality of models * by balancing the quality of the fit and the number of parameters. * diff --git a/dependencies.yaml b/dependencies.yaml index ed2425d483..571c9a095a 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -9,7 +9,7 @@ files: - build - cudatoolkit - develop - - doc + - docs - run - test_python test_cpp: @@ -27,6 +27,12 @@ files: includes: - checks - py_version + docs: + output: none + includes: + - cudatoolkit + - docs + - py_version channels: - rapidsai - rapidsai-nightly @@ -131,17 +137,18 @@ dependencies: - *libcusolver114 - *libcusparse_dev114 - *libcusparse114 - doc: + docs: common: - - output_types: [conda, requirements] - packages: - - breathe - - output_types: [requirements] - packages: - - sphinx_markdown_tables - output_types: [conda] packages: + - breathe - doxygen>=1.8.20 + - graphviz + - ipython + - numpydoc + - pydata-sphinx-theme + - recommonmark + - sphinx-copybutton - sphinx-markdown-tables py_version: specific: diff --git a/docs/Makefile b/docs/Makefile index b242888a67..d621499d14 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -Dbreath_projects.RAFT=../cpp/build/xml +SPHINXOPTS = SPHINXBUILD = sphinx-build SPHINXPROJ = RAFT SOURCEDIR = source diff --git a/docs/source/build.md b/docs/source/build.md index 048a254a06..70b07f4e81 100644 --- a/docs/source/build.md +++ b/docs/source/build.md @@ -265,7 +265,7 @@ When the needed [build dependencies](#build-dependencies) are already satisfied, set(RAFT_GIT_DIR ${CMAKE_CURRENT_BINARY_DIR}/raft CACHE STRING "Path to RAFT repo") ExternalProject_Add(raft GIT_REPOSITORY git@github.com:rapidsai/raft.git - GIT_TAG branch-22.10 + GIT_TAG branch-23.04 PREFIX ${RAFT_GIT_DIR} CONFIGURE_COMMAND "" BUILD_COMMAND "" @@ -297,7 +297,7 @@ The following `cmake` snippet enables a flexible configuration of RAFT: ```cmake -set(RAFT_VERSION "22.12") +set(RAFT_VERSION "23.04") set(RAFT_FORK "rapidsai") set(RAFT_PINNED_TAG "branch-${RAFT_VERSION}") diff --git a/docs/source/conf.py b/docs/source/conf.py index 3b83464d3d..2b99d2bfc4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -1,21 +1,5 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# # Copyright (c) 2018-2023, NVIDIA CORPORATION. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# import os import sys @@ -24,8 +8,6 @@ # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. sys.path.insert(0, os.path.abspath("sphinxext")) -sys.path.insert(0, os.path.abspath("../../python/raft-dask")) -sys.path.insert(0, os.path.abspath("../../python/pylibraft")) from github_link import make_linkcode_resolve # noqa @@ -56,7 +38,7 @@ breathe_default_project = "RAFT" breathe_projects = { - "RAFT": "../../cpp/build/xml/", + "RAFT": "../../cpp/doxygen/_xml/", } ipython_mplbackend = "str" diff --git a/docs/source/cuda_cpp.rst b/docs/source/cuda_cpp.rst deleted file mode 100644 index 7a7cdae086..0000000000 --- a/docs/source/cuda_cpp.rst +++ /dev/null @@ -1,11 +0,0 @@ -CUDA/C++ API -============ - -RAFT is a header-only C++ library with optional pre-compiled shared libraries that can speed up compile times for larger projects. - -.. _api: - -.. toctree:: - :maxdepth: 4 - - cpp_api.rst diff --git a/docs/source/developer_guide.md b/docs/source/developer_guide.md index 2f54753cc6..56100b38f7 100644 --- a/docs/source/developer_guide.md +++ b/docs/source/developer_guide.md @@ -140,13 +140,13 @@ RAFT relies on `clang-format` to enforce code style across all C++ and CUDA sour 1. Do not split empty functions/records/namespaces. 2. Two-space indentation everywhere, including the line continuations. 3. Disable reflowing of comments. - The reasons behind these deviations from the Google style guide are given in comments [here](../../cpp/.clang-format). + The reasons behind these deviations from the Google style guide are given in comments [here](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/.clang-format). #### How is the check done? -All formatting checks are done by this python script: [run-clang-format.py](../../cpp/scripts/run-clang-format.py) which is effectively a wrapper over `clang-format`. An error is raised if the code diverges from the format suggested by clang-format. It is expected that the developers run this script to detect and fix formatting violations before creating PR. +All formatting checks are done by this python script: [run-clang-format.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/run-clang-format.py) which is effectively a wrapper over `clang-format`. An error is raised if the code diverges from the format suggested by clang-format. It is expected that the developers run this script to detect and fix formatting violations before creating PR. ##### As part of CI -[run-clang-format.py](../../cpp/scripts/run-clang-format.py) is executed as part of our `ci/checks/style.sh` CI test. If there are any formatting violations, PR author is expected to fix those to get CI passing. Steps needed to fix the formatting violations are described in the subsequent sub-section. +[run-clang-format.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/run-clang-format.py) is executed as part of our `ci/checks/style.sh` CI test. If there are any formatting violations, PR author is expected to fix those to get CI passing. Steps needed to fix the formatting violations are described in the subsequent sub-section. ##### Manually Developers can also manually (or setup this command as part of git pre-commit hook) run this check by executing: @@ -156,10 +156,10 @@ python ./cpp/scripts/run-clang-format.py From the root of the RAFT repository. #### How to know the formatting violations? -When there are formatting errors, [run-clang-format.py](../../cpp/scripts/run-clang-format.py) prints a `diff` command, showing where there are formatting differences. Unfortunately, unlike `flake8`, `clang-format` does NOT print descriptions of the violations, but instead directly formats the code. So, the only way currently to know about formatting differences is to run the diff command as suggested by this script against each violating source file. +When there are formatting errors, [run-clang-format.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/run-clang-format.py) prints a `diff` command, showing where there are formatting differences. Unfortunately, unlike `flake8`, `clang-format` does NOT print descriptions of the violations, but instead directly formats the code. So, the only way currently to know about formatting differences is to run the diff command as suggested by this script against each violating source file. #### How to fix the formatting violations? -When there are formatting violations, [run-clang-format.py](../../cpp/scripts/run-clang-format.py) prints at the end, the exact command that can be run by developers to fix them. This is the easiest way to fix formatting errors. [This screencast](https://asciinema.org/a/287367) shows how developers can check for formatting violations in their branches and also how to fix those, before sending out PRs. +When there are formatting violations, [run-clang-format.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/run-clang-format.py) prints at the end, the exact command that can be run by developers to fix them. This is the easiest way to fix formatting errors. [This screencast](https://asciinema.org/a/287367) shows how developers can check for formatting violations in their branches and also how to fix those, before sending out PRs. In short, to bulk-fix all the formatting violations, execute the following command: ```bash @@ -168,13 +168,13 @@ python ./cpp/scripts/run-clang-format.py -inplace From the root of the RAFT repository. #### clang-format version? -To avoid spurious code style violations we specify the exact clang-format version required, currently `11.1.0`. This is enforced by the [run-clang-format.py](../../cpp/scripts/run-clang-format.py) script itself. Refer [here](../../cpp/README.md#dependencies) for the list of build-time dependencies. +To avoid spurious code style violations we specify the exact clang-format version required, currently `11.1.0`. This is enforced by the [run-clang-format.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/run-clang-format.py) script itself. Refer [here](../build#build-dependencies) for the list of build-time dependencies. #### Additional scripts Along with clang, there are an include checker and copyright checker scripts for checking style, which can be performed as part of CI, as well as manually. ##### #include style -[include_checker.py](../../cpp/scripts/include_checker.py) is used to enforce the include style as follows: +[include_checker.py](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/scripts/include_checker.py) is used to enforce the include style as follows: 1. `#include "..."` should be used for referencing local files only. It is acceptable to be used for referencing files in a sub-folder/parent-folder of the same algorithm, but should never be used to include files in other algorithms or between algorithms and the primitives or other dependencies. 2. `#include <...>` should be used for referencing everything else @@ -184,7 +184,7 @@ python ./cpp/scripts/include_checker.py --inplace [cpp/include cpp/test ... list ``` ##### Copyright header -[copyright.py](../../ci/checks/copyright.py) checks the Copyright header for all git-modified files +[copyright.py](https://github.com/rapidsai/raft/blob/branch-23.04/ci/checks/copyright.py) checks the Copyright header for all git-modified files Manually, you can run the following to bulk-fix the header if only the years need to be updated: ```bash @@ -198,7 +198,7 @@ Call CUDA APIs via the provided helper macros `RAFT_CUDA_TRY`, `RAFT_CUBLAS_TRY` ## Logging ### Introduction -Anything and everything about logging is defined inside [logger.hpp](../../cpp/include/raft/core/logger.hpp). It uses [spdlog](https://github.com/gabime/spdlog) underneath, but this information is transparent to all. +Anything and everything about logging is defined inside [logger.hpp](https://github.com/rapidsai/raft/blob/branch-23.04/cpp/include/raft/core/logger.hpp). It uses [spdlog](https://github.com/gabime/spdlog) underneath, but this information is transparent to all. ### Usage ```cpp diff --git a/docs/source/python.rst b/docs/source/python.rst deleted file mode 100644 index 561ec3d029..0000000000 --- a/docs/source/python.rst +++ /dev/null @@ -1,10 +0,0 @@ -RAFT Python APIs -================ - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - pylibraft_api.rst - raft_dask_api.rst -