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 CK_TILE_HOST_DEVICE constexpr auto MakeRandvalDramWindow (RandValDramBlockWindowTmp &randval_dram_block_window_tmp, index_t seqlen_qk_start)
template<typename BlockGemm>
static CK_TILE_HOST_DEVICE constexpr auto MakeRandValLdsBlockDescriptor ()
template<typename BlockGemm>
static CK_TILE_HOST_DEVICE constexpr auto MakeRandValTileDistribution ()
template<typename BlockGemm>
static CK_TILE_HOST_DEVICE constexpr auto MakeRandValLdsShuffleTileDistribution ()

Public Attributes

const unsigned long long ph_seed
const unsigned long long ph_head_offset
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>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::BlockDropout::MakeRandvalDramWindow ( RandValDramBlockWindowTmp & randval_dram_block_window_tmp,
index_t seqlen_qk_start )
inlinestaticconstexpr

◆ MakeRandValLdsBlockDescriptor()

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

◆ MakeRandValLdsShuffleTileDistribution()

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

◆ MakeRandValTileDistribution()

template<typename BlockGemm>
CK_TILE_HOST_DEVICE constexpr 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_head_offset

const unsigned long long ck_tile::BlockDropout::ph_head_offset

◆ ph_seed

const unsigned long long ck_tile::BlockDropout::ph_seed

◆ rp_undrop

const float ck_tile::BlockDropout::rp_undrop

The documentation for this struct was generated from the following file: