mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-14 10:09:41 +00:00
Generate output using Doxygen / Breathe (#598)
* Modify Doxygen config to pick up include directories recursively
* Add DeviceMem struct to API Reference guide
* Add classes that are used in Flash Attention kernel
* Add a reference and config for generating bibliography
Co-authored-by: Philip Maybank <Philip.Maybank@amd.com>
[ROCm/composable_kernel commit: e4bf6d422e]
This commit is contained in:
@@ -775,8 +775,10 @@ WARN_LOGFILE =
|
||||
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = ../library/include \
|
||||
../library/include/internal
|
||||
INPUT = ../include/ck/tensor_operation/gpu/grid \
|
||||
../include/ck/tensor_operation/gpu/block \
|
||||
../include/ck/tensor_operation/gpu/thread \
|
||||
../library/include/ck/library/utility
|
||||
|
||||
# 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
|
||||
@@ -845,7 +847,7 @@ FILE_PATTERNS = *.c \
|
||||
# be searched for input files as well.
|
||||
# The default value is: NO.
|
||||
|
||||
RECURSIVE = NO
|
||||
RECURSIVE = YES
|
||||
|
||||
# The EXCLUDE tag can be used to specify files and/or directories that should be
|
||||
# excluded from the INPUT source files. This way you can easily exclude a
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
===================
|
||||
*******************
|
||||
API Reference Guide
|
||||
===================
|
||||
*******************
|
||||
|
||||
------------
|
||||
=================
|
||||
Introduction
|
||||
------------
|
||||
=================
|
||||
|
||||
This document contains details of the APIs for the Composable Kernel (CK) library and introduces some of the key design
|
||||
principles that are used to write new classes that extend CK functionality.
|
||||
@@ -16,8 +16,37 @@ Using CK API
|
||||
|
||||
This section describes how to use the CK library API.
|
||||
|
||||
-----------------
|
||||
=================
|
||||
CK Datatypes
|
||||
=================
|
||||
|
||||
-----------------
|
||||
DeviceMem
|
||||
-----------------
|
||||
|
||||
[TODO]
|
||||
.. doxygenstruct:: DeviceMem
|
||||
|
||||
---------------------------
|
||||
Kernels For Flashattention
|
||||
---------------------------
|
||||
|
||||
The Flashattention algorithm is defined in :cite:t:`dao2022flashattention`. This sections lists the classes that are
|
||||
used in the CK GPU implementation of Flashattention.
|
||||
|
||||
**Gridwise classes**
|
||||
|
||||
.. doxygenstruct:: ck::GridwiseBatchedGemmSoftmaxGemm_Xdl_CShuffle
|
||||
|
||||
**Blockwise classes**
|
||||
|
||||
.. doxygenstruct:: ck::ThreadGroupTensorSliceTransfer_v4r1
|
||||
|
||||
.. doxygenstruct:: ck::BlockwiseGemmXdlops_v2
|
||||
|
||||
.. doxygenstruct:: ck::BlockwiseSoftmax
|
||||
|
||||
**Threadwise classes**
|
||||
|
||||
.. doxygenstruct:: ck::ThreadwiseTensorSliceTransfer_StaticToStatic
|
||||
|
||||
.. bibliography::
|
||||
@@ -59,10 +59,13 @@ if read_the_docs_build:
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = ['sphinx.ext.mathjax', 'breathe']
|
||||
extensions = ['sphinx.ext.mathjax', 'breathe', 'sphinxcontrib.bibtex']
|
||||
|
||||
breathe_projects = { "CK": "../docBin/xml" }
|
||||
breathe_default_project = "CK"
|
||||
|
||||
bibtex_bibfiles = ['refs.bib']
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
|
||||
7
docs/source/refs.bib
Normal file
7
docs/source/refs.bib
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
@article{dao2022flashattention,
|
||||
title={Flashattention: Fast and memory-efficient exact attention with io-awareness},
|
||||
author={Dao, Tri and Fu, Daniel Y and Ermon, Stefano and Rudra, Atri and R{\'e}, Christopher},
|
||||
journal={arXiv preprint arXiv:2205.14135},
|
||||
year={2022}
|
||||
}
|
||||
Reference in New Issue
Block a user