From c6e2ec20b74fb5a1a4970e6b417c3be7bc655919 Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Wed, 18 Dec 2024 14:10:59 +0100 Subject: [PATCH] update codegen module docs --- docs/Makefile | 7 +------ docs/source/api/codegen.rst | 21 ++++++++++++++++++--- src/pystencils/codegen/driver.py | 15 +++++++++++++++ 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index 800b4020a..a293f14ee 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -12,12 +12,7 @@ BUILDDIR = build help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -clean: - rm -rf source/reference/generated - rm -rf source/backend/generated - @$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help clean Makefile +.PHONY: help html clean # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/docs/source/api/codegen.rst b/docs/source/api/codegen.rst index cf8db1700..d65e9a358 100644 --- a/docs/source/api/codegen.rst +++ b/docs/source/api/codegen.rst @@ -3,15 +3,14 @@ pystencils.codegen .. module:: pystencils.codegen -Kernel Creation Driver ----------------------- +Invocation +---------- .. autosummary:: :toctree: generated :nosignatures: create_kernel - get_driver Configuration ------------- @@ -43,6 +42,22 @@ Target Specification Target +Code Generation Drivers +----------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: autosummary/entire_class.rst + + driver.DefaultKernelCreationDriver + +.. autosummary:: + :toctree: generated + :nosignatures: + + get_driver + Output Code Objects ------------------- diff --git a/src/pystencils/codegen/driver.py b/src/pystencils/codegen/driver.py index 62a3f44db..2ab906366 100644 --- a/src/pystencils/codegen/driver.py +++ b/src/pystencils/codegen/driver.py @@ -81,10 +81,25 @@ def create_kernel( def get_driver(cfg: CreateKernelConfig, *, retain_intermediates: bool = False): + """Create a code generation driver object from the given configuration. + + Args: + cfg: Configuration for the code generator + retain_intermediates: If `True`, instructs the driver to keep copies of + the intermediate results of its stages for later inspection. + """ return DefaultKernelCreationDriver(cfg, retain_intermediates) class DefaultKernelCreationDriver: + """Drives the default kernel creation sequence. + + Args: + cfg: Configuration for the code generator + retain_intermediates: If `True`, instructs the driver to keep copies of + the intermediate results of its stages for later inspection. + """ + def __init__(self, cfg: CreateKernelConfig, retain_intermediates: bool = False): self._cfg = cfg -- GitLab