Skip to content

Commit 42a9c5a

Browse files
committed
even better approach
1 parent 6b36960 commit 42a9c5a

File tree

1 file changed

+16
-25
lines changed

1 file changed

+16
-25
lines changed

common/arg.cpp

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -145,41 +145,32 @@ static void common_params_handle_model_default(common_params & params) {
145145
}
146146
}
147147

148-
const std::initializer_list<std::pair<const char *, ggml_type>> kv_cache_types = {
149-
{"f32", GGML_TYPE_F32},
150-
{"f16", GGML_TYPE_F16},
151-
{"bf16", GGML_TYPE_BF16},
152-
{"q8_0", GGML_TYPE_Q8_0},
153-
{"q4_0", GGML_TYPE_Q4_0},
154-
{"q4_1", GGML_TYPE_Q4_1},
155-
{"iq4_nl", GGML_TYPE_IQ4_NL},
156-
{"q5_0", GGML_TYPE_Q5_0},
157-
{"q5_1", GGML_TYPE_Q5_1},
148+
const std::initializer_list<ggml_type> kv_cache_types = {
149+
GGML_TYPE_F32,
150+
GGML_TYPE_F16,
151+
GGML_TYPE_BF16,
152+
GGML_TYPE_Q8_0,
153+
GGML_TYPE_Q4_0,
154+
GGML_TYPE_Q4_1,
155+
GGML_TYPE_IQ4_NL,
156+
GGML_TYPE_Q5_0,
157+
GGML_TYPE_Q5_1,
158158
};
159159

160160
static ggml_type kv_cache_type_from_str(const std::string & s) {
161-
for (const auto & kv : kv_cache_types) {
162-
if (kv.first == s) {
163-
return kv.second;
161+
for (const auto & type : kv_cache_types) {
162+
if (ggml_type_name(type) == s) {
163+
return type;
164164
}
165165
}
166166
throw std::runtime_error("Unsupported cache type: " + s);
167167
}
168168

169-
static const char * kv_cache_type_to_str(const ggml_type t) {
170-
for (const auto & kv : kv_cache_types) {
171-
if (kv.second == t) {
172-
return kv.first;
173-
}
174-
}
175-
throw std::runtime_error("Unsupported cache type: " + std::to_string(t));
176-
}
177-
178169
static std::string get_all_kv_cache_types() {
179170
std::ostringstream msg;
180171
size_t size = kv_cache_types.size();
181172
for (size_t i = 0; i < size; i++) {
182-
msg << (kv_cache_types.begin() + i)->first << (i+1 == size ? "" : ", ");
173+
msg << ggml_type_name(*(kv_cache_types.begin()+i)) << (i+1 == size ? "" : ", ");
183174
}
184175
return msg.str();
185176
}
@@ -1218,7 +1209,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex
12181209
"allowed values: %s\n"
12191210
"(default: %s)",
12201211
get_all_kv_cache_types().c_str(),
1221-
kv_cache_type_to_str(params.cache_type_k)
1212+
ggml_type_name(params.cache_type_k)
12221213
),
12231214
[](common_params & params, const std::string & value) {
12241215
params.cache_type_k = kv_cache_type_from_str(value);
@@ -1231,7 +1222,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex
12311222
"allowed values: %s\n"
12321223
"(default: %s)",
12331224
get_all_kv_cache_types().c_str(),
1234-
kv_cache_type_to_str(params.cache_type_v)
1225+
ggml_type_name(params.cache_type_v)
12351226
),
12361227
[](common_params & params, const std::string & value) {
12371228
params.cache_type_v = kv_cache_type_from_str(value);

0 commit comments

Comments
 (0)