conf.py 3.43 KB
Newer Older
1
# Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
Przemek Tredak's avatar
Przemek Tredak committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#
# See LICENSE for license information.

import os
import sys
import sphinx_rtd_theme
from sphinx.ext.autodoc.mock import mock
from sphinx.ext.autodoc import between, ClassDocumenter, AttributeDocumenter
from sphinx.util import inspect
from builtins import str
from enum import Enum
import re
import subprocess
from pathlib import Path
from datetime import date

te_path = os.path.dirname(os.path.realpath(__file__))

20
with open(te_path + "/../build_tools/VERSION.txt", "r") as f:
21
    te_version = f.readline().strip()
Przemek Tredak's avatar
Przemek Tredak committed
22
23
24
25
26
27
28
29
30

release_year = 2022

current_year = date.today().year
if current_year == release_year:
    copyright_year = release_year
else:
    copyright_year = str(release_year) + "-" + str(current_year)

31
32
33
project = "Transformer Engine"
copyright = "{}, NVIDIA CORPORATION & AFFILIATES. All rights reserved.".format(copyright_year)
author = "NVIDIA CORPORATION & AFFILIATES"
34
35
36
37
38

git_sha = os.getenv("GIT_SHA")

if not git_sha:
    try:
39
40
41
42
43
44
        git_sha = (
            subprocess.check_output(["git", "log", "--pretty=format:'%h'", "-n1"])
            .decode("ascii")
            .replace("'", "")
            .strip()
        )
45
    except:
46
        git_sha = "0000000"
47
48
49

git_sha = git_sha[:7] if len(git_sha) > 7 else git_sha

50
51
52
53
if "dev" in te_version:
    version = str(te_version + "-" + git_sha)
else:
    version = str(te_version)
54
55
56
57
58
59
60
61
release = te_version

# hack: version is used for html creation, so put the version picker
# link here as well:
option_on = " selected"
option_off = ""
release_opt = option_on
option_nr = 0
62
63
64
version = (
    version
    + """<br/>
65
66
Version select: <select onChange="window.location.href = this.value" onFocus="this.selectedIndex = {0}">
    <option value="https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/index.html"{1}>Current release</option>
67
    <option value="https://docs.nvidia.com/deeplearning/transformer-engine/documentation-archive.html">Older releases</option>
68
69
70
71
</select>""".format(
        option_nr, release_opt
    )
)
Przemek Tredak's avatar
Przemek Tredak committed
72
73
74
75
76

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
77
78
79
80
81
82
83
    "sphinx.ext.autodoc",
    "sphinx.ext.mathjax",
    "sphinx.ext.napoleon",
    "sphinx.ext.ifconfig",
    "nbsphinx",
    "breathe",
    "autoapi.extension",
84
]
Przemek Tredak's avatar
Przemek Tredak committed
85

86
87
templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
Przemek Tredak's avatar
Przemek Tredak committed
88

89
source_suffix = ".rst"
Przemek Tredak's avatar
Przemek Tredak committed
90

91
master_doc = "index"
Przemek Tredak's avatar
Przemek Tredak committed
92

93
pygments_style = "sphinx"
Przemek Tredak's avatar
Przemek Tredak committed
94
95
96
97
98


# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

99
html_theme = "sphinx_rtd_theme"
Przemek Tredak's avatar
Przemek Tredak committed
100
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
101
html_static_path = ["_static"]
102
html_show_sphinx = False
103
104

html_css_files = [
105
106
    "css/nvidia_font.css",
    "css/nvidia_footer.css",
107
]
Przemek Tredak's avatar
Przemek Tredak committed
108

109
html_theme_options = {"display_version": True, "collapse_navigation": False, "logo_only": False}
Przemek Tredak's avatar
Przemek Tredak committed
110

111
112
113
114
napoleon_custom_sections = [
    ("Parallelism parameters", "params_style"),
    ("Optimization parameters", "params_style"),
    ("Values", "params_style"),
115
116
    ("Graphing parameters", "params_style"),
    ("FP8-related parameters", "params_style"),
117
]
Przemek Tredak's avatar
Przemek Tredak committed
118
119
120

breathe_projects = {"TransformerEngine": os.path.abspath("doxygen/xml/")}
breathe_default_project = "TransformerEngine"
121
122
123

autoapi_generate_api_docs = False
autoapi_dirs = ["../transformer_engine"]