@@ -574,7 +574,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
574574
575575 hparams.swa_type = LLAMA_SWA_TYPE_CHUNKED;
576576 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
578578
579579 switch (hparams.n_expert) {
580580 case 16: type = LLM_TYPE_17B_16E; break;
@@ -863,7 +863,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
863863 hparams.swa_type = LLAMA_SWA_TYPE_NONE;
864864
865865 hparams.n_swa = 0;
866- hparams.n_swa_pattern = 1 ;
866+ hparams.set_swa_pattern(1) ;
867867 }
868868 } break;
869869 case LLM_ARCH_PHIMOE:
@@ -935,7 +935,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
935935 {
936936 hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
937937 hparams.n_swa = 4096; // default value of gemma 2
938- hparams.n_swa_pattern = 2 ;
938+ hparams.set_swa_pattern(2) ;
939939 hparams.attn_soft_cap = true;
940940
941941 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) {
953953 case LLM_ARCH_GEMMA3:
954954 {
955955 hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
956- hparams.n_swa_pattern = 6 ;
956+ hparams.set_swa_pattern(6) ;
957957
958958 hparams.rope_freq_base_train_swa = 10000.0f;
959959 hparams.rope_freq_scale_train_swa = 1.0f;
@@ -1038,7 +1038,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
10381038 case LLM_ARCH_COHERE2:
10391039 {
10401040 hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
1041- hparams.n_swa_pattern = 4 ;
1041+ hparams.set_swa_pattern(4) ;
10421042
10431043 ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa);
10441044 ml.get_key(LLM_KV_LOGIT_SCALE, hparams.f_logit_scale);
@@ -4320,7 +4320,7 @@ void llama_model::print_info() const {
43204320 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());
43214321 LLAMA_LOG_INFO("%s: n_rot = %u\n", __func__, hparams.n_rot);
43224322 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() );
43244324 LLAMA_LOG_INFO("%s: n_embd_head_k = %u\n", __func__, hparams.n_embd_head_k);
43254325 LLAMA_LOG_INFO("%s: n_embd_head_v = %u\n", __func__, hparams.n_embd_head_v);
43264326 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,
1321613216 LLAMA_LOG_DEBUG("%s: n_ctx = %u (padded)\n", __func__, cparams.n_ctx);
1321713217
1321813218 if (hparams.swa_type != LLAMA_SWA_TYPE_NONE) {
13219- GGML_ASSERT(hparams.n_swa_pattern != 1 );
13219+ GGML_ASSERT(hparams.is_swa_any() );
1322013220
1322113221 res = new llama_kv_cache_unified_iswa(
1322213222 *this,
@@ -13230,7 +13230,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params,
1323013230 cparams.n_batch,
1323113231 padding);
1323213232 } else {
13233- GGML_ASSERT(hparams.n_swa_pattern == 1 );
13233+ GGML_ASSERT(! hparams.is_swa_any() );
1323413234
1323513235 res = new llama_kv_cache_unified(
1323613236 *this,
0 commit comments