
    bi                        d dl Z 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,                  j/                         rddlmZ  eed
      r ej6                  j/                         rddlmZ e j<                  j?                  d      rHe j<                  j?                  d      r-d dl Z! eed      r ejD                  j/                         rddl#mZ$ d Z% e%        ddddZ&dZ'y)    N   )_opsresearchutils)MatmulLtStatematmulmatmul_4bit)ops)modules)adammulti_backend>   cpuhpumpsnpuxpucudar   habana_frameworkszhabana_frameworks.torchr   c                     ddl m}  t        j                  dk  r |        j	                  dg       }n	 | d      }|D ]  }	 |j                         } |         y# t        $ r!}t        d|j                   d|       |d}~ww xY w)	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es        P/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/bitsandbytes/__init__.py_import_backendsr'   1   s     0
'!!^''(?D
!(?@
 _	_HHJEG_  	_!FsxxjPRSTRUVW]^^	_s   A	B$B  BF)libbitsandbyteszoptim.optimizer.Optimizer8bitzoptim.optimizer.MockArgsz0.48.1)(	importlibr   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_opshasattrr   backends.xpuxpu_opsutil	find_spechabana_frameworks.torchr   r   backends.hpuhpu_opsr'   __pdoc____version__     r&   <module>rD      s     
  # # 
 ) 0     	::.
5%UYY335,>>/0Y^^5M5MNg5h"ue!7!7!90_*   %* % rC   