
    zIg}                     ,    d dl Z d dlZd dlZddZddZy)    Nc                     t         j                  j                  d      st        j                  d       y d |h}dd}|D ch c]
  } ||       }}|D cg c]  }|s|	 c}S c c}w c c}w )Nlinuxz(find_cudart_versions only works on Linuxc                    d}| r|dz   | z   }	 t        j                  |      }t        |j                  _        t        j
                  t         j                        g|j                  _        t        j                         }|j                  t        j                  |            }|dk7  ry 	 |j                  S # t        $ r Y y w xY w)Nzlibcudart.so.r   )ctypesCDLLintcudaRuntimeGetVersionrestypePOINTERc_intargtypesbyref	Exceptionvalue)find_cudart_versioncudart_lib_filenamecudartversionstatuss        l/var/www/html/answerous/venv/lib/python3.12/site-packages/onnxruntime/capi/onnxruntime_collect_build_info.pyget_cudart_versionz0find_cudart_versions.<locals>.get_cudart_version   s    ,"5";>Q"Q		[[!45F36F((05;^^FLL5Q4RF((1llnG11&,,w2GHF{ 
 }}  		s   BB6 6	CCN)sysplatform
startswithwarningswarn)	build_envbuild_cuda_versioncudart_possible_versionsr   cudart_versioncudart_found_versionsvers          r   find_cudart_versionsr%   
   su     <<""7+@A $&89& WooN/?oo 18CCC88 p 9s   A&A+A+c                    t         j                  j                  d      st        j                  d       d h}| s|j                  h d       dd}|D ch c]
  } ||       }}|D cg c]  }|s|	 c}S c c}w c c}w )Nr   z'find_cudnn_versions only works on Linux>   8.27.3.07.3.17.4.17.4.27.5.07.5.17.6.07.6.17.6.27.6.37.6.47.6.58.0.18.0.28.0.38.0.48.0.58.1.08.1.1c                     d}| r|dz   | z   }	 t        j                  |      }|j                         }|S # t        $ r Y y w xY w)Nzlibcudnn.sor   )r   r   cudnnGetCudartVersionr   )find_cudnn_versioncudnn_lib_filenamecudnncuda_vers       r    get_cudnn_supported_cuda_versionzLfind_cudnn_supported_cuda_versions.<locals>.get_cudnn_supported_cuda_versionT   sU    *!3c!9<N!N	KK 23E224HO 		s   &5 	A Ar   )r   r   r   r   r   update)r   cudnn_possible_versionsrA   cudnn_versioncuda_found_versionsr$   s         r   "find_cudnn_supported_cuda_versionsrF   2   s    <<""7+?@#f 	 &&	
2  axx};MJxx /6C#C66 y 7s   A9*A>2A>)FN)F)r   r   r   r%   rF        r   <module>rI      s   
  
 %9P57rH   