@@ -574,7 +574,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
574
574
575
575
hparams.swa_type = LLAMA_SWA_TYPE_CHUNKED;
576
576
hparams.n_swa = 8192; // should this be a gguf kv? currently it's the same for Scout and Maverick
577
- hparams.n_swa_pattern = 4; // pattern: 3 chunked - 1 full
577
+ hparams.set_swa_pattern(4); // pattern: 3 chunked - 1 full
578
578
579
579
switch (hparams.n_expert) {
580
580
case 16: type = LLM_TYPE_17B_16E; break;
@@ -863,7 +863,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
863
863
hparams.swa_type = LLAMA_SWA_TYPE_NONE;
864
864
865
865
hparams.n_swa = 0;
866
- hparams.n_swa_pattern = 1 ;
866
+ hparams.set_swa_pattern(1) ;
867
867
}
868
868
} break;
869
869
case LLM_ARCH_PHIMOE:
@@ -935,7 +935,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
935
935
{
936
936
hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
937
937
hparams.n_swa = 4096; // default value of gemma 2
938
- hparams.n_swa_pattern = 2 ;
938
+ hparams.set_swa_pattern(2) ;
939
939
hparams.attn_soft_cap = true;
940
940
941
941
ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false);
@@ -953,7 +953,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
953
953
case LLM_ARCH_GEMMA3:
954
954
{
955
955
hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
956
- hparams.n_swa_pattern = 6 ;
956
+ hparams.set_swa_pattern(6) ;
957
957
958
958
hparams.rope_freq_base_train_swa = 10000.0f;
959
959
hparams.rope_freq_scale_train_swa = 1.0f;
@@ -1038,7 +1038,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
1038
1038
case LLM_ARCH_COHERE2:
1039
1039
{
1040
1040
hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
1041
- hparams.n_swa_pattern = 4 ;
1041
+ hparams.set_swa_pattern(4) ;
1042
1042
1043
1043
ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa);
1044
1044
ml.get_key(LLM_KV_LOGIT_SCALE, hparams.f_logit_scale);
@@ -4320,7 +4320,7 @@ void llama_model::print_info() const {
4320
4320
LLAMA_LOG_INFO("%s: n_head_kv = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_head_kv(il); }, hparams.n_layer).c_str());
4321
4321
LLAMA_LOG_INFO("%s: n_rot = %u\n", __func__, hparams.n_rot);
4322
4322
LLAMA_LOG_INFO("%s: n_swa = %u\n", __func__, hparams.n_swa);
4323
- LLAMA_LOG_INFO("%s: n_swa_pattern = %u\n", __func__, hparams.n_swa_pattern );
4323
+ LLAMA_LOG_INFO("%s: is_swa_any = %u\n", __func__, hparams.is_swa_any() );
4324
4324
LLAMA_LOG_INFO("%s: n_embd_head_k = %u\n", __func__, hparams.n_embd_head_k);
4325
4325
LLAMA_LOG_INFO("%s: n_embd_head_v = %u\n", __func__, hparams.n_embd_head_v);
4326
4326
LLAMA_LOG_INFO("%s: n_gqa = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_gqa(il); }, hparams.n_layer).c_str());
@@ -13216,7 +13216,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params,
13216
13216
LLAMA_LOG_DEBUG("%s: n_ctx = %u (padded)\n", __func__, cparams.n_ctx);
13217
13217
13218
13218
if (hparams.swa_type != LLAMA_SWA_TYPE_NONE) {
13219
- GGML_ASSERT(hparams.n_swa_pattern != 1 );
13219
+ GGML_ASSERT(hparams.is_swa_any() );
13220
13220
13221
13221
res = new llama_kv_cache_unified_iswa(
13222
13222
*this,
@@ -13230,7 +13230,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params,
13230
13230
cparams.n_batch,
13231
13231
padding);
13232
13232
} else {
13233
- GGML_ASSERT(hparams.n_swa_pattern == 1 );
13233
+ GGML_ASSERT(! hparams.is_swa_any() );
13234
13234
13235
13235
res = new llama_kv_cache_unified(
13236
13236
*this,
0 commit comments