conf.py 3.28 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
version = str(te_version + "-" + git_sha)
51
52
53
54
55
56
57
58
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
59
60
61
version = (
    version
    + """<br/>
62
63
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>
64
    <option value="https://docs.nvidia.com/deeplearning/transformer-engine/documentation-archive.html">Older releases</option>
65
66
67
68
</select>""".format(
        option_nr, release_opt
    )
)
Przemek Tredak's avatar
Przemek Tredak committed
69
70
71
72
73

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

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

83
84
templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
Przemek Tredak's avatar
Przemek Tredak committed
85

86
source_suffix = ".rst"
Przemek Tredak's avatar
Przemek Tredak committed
87

88
master_doc = "index"
Przemek Tredak's avatar
Przemek Tredak committed
89

90
pygments_style = "sphinx"
Przemek Tredak's avatar
Przemek Tredak committed
91
92
93
94
95


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

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

html_css_files = [
102
103
    "css/nvidia_font.css",
    "css/nvidia_footer.css",
104
]
Przemek Tredak's avatar
Przemek Tredak committed
105

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

108
109
110
111
112
napoleon_custom_sections = [
    ("Parallelism parameters", "params_style"),
    ("Optimization parameters", "params_style"),
    ("Values", "params_style"),
]
Przemek Tredak's avatar
Przemek Tredak committed
113
114
115

breathe_projects = {"TransformerEngine": os.path.abspath("doxygen/xml/")}
breathe_default_project = "TransformerEngine"
116
117
118

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