
    Vpf0
                    X    d dl mZ d dlmZ d dlZd dlmZ  G d dej                  ZdS )    )annotations)clustersN	find_specc                      e Zd ZU dZded<   dZded<   edd            Zedd            Zedd            Z	edd            Z
edd            ZdS )Mpi4pyClustermpi4pystrnameTboolopt_in_only_methodreturnc                $    t          d          d uS )Nr	   r   )clss    `/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/clusters/mpi4py_cluster.pyis_env_presentzMpi4pyCluster.is_env_present   s     Xd**    timeout_secs
int | Nonec                    ddl m} |j        }|                                dk    r0t	          j                    }t          |          dz  dz   }| d| }nd}|                    |d          }|S )Nr   MPIi   i   :None)root)r	   r   
COMM_WORLDGet_ranksocketgethostnamehashbcast)r   r   r   r   hostnameport_ids         r   get_coordinator_addressz%Mpi4pyCluster.get_coordinator_address#   s     J !!%'' x..5(,=>**** 
 q11H Or   intc                Z    ddl m} t          |j                                                  S Nr   r   )r	   r   r%   r   Get_sizer   r   s     r   get_process_countzMpi4pyCluster.get_process_countE   0    s~&&(()))r   c                Z    ddl m} t          |j                                                  S r'   )r	   r   r%   r   r   r)   s     r   get_process_idzMpi4pyCluster.get_process_idJ   r+   r   c                    ddl m} |j        }|                    |j                  }t          |                                          S r'   )r	   r   r   
Split_typeCOMM_TYPE_SHAREDr%   r   )r   r   r   new_comms       r   get_local_process_idz"Mpi4pyCluster.get_local_process_idO   sQ     J $$S%9::H x  ""###r   N)r   r   )r   r   r   r
   )r   r%   )r   r   )__name__
__module____qualname__r   __annotations__r   classmethodr   r$   r*   r-   r2    r   r   r   r      s          $!!!!!+ + + ;+
    ;B * * * ;* * * * ;* $ $ $ ;$ $ $r   r   )	
__future__r   jax._srcr   r   importlib.utilr   
ClusterEnvr   r8   r   r   <module>r=      s    # " " " " "        $ $ $ $ $ $F$ F$ F$ F$ F$H' F$ F$ F$ F$ F$r   