Skip to content

Commit 9bb430b

Browse files
committed
mmvq: exclude RDNA3.5 (gfx1150/1151) from RDNA3 table
1 parent 8765fdd commit 9bb430b

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

ggml/src/ggml-cuda/mmvq.cu

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@ enum mmvq_parameter_table_id {
6161
MMVQ_PARAMETERS_GENERIC = 0,
6262
MMVQ_PARAMETERS_GCN,
6363
MMVQ_PARAMETERS_RDNA2,
64-
MMVQ_PARAMETERS_RDNA3,
64+
MMVQ_PARAMETERS_RDNA3_0,
6565
MMVQ_PARAMETERS_RDNA4
6666
};
6767

6868
static constexpr __device__ mmvq_parameter_table_id get_device_table_id() {
6969
#if defined(RDNA4)
7070
return MMVQ_PARAMETERS_RDNA4;
71-
#elif defined(RDNA3)
72-
return MMVQ_PARAMETERS_RDNA3;
73-
#elif defined(RDNA2)
71+
#elif defined(RDNA3_0)
72+
return MMVQ_PARAMETERS_RDNA3_0;
73+
#elif defined(RDNA2) || defined(RDNA3_5)
7474
return MMVQ_PARAMETERS_RDNA2;
7575
#elif defined(GCN) || defined(CDNA)
7676
return MMVQ_PARAMETERS_GCN;
@@ -83,10 +83,10 @@ static __host__ mmvq_parameter_table_id get_device_table_id(int cc) {
8383
if (GGML_CUDA_CC_IS_RDNA4(cc)) {
8484
return MMVQ_PARAMETERS_RDNA4;
8585
}
86-
if (GGML_CUDA_CC_IS_RDNA3(cc)) {
87-
return MMVQ_PARAMETERS_RDNA3;
86+
if (GGML_CUDA_CC_IS_RDNA3_0(cc)) {
87+
return MMVQ_PARAMETERS_RDNA3_0;
8888
}
89-
if (GGML_CUDA_CC_IS_RDNA2(cc)) {
89+
if (GGML_CUDA_CC_IS_RDNA2(cc) || GGML_CUDA_CC_IS_RDNA3_5(cc)) {
9090
return MMVQ_PARAMETERS_RDNA2;
9191
}
9292
if (GGML_CUDA_CC_IS_GCN(cc) || GGML_CUDA_CC_IS_CDNA(cc)) {
@@ -150,7 +150,7 @@ static constexpr __host__ __device__ int calc_nwarps(ggml_type type, int ncols_d
150150
}
151151
return 1;
152152
}
153-
if (table_id == MMVQ_PARAMETERS_RDNA3) {
153+
if (table_id == MMVQ_PARAMETERS_RDNA3_0) {
154154
// RDNA3 (W7900): stricter whitelist than RDNA4.
155155
// Q2_K / Q5_K / IQ4_XS regress in full quant sweeps.
156156
if (ncols_dst == 1) {

ggml/src/ggml-cuda/vendors/hip.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,14 @@
207207
#define RDNA3
208208
#endif // defined(__GFX11__)
209209

210+
#if defined(__gfx1150__) || defined(__gfx1151__)
211+
#define RDNA3_5
212+
#endif // defined(__gfx1150__) || defined(__gfx1151__)
213+
214+
#if defined(RDNA3) && !defined(RDNA3_5)
215+
#define RDNA3_0
216+
#endif // defined(RDNA3) && !defined(RDNA3_5)
217+
210218
#if defined(__gfx1030__) || defined(__gfx1031__) || defined(__gfx1032__) || defined(__gfx1033__) || \
211219
defined(__gfx1034__) || defined(__gfx1035__) || defined(__gfx1036__) || defined(__gfx1037__)
212220
#define RDNA2

0 commit comments

Comments
 (0)