summaryrefslogtreecommitdiffstats
path: root/WhisperNet/API/eGpuModelFlags.cs
blob: 106235f0d1082c3769c1b9c3234ee5658c07bbc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
namespace Whisper
{
	/// <summary>These flags affect compute shaders performance (which ones are faster depends on GPU model),<br/>
	/// and VRAM memory usage (UseReshapedMatMul needs slightly more VRAM).</summary>
	[Flags]
	public enum eGpuModelFlags: uint
	{
		/// <summary>Equivalent to <c>Wave32 | NoReshapedMatMul</c> on Intel and nVidia GPUs,<br/>
		/// and <c>Wave64 | UseReshapedMatMul</c> on AMD GPUs</summary>
		None = 0,

		/// <summary>Use Wave32 version of compute shaders even on AMD GPUs</summary>
		/// <remarks>Incompatible with <see cref="Wave64" /></remarks>
		Wave32 = 1,

		/// <summary>Use Wave64 version of compute shaders even on nVidia and Intel GPUs</summary>
		/// <remarks>Incompatible with <see cref="Wave32" /></remarks>
		Wave64 = 2,

		/// <summary>Do not use reshaped matrix multiplication shaders on AMD GPUs</summary>
		/// <remarks>Incompatible with <see cref="UseReshapedMatMul" /></remarks>
		NoReshapedMatMul = 4,

		/// <summary>Use reshaped matrix multiplication shaders even on nVidia and Intel GPUs</summary>
		/// <remarks>Incompatible with <see cref="NoReshapedMatMul" /></remarks>
		UseReshapedMatMul = 8,
	}
}