docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
gpu_mma_dispatcher.h File Reference
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "sdfg/codegen/dispatchers/block_dispatcher.h"
#include "sdfg/targets/gpu/gpu_mma_fragment.h"
#include "sdfg/types/type.h"

Go to the source code of this file.

Classes

class  sdfg::gpu::GpuMmaDispatcherStrategy
 Hardware-dependent emit primitives for the composable MMA library nodes. More...
class  sdfg::gpu::GpuMmaNodeDispatcher
 Shared storage for the strategy; each composable MMA node has its own dispatcher subclass. More...
class  sdfg::gpu::GpuMmaMatmulDispatcher
 A single MMA accumulation of A * B into a preinitialized accumulator (gpu::GpuMmaMatmul). More...
class  sdfg::gpu::GpuMmaFillDispatcher
 Declare and zero-initialize an MMA accumulator fragment (gpu::GpuMmaFill). More...
class  sdfg::gpu::GpuMmaFragmentLoadDispatcher
 Load a tile from memory into a fragment (gpu::GpuMmaFragmentLoad). More...
class  sdfg::gpu::GpuMmaFragmentStoreDispatcher
 Store a fragment to a tile in memory (gpu::GpuMmaFragmentStore). More...
class  sdfg::gpu::GpuMmaEltwiseAddDispatcher
 D = out_type(Acc + acc_type(C)), element-wise over the fragments (gpu::GpuMmaFragmentEltwiseAdd). More...

Namespaces

namespace  sdfg
namespace  sdfg::gpu

Functions

void sdfg::gpu::emit_clipped_fragment_transfer (codegen::CodegenOutput &out, const GpuMmaDispatcherStrategy &strategy, bool load, const std::string &frag, const std::string &base, const GpuMmaFromMemoryLayout &layout, const MmaBlockSize &block_size, MmaFragmentType frag_type, types::PrimitiveType element_type, MmaFragmentLayout fragment_layout)
 Emit a fragment load/store whose layout is clipped (GpuMmaFromMemoryLayout::rows/cols): a wave-uniform branch takes the plain transfer when the fragment is fully in bounds, otherwise an element-wise transfer that zero-fills out-of-bounds loads and skips out-of-bounds stores.