o
    vžÄiU  ã                   @   sš   d Z ddlmZ ddlmZ 									ddededed	ed
edB dedB dedB dedB dedB dedB dededB dee	eef B fdd„Z
dS )zÑ
Imaginaire4 Attention Subpackage:
Unified implementation for all Attention implementations.

Flash Attention v3 (flash3) Backend: intermediate API stubs
Always safe to import (as long as torch is available.)
é    )ÚTensor)Ú
CausalTypeFNÚqueryÚkeyÚvalueÚ	is_causalÚcausal_typeÚscaleÚcumulative_seqlen_QÚcumulative_seqlen_KVÚmax_seqlen_QÚmax_seqlen_KVÚ
return_lseÚbackend_kwargsÚreturnc                 C   s   t dƒ‚)NzuTried to run Flash Attention v3, but it is not supported / available. Try running with debug logs enabled to see why.)ÚRuntimeError)r   r   r   r   r   r	   r
   r   r   r   r   r   © r   úZ/data/cameron/vidgen/cosmos-policy/cosmos_policy/_src/imaginaire/attention/flash3/stubs.pyÚflash3_attention   s   ÿr   )	FNNNNNNFN)Ú__doc__Útorchr   Ú-cosmos_policy._src.imaginaire.attention.masksr   ÚboolÚfloatÚintÚdictÚtupler   r   r   r   r   Ú<module>   sN   ôÿþýüûúùø	÷
öõôó