diff --git a/modules/attention.py b/modules/attention.py index b65896df5..d56ce2930 100644 --- a/modules/attention.py +++ b/modules/attention.py @@ -45,7 +45,7 @@ def set_sdnq_attention(): return sdpa_pre_sdnq_atten(query=query, key=key, value=value, attn_mask=attn_mask, dropout_p=dropout_p, is_causal=is_causal, scale=scale, **kwargs) torch.nn.functional.scaled_dot_product_attention = sdpa_sdnq_atten torch_info.set(attention='sdnq') - log.debug('Torch attention: type="SDNQ attention"') + log.debug(f'Torch attention: type="SDNQ attention" matmul={shared.opts.sdnq_attention_matmul_type}:{shared.opts.sdnq_attention_pv_matmul_type} smooth={shared.opts.sdnq_attention_smooth_k} hadamard={shared.opts.sdnq_attention_use_hadamard}') except Exception as err: log.error(f'Torch attention: type="SDNQ attention" {err}') diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 079868382..bd7ca9cff 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -542,7 +542,8 @@ def update_pipeline(sd_model, p: processing.StableDiffusionProcessing): updated_model = preprocess_onnx_pipeline(p) global orig_pipeline # pylint: disable=global-statement orig_pipeline = updated_model # processed ONNX pipeline should not be replaced with original pipeline. - if getattr(updated_model, "current_attn_name", None) != shared.opts.cross_attention_optimization: + current_attn = getattr(updated_model, "current_attn_name", None) + if (current_attn != shared.opts.cross_attention_optimization) and (current_attn != shared.opts.sdp_overrides): log.info(f"Setting attention optimization: {shared.opts.cross_attention_optimization}") attention.set_diffusers_attention(updated_model) return updated_model