
    .`i{                    h    d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	  e	e
          Zd	dZd
dZdS )    )annotationsN)init_loggerreturnstrc                     t           j        } | rt                              d|            nRt          j        j        d} n#t          j        j        d} nt          d          t          	                    d|            | S )z|Return NCCL/RCCL shared library name to load.

    Uses `VLLM_NCCL_SO_PATH` if set; otherwise chooses by torch backend.
    z9Found nccl from environment variable VLLM_NCCL_SO_PATH=%sNzlibnccl.so.2zlibrccl.so.1z*NCCL only supports CUDA and ROCm backends.zFound nccl from library %s)
envsVLLM_NCCL_SO_PATHloggerinfotorchversioncudahip
ValueError
debug_once)so_files    c/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/utils/nccl.pyfind_nccl_libraryr      s    
 $G AG	
 	
 	
 	
 =)$GG]*$GGIJJJ6@@@N    list[str] | Nonec                    g } t           j        }|r4t          j                            |          r|                     |           	 t          j                            d          }|rt          |dd          x}rw|D ]t}t          j        
                    |d          }t          j                            t          j        
                    |d                    r|                     |           un2# t          $ r%}t                              d|           Y d}~nd}~ww xY wt                      }g }| D ]2}	|	r.|	|vr*|                    |	           |                    |	           3|pdS )zReturn possible include paths containing `nccl.h`.

    Considers `VLLM_NCCL_INCLUDE_PATH` and the `nvidia-nccl-cuXX` package.
    znvidia.ncclsubmodule_search_locationsNincludeznccl.hz=Failed to find nccl include path from nvidia.nccl package: %s)r   VLLM_NCCL_INCLUDE_PATHospathisdirappend	importlibutil	find_specgetattrjoinexists	Exceptionr
   debugsetadd)
pathsincspeclocslocinc_direseenoutps
             r   find_nccl_include_pathsr3   &   sz   
 E

%C
 rw}}S!! SY~''66 	*WT+GNNNT 	* * *',,sI667>>"',,w"A"ABB *LL))) Y Y YTVWXXXXXXXXY UUDC   	$JJqMMMHHQKKK;$s   B+C2 2
D!<DD!)r   r   )r   r   )
__future__r   importlib.utilr   r   r   	vllm.envsr   vllm.loggerr   __name__r
   r   r3    r   r   <module>r:      s    # " " " " "     				        # # # # # #	X		   *     r   