namespace Whisper
{
/// These flags affect compute shaders performance (which ones are faster depends on GPU model),
/// and VRAM memory usage (UseReshapedMatMul needs slightly more VRAM).
[Flags]
public enum eGpuModelFlags: uint
{
/// Equivalent to Wave32 | NoReshapedMatMul on Intel and nVidia GPUs,
/// and Wave64 | UseReshapedMatMul on AMD GPUs
None = 0,
/// Use Wave32 version of compute shaders even on AMD GPUs
/// Incompatible with
Wave32 = 1,
/// Use Wave64 version of compute shaders even on nVidia and Intel GPUs
/// Incompatible with
Wave64 = 2,
/// Do not use reshaped matrix multiplication shaders on AMD GPUs
/// Incompatible with
NoReshapedMatMul = 4,
/// Use reshaped matrix multiplication shaders even on nVidia and Intel GPUs
/// Incompatible with
UseReshapedMatMul = 8,
}
}