diff --git a/docs/overview/extensible-operations.rst b/docs/overview/extensible-operations.rst new file mode 100644 index 000000000..c13d99e64 --- /dev/null +++ b/docs/overview/extensible-operations.rst @@ -0,0 +1,47 @@ + + +Converting Shaders to C++ Headers +===================== + +Kompute allows for shaders to be loaded directly through the kp::OpAlgoBase as either raw strings (through shaderc) or compiled SPIRV bytes. For this latter, the traditional method of including the SPIRV bytes is by loading the SPIRV file directly and passing the contents. + +The Kompute codebase has a utility that allows you to convert shader files into C++ header files containing the SPIRV header data. This is useful as it enables developers to compile the SPIRV shaders into the final binary, which avoids the need for multiple files being required. + +The utility can be found under `scripts/convert_shaders.py `_ and consists primarily of a Python CLI that can be called to pass arguments. + +In order to use this Python utility, you will have to first install the dependencies outlined by the `scripts/requirements.txt` file. You will need to have python 3 and pip3 installed. + +.. code-block:: bash + :linenos: + + python3 -m pip install -r scripts/requirements.txt + +Once the dependencies can be installed, you can run the Python script directly through the file as `python3 scripts/convert_shaders.py`. + +You can run `python3 scripts/convert_shaders.py --help` to see all the options available - namely: + +.. code-block:: bash + :linenos: + + > python3 scripts/convert_shaders.py --help + + Usage: convert_shaders.py [OPTIONS] + + CLI function for shader generation + + Options: + -p, --shader-path TEXT The path for the directory to build and convert + shaders [required] + + -s, --shader-binary TEXT The path for the directory to build and convert + shaders [required] + + -c, --header-path TEXT The (optional) output file for the cpp header + files + + -v, --verbose Enable versbosity if flag is provided + --help Show this message and exit. + +You can see the command that converts the shaders `in the makefile `_ to get an idea of how you would be able to use this utility. + + diff --git a/docs/overview/python-package.rst b/docs/overview/python-package.rst index 82a0264b1..c9e12daaa 100644 --- a/docs/overview/python-package.rst +++ b/docs/overview/python-package.rst @@ -311,13 +311,7 @@ Similar to the logistic regression implementation in the C++ examples section, b Log Level Configuration ^^^^^^ -You can configure log level with the function `kp.log_level` as outlined below. +Logging inside the C++ uses the PyBind logging, which allows for all the std::cout to be passed to a python logger. -The values are TRACE=0, DEBUG=1, INFO=2, WARN=3, ERROR=4. Kompute defaults to INFO. - -.. code-block:: python - :linenos: - - import kp - kp.log_level(1) +All python output is logged to the logger with the name `kp`.