BlockDropout Struct Reference

BlockDropout Struct Reference#

Composable Kernel: ck_tile::BlockDropout Struct Reference

#include <block_dropout.hpp>

Public Member Functions

CK_TILE_HOST_DEVICE BlockDropout (index_t i_batch, index_t i_head, index_t nheads, unsigned long long seed, unsigned long long offset, float rp_undrop_, uint8_t p_undrop_in_uint8_t_, bool is_store_randval_)
 
template<typename BlockGemm , typename PComputeDataType , typename RandValOutputDataType , typename PComputeWindow , typename RandValDramWindow >
CK_TILE_HOST_DEVICE void Run (void *randval_ptr, const index_t start_n0_idx, PComputeWindow &p_compute, RandValDramWindow &randval_dram_window) const
 

Static Public Member Functions

template<typename BlockGemm , bool IsFwd = true, typename RandValDramBlockWindowTmp >
static constexpr CK_TILE_HOST_DEVICE auto MakeRandvalDramWindow (RandValDramBlockWindowTmp &randval_dram_block_window_tmp, index_t seqlen_qk_start)
 
template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto MakeRandValLdsBlockDescriptor ()
 
template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto MakeRandValTileDistribution ()
 
template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto MakeRandValLdsShuffleTileDistribution ()
 

Public Attributes

ck_tile::philox ph
 
const float rp_undrop
 
const uint8_t p_undrop_in_uint8_t
 
const bool is_store_randval
 

Constructor & Destructor Documentation

◆ BlockDropout()

CK_TILE_HOST_DEVICE ck_tile::BlockDropout::BlockDropout ( index_t  i_batch,
index_t  i_head,
index_t  nheads,
unsigned long long  seed,
unsigned long long  offset,
float  rp_undrop_,
uint8_t  p_undrop_in_uint8_t_,
bool  is_store_randval_ 
)
inline

Member Function Documentation

◆ MakeRandvalDramWindow()

template<typename BlockGemm , bool IsFwd = true, typename RandValDramBlockWindowTmp >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockDropout::MakeRandvalDramWindow ( RandValDramBlockWindowTmp &  randval_dram_block_window_tmp,
index_t  seqlen_qk_start 
)
inlinestaticconstexpr

◆ MakeRandValLdsBlockDescriptor()

template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockDropout::MakeRandValLdsBlockDescriptor ( )
inlinestaticconstexpr

◆ MakeRandValLdsShuffleTileDistribution()

template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockDropout::MakeRandValLdsShuffleTileDistribution ( )
inlinestaticconstexpr

◆ MakeRandValTileDistribution()

template<typename BlockGemm >
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockDropout::MakeRandValTileDistribution ( )
inlinestaticconstexpr

◆ Run()

template<typename BlockGemm , typename PComputeDataType , typename RandValOutputDataType , typename PComputeWindow , typename RandValDramWindow >
CK_TILE_HOST_DEVICE void ck_tile::BlockDropout::Run ( void *  randval_ptr,
const index_t  start_n0_idx,
PComputeWindow &  p_compute,
RandValDramWindow &  randval_dram_window 
) const
inline

Member Data Documentation

◆ is_store_randval

const bool ck_tile::BlockDropout::is_store_randval

◆ p_undrop_in_uint8_t

const uint8_t ck_tile::BlockDropout::p_undrop_in_uint8_t

◆ ph

ck_tile::philox ck_tile::BlockDropout::ph

◆ rp_undrop

const float ck_tile::BlockDropout::rp_undrop

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/fmha/block/block_dropout.hpp