o
    )i                     @   s   U d dl Z d dlZd dlZddlmZ ddlmZmZmZmZ zddl	m
Z
 W n ey2   dZ
Y nw e dZejdu Zeed< d	Zeed
< dd Zedd Zedd ZdS )    N   )_cpp_lib)
checkpointget_optimal_checkpoint_policylist_operatorsselective_checkpoint_wrapper)__version__z0.0.0Zxformers_has_cpp_libraryT_is_opensourcec                    s   d  fdd}|S )Nc                      s   d u r  S )N r   funcvaluer   ]/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/xformers/__init__.pyfunc_wrapper#   s   z"compute_once.<locals>.func_wrapperr   )r   r   r   r   r   compute_once    s   r   c               	   C   s   t jdddkrdS tj sdS t jdddkrdS tjddk r'dS zd	d l} W dS  tt	fyA   t
jd
dd Y dS w )NZXFORMERS_ENABLE_TRITON01TFZXFORMERS_FORCE_DISABLE_TRITONcuda)   r   r   zJA matching Triton is not available, some optimizations will not be enabled)exc_info)osenvirongettorchr   Zis_availableZget_device_capabilitytritonImportErrorAttributeErrorloggerwarning)r   r   r   r   _is_triton_available,   s$   
r    c                   C   s   t jddS )NZxformers_pythonZDEF)r   ZlibraryLibraryr   r   r   r   get_python_libD   s   r"   )loggingr   r    r   r   r   r   r   versionr   r   	getLoggerr   Z_cpp_library_load_exceptionr	   bool__annotations__r
   r   r    r"   r   r   r   r   <module>   s$   


