
     jS                     V   d Z ddlZdZdZ	 ddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. dZ/ddl2m3Z3 e/re/ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= 	 dd	l>m?Z?  e3j                         \  ZBZCZDeCreCZ e3j                          d
eFdz  fdZGddeHfdZI eId       deFfdZJd deFdeFdz  fdZKdeFd
eFfdZLdeFd
eFfdZMd!deHdeHdeHfdZNd ZOd"deHdeHdeHfdZPy# e0$ rZ1e1Z/Y dZ1[1dZ1[1ww xY w# e@$ r Y w xY w)#a  
ONNX Runtime is a performance-focused scoring engine for Open Neural Network Exchange (ONNX) models.
For more information on ONNX Runtime, please see `aka.ms/onnxruntime <https://aka.ms/onnxruntime/>`_
or the `Github project <https://github.com/microsoft/onnxruntime/>`_.
    Nz1.29.0	Microsoft)*ExecutionModeExecutionOrderGraphOptimizationLevelLoraAdapterModelMetadataNodeArgOrtAllocatorTypeOrtArenaCfgOrtCompileApiFlagsOrtDeviceMemoryTypeOrtEpAssignedNodeOrtEpAssignedSubgraphOrtEpDevice OrtExecutionProviderDevicePolicyOrtExternalInitializerInfoOrtHardwareDeviceOrtHardwareDeviceTypeOrtMemoryInfoOrtMemoryInfoDeviceType
OrtMemTypeOrtSparseFormatOrtSyncStream
RunOptionsSessionIOBindingSessionOptionscreate_and_register_allocator create_and_register_allocator_v2disable_telemetry_eventsenable_telemetry_eventsget_all_providersget_available_providersget_build_info
get_deviceget_ep_devicesget_version_stringhas_collective_ops#register_execution_provider_libraryset_default_logger_severityset_default_logger_verbosityset_global_thread_pool_sizesset_seed%unregister_execution_provider_library)onnxruntime_validation)	AdapterFormatInferenceSession	IOBindingModelCompiler	OrtDeviceOrtDeviceVendorIdOrtValueSparseTensorcopy_tensors   )experimentalreturnc                  *   dd l } dd l}dt               vry |j                  dk(  rd}n|j                  dk(  rd}nd}| j                  j                  | j                  j                  t              d|      }| j                  j                  |      r|S d S )	Nr   z, cuda-plugin-ep=win32zonnxruntime_providers_cuda.dlldarwinz#libonnxruntime_providers_cuda.dylibz libonnxruntime_providers_cuda.socapi)	ossysr#   platformpathjoindirname__file__isfile)r?   r@   library_namelibrary_paths       `/home/min/hermes_workspace/demo_review/venv/lib/python3.12/site-packages/onnxruntime/__init__.py _get_cuda_plugin_ep_library_pathrJ   k   sz    ."22
||w7		!<977<< 96<PL77>>,7<ATA    warn_on_failurec                     t               }|sy 	 t        d|       y # t        $ rL}dt        |      j	                         vr'| r dd l}|j                  d| d|        Y d }~y Y d }~y Y d }~y d }~ww xY w)NCUDAExecutionProviderzalready registeredr   z/Failed to register bundled CUDA plugin EP from : )rJ   r(   	Exceptionstrlowerwarningswarn)rL   rH   erS   s       rI    _register_bundled_cuda_plugin_eprV   }   sv    35Le+,C\R es1v||~5 OP\~]_`a_bcdd  6es    	A18A,,A1TrL   package_namec                 D    ddl m}m} 	  ||       }|S # |$ r d }Y |S w xY w)Nr   )PackageNotFoundErrorversion)importlib.metadatarZ   r[   )rX   rZ   r[   package_versions       rI   _get_package_versionr^      s8    @!,/    s    directory_namec                    ddl m}m} |xs | }	  ||       }|j                  xs g }|D ]H  }|j                  j                  d      s||j                  v s.|j                         j                  c S  |s>|D ]9  }|j                  j                  d      s|j                         j                  c S  y # |$ r Y y w xY w)Nr   )rZ   distributionz__init__.py)	r\   rZ   ra   filesnameendswithpartslocateparent)rX   r_   rZ   ra   root_directory_namedistrb   files           rI   _get_package_rootrk      s    E(8LL)

 bDyy!!-05HDJJ5V{{}+++ 
 99%%m4;;=///  	   	s/   8B6 	B6 B6 4#B6 B6 4B6 6B>=B>version_strc                 6    | r| j                  dd      d   S dS )zExtract CUDA major version from version string (e.g., '12.1' -> '12').

    Args:
        version_str: CUDA version string to parse

    Returns:
        Major version as string, or "12" if parsing fails
    .r8   )maxsplitr   12)split)rl   s    rI   _extract_cuda_major_versionrr      s'     5@;S1-a0ITIrK   cuda_major_versionc                 &    t        |       dk\  rdS dS )zGet cufft library version based on CUDA major version.

    Args:
        cuda_major_version: CUDA major version as string (e.g., "12", "13")

    Returns:
        cufft version as string
       rp   11)int)rs   s    rI   _get_cufft_versionrx      s     )*b04:d:rK   
is_windowscudacudnnc           
      h   t        t              }t        |      }|j                         xr t	        |      dk\  }|rd| }| rSdd l}|j                         j                         dv rdnd}d|d|d	| d
fd|d|d| d
fd|d|d| d
fd|d|d| d
fg}	nd|dd| fd|dd| fd|dd| fd|ddfd|dd| fd|dd| fg}	nT| r'dddd	| d
fdddd| d
fdddd| d
fdddd| d
fg}	n+dddd| fdddd| fdddd| fddddd| fdddd| fg}	| rg d}
ndg}
|r|	ng |r|
z   S g z   S )Nru   cur   )arm64aarch64r~   x86_64nvidiabincublasLt64_z.dll	cublas64_cufft64_	cudart64_libzlibcublasLt.so.zlibcublas.so.zlibnvrtc.so.libcurand.so.10zlibcufft.so.zlibcudart.so.cublascufftcuda_runtime
cuda_nvrtc)r   curandr   r   ))r   r{   r   z&cudnn_engines_runtime_compiled64_9.dll)r   r{   r   z!cudnn_engines_precompiled64_9.dll)r   r{   r   zcudnn_heuristic64_9.dll)r   r{   r   zcudnn_ops64_9.dll)r   r{   r   zcudnn_adv64_9.dll)r   r{   r   zcudnn_graph64_9.dll)r   r{   r   zcudnn64_9.dll)r   r{   r   zcudnn_engines_tensor_ir64_9.dll)r   r{   r   zlibcudnn.so.9)rr   cuda_versionrx   isdigitrw   rA   machinerR   )ry   rz   r{   rs   cufft_versionuse_consolidated_layoutcuda_dirrA   archcuda_dll_pathscudnn_dll_pathss              rI   _get_nvidia_dll_pathsr      sl    5\B&'9:M 188:\sCU?VZ\?\*+,&..0668<PP7V^D8UDK@R?SSW2XY8UDI>P=QQU2VW8UDH]O42PQ8UDI>P=QQU2VW	N 8Uo>P=Q,RS8Um<N;O,PQ8Ul;M:N,OP8U,=>8Ul=/,JK8Um<N;O,PQN 
 x+6H5I(NOx)4F3Gt(LMw-'EF~u	:L9MT.RS	
 x/:L9M(NOx-8J7K(LM|Ul;M:N,OP:wm_'EF~u>P=Q.RS
 	
 8
 #N%PPRPPrK   c                  b   ddl } ddl}ddl}ddlm} t        t         dt                t        rt        dt                t        d|j                                t        d       g } |       D ]j  }|j                  d   }|d	k(  s|j                  d
      s)t        |d	      }|s8||vs=|j                  |       t        | d|j                   d|        l t        |      dkD  rt        d       t        rt        t              }|j!                         rt#        |      dk\  rdnd| }	dd|	 d| d|	 d|	 d|	 d|	 d|	 g}
|
D ]P  }|j                  d      rdnd}t%        |      }|rt        | d| dt        ||              Ct        | d       R |j'                         dk(  r)t        d|j(                  j+                  dd               n;|j'                         d!k(  r(t        d"|j(                  j+                  d#d               | j,                  j/                  d$      rd%t0        fd&}ddl}|j5                  |j7                               }t        d'       |j9                         D ]8  } ||j:                  j=                               s$t        |j:                         : t        rd| j,                  j/                  d(      r=| j,                  j/                  d)      r"dd*lm } t        d+       t         |              yt        d,       yyt        d-       y).z$Print information to help debugging.r   N)distributionsz
 version: zCUDA version used in build: z	platform:z&
Python package, version and location:Nameonnxruntime)zonnxruntime-zort-z==z at r8   z[33mWARNING: multiple onnxruntime packages are installed to the same location. Please 'pip uninstall` all above packages, then `pip install` only one of them.[0mru    z-cutorchznvidia-cuda-runtimeznvidia-cudnn-cuznvidia-cublasznvidia-cufftznvidia-curandznvidia-cuda-nvrtcznvidia-nvjitlinkznvidia-r   z not installedWindowsz
Environment variable:
PATH=PATHz(unset)Linuxz'
Environment variable:
LD_LIBRARY_PATH=LD_LIBRARY_PATHpsutilrB   c                 T     ddg}t         r
ddddddg|}t         fd	|D              S )
Nvcruntime140msvcp140r   r   cudartnvrtcr   r{   c              3   &   K   | ]  }|v  
 y wN ).0keywordrB   s     rI   	<genexpr>z:print_debug_info.<locals>.is_target_dll.<locals>.<genexpr>Y  s     Fo7w$os   )r   any)rB   target_keywordss   ` rI   is_target_dllz'print_debug_info.<locals>.is_target_dllU  s:    -z:O#*HhSZ"m]l"mFoFFFrK   z
List of loaded DLLs:cpuinfopy3nvml)get_device_infoz
Device information:zCplease `pip install py-cpuinfo py3nvml` to show device information.z0please `pip install psutil` to show loaded DLLs.)!importlib.utilr?   rA   r\   r   printrX   __version__r   metadata
startswithrk   appendr[   lenrr   r   rw   r^   systemenvirongetutil	find_specrQ   r   Processgetpidmemory_mapsrB   rR   transformers.machine_infor   )	importlibr?   rA   r   ort_packagesri   packagelocation
cuda_majorcuda_pkg_suffixpackagesr_   r[   r   r   pr   r   s                     rI   print_debug_infor     s   0	\N*[M
23,\N;<	+x((*+	
34L--'m#w'9'9:R'S(-@HWL8##G,	DLL>hZ@A   <1e	

 0>
 ",!3!3!5#j/R:O"X[\f[gVh !/!23j\*O,-?+,O,-01/0	
  G)0););I)FXDN*73G	G9D1B7N1[0\]^	01   I%.rzz~~fi/P.QRS		g	%9"**..IZ\e:f9ghi~~)	G 	G 	NN299;'&'==?CSXX^^-.chh # ~~''	2y~~7O7OPY7ZF-.o'([\  	@ArK   msvcc                    ddl }ddl}ddl}ddl}|j	                         dvry|j	                         dk(  }|rI|rG	 |j                  d       |j                  d       |j                         dk7  r|j                  d       d}	t        rG	 t        t        j                  d      d         }	|	dk  r| s|rt        dt         dt         d       yn| s|ryd}
|rt        d      }d}|rHd|v rDt        j                   t              5  |j                  d      d   }t        |dd       }ddd       |r|	r||	k(  nd}d|j"                  v r*|}
|r&|	r$||	k7  rt        d| d| dt         d|	 d|	 d       |r,|*t%        dd      }|r|j&                  j)                  |d      }|xs d}|j&                  j+                  |      s9|j&                  j)                  |j&                  j-                  t.              |      }|j&                  j1                  |      }|j&                  j3                  |      st5        d| d      |
rt        d        yt7        || |      }t7        |d|      D ch c]  }|d!   	 }}g }|D ]  }|r|j&                  j)                  ||d!         n |j&                  j(                  |g| }|j&                  j9                  |      s]	 |j                  |      }|j;                  |d!           d}|D ]  }|d!   }||vs	 |j                  |      }  |rt        d%       t?        d$&       y# t        $ r t        d	       t        d
       Y w xY w# t        $ r t        dt         d       Y yw xY w# 1 sw Y   bxY wc c}w # t<        $ r#}|d!   |vrt        d"| d#|        Y d}~Ed}~ww xY w# t<        $ r!}||vrd$}t        d"| d#|        Y d}~d}~ww xY w)'ao  Preload CUDA 12.x+ and optional cuDNN 9.x DLLs in Windows or Linux, and MSVC runtime DLLs in Windows.

       When the installed PyTorch is compatible (using same major version of CUDA and cuDNN),
       there is no need to call this function if `import torch` is done before `import onnxruntime`.

    Args:
        cuda (bool, optional): enable loading CUDA DLLs. Defaults to True.
        cudnn (bool, optional): enable loading cuDNN DLLs. Defaults to True. Missing cuDNN DLLs are ignored.
        msvc (bool, optional): enable loading MSVC DLLs in Windows. Defaults to True.
        directory(str, optional): a directory contains CUDA or cuDNN DLLs. It can be an absolute path,
           or a path relative to the directory of this file.
           If directory is None (default value), the search order: the lib directory of compatible PyTorch in Windows,
            nvidia site packages, default DLL loading paths.
           If directory is empty string (""), the search order: nvidia site packages, default DLL loading paths.
           If directory is a path, the search order: the directory, default DLL loading paths.
    r   N)r   r   r   zvcruntime140.dllzmsvcp140.dllARM64zvcruntime140_1.dllz]Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure.zGIt can be downloaded at https://aka.ms/vs/17/release/vc_redist.x64.exe.rn      z[33mWARNING: z is built with CUDA z, which is not supported for preloading. CUDA 12.x or newer is required. Call preload_dlls with cuda=False and cudnn=False.[0mz,[33mWARNING: Unable to parse CUDA version 'zR'. Skipping DLL preloading. Call preload_dlls with cuda=False and cudnn=False.[0mFr   z+cur8      z$[33mWARNING: The installed PyTorch z uses CUDA z.x, but z$.x. Please install PyTorch for CUDA z.x to be compatible.[0mr   z..zInvalid parameter of directory=z. The directory does not exist!z9Skip loading CUDA and cuDNN DLLs since torch is imported.zFailed to load rO   TzRPlease follow https://onnxruntime.ai/docs/install/#cuda-and-cudnn to install CUDA.rW   ) ctypesr?   rA   r@   r   CDLLr   OSErrorr   r   rw   rq   rX   
ValueErrorr^   
contextlibsuppressmodulesrk   rB   rC   isabsrD   rE   normpathisdirRuntimeErrorr   rF   r   rP   rV   )rz   r{   r   	directoryr   r?   rA   r@   ry   ort_cuda_majoris_cuda_cudnn_imported_by_torchtorch_versiontorch_cuda_majorcu_partis_torch_cuda_compatible
torch_rootbase_directory	dll_pathsrelative_pathoptional_dll_filenamesloaded_dllsdll_path_rU   has_failuredll_filenames                             rI   preload_dllsr   p  s<   "  44"i/Jd	]KK*+KK'!W,01 N	 !3!3C!8!;<N"'~5I, Xp q  
&+#,W5Um3$$Z0'--e4Q7#&wr{#3  1 4D.]b 	! ckk!.F+N7G>7Y=m_KXhWi j'.(<^<L M77E6FFac $	(9*7G<JGGLLU;	&$N77==(bggooh&?PWW%%n5N77==(<YKGfghh&IJ &j$>IEZ[eglnsEtuEtMmB/EtuK"  GGLLr):;n=}= 	
 77>>(#=KK)""=#45 # K"$R({*AKK-	 # bc$T:I  	]qr[\	]  	A, Pe e 	" 10J v  = $,BBOH:Rs;<=  A'=="&KOL>A3?@Asg   AM AM' #N	+N%NO
M$#M$'NN	N	O$OO
	O4O//O4)Fr   )TT)TTTN)Q__doc__r   r   
__author__onnxruntime.capi._pybind_stater   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   import_capi_exceptionrP   rU   onnxruntime.capir.   1onnxruntime.capi.onnxruntime_inference_collectionr/   r0   r1   r2   r3   r4   r5   r6   r7   r   r9   ImportError!get_package_name_and_version_inforX   r[   r   check_distro_inforQ   rJ   boolrV   r^   rk   rr   rx   r   r   r   r   rK   rI   <module>r      s  
 
0+ + + + + + + + + + +Z ! 4

 
 
	
 '_&<&^&^&` #g|
K (  ( ( *B#* B$ed e ! 6s C t 0	JS 	JS 	J
;3 
;3 
;JQd JQ$ JQd JQZVBrD;t D;4 D;d D;Q	  .  		s*   AD D  DDD D('D(