
*******************
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.

=================
Using CK API
=================

This section describes how to use the CK library API.

=================
CK Datatypes
=================

-----------------
DeviceMem
-----------------

.. 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::
