o
    2wi                     @   s   d dl Z d dlZddlmZmZmZ ddlmZmZm	Z	 ddl
mZ ddlmZ ddlmZ ddlmZ dhZh d	Zej rFddlmZ d
d Ze  ddddZdZdS )    N   )_opsresearchutils)MatmulLtStatematmulmatmul_4bit)ops)modules)adammulti_backend>   cpuhpumpsnpuxpucudac                  C   s   ddl m}  tjdk r|  dg }n| dd}|D ]#}z	| }|  W q ty= } ztd|j d| |d}~ww dS )	a  
    Discover and autoload all available backends installed as separate packages.
    Packages with an entrypoint for "bitsandbytes.backends" will be loaded.
    Inspired by PyTorch implementation: https://pytorch.org/tutorials/prototype/python_extension_autoload.html
    r   )entry_points)   
   zbitsandbytes.backends)groupz%bitsandbytes: failed to load backend z: N)	importlib.metadatar   sysversion_infogetload	ExceptionRuntimeErrorname)r   
extensionsextentrye r#   R/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/bitsandbytes/__init__.py_import_backends&   s   


r%   F)libbitsandbyteszoptim.optimizer.Optimizer8bitzoptim.optimizer.MockArgsz0.46.0)r   torch r   r   r   autograd._functionsr   r   r   backends.cpur	   cpu_opsbackends.defaultdefault_opsnnr
   optimr   featuressupported_torch_devicesr   is_availablebackends.cudacuda_opsr%   __pdoc____version__r#   r#   r#   r$   <module>   s&   
	