o
    }oi*                     @   sH   d dl mZ d dlZd dlZejjddee dejej	 fddZ
dS )    )OptionalNdevicesreturnc                 C   sF   ddi}| du rt j rt j } ntdtjtj| d|d}|S )a	  
    Local executor using torchrun.

    Args:
        devices (Optional[int]): Number of devices to use. If None, it will use all available CUDA devices.

    Returns:
        run.Config[run.LocalExecutor]: Configuration for the local executor using torchrun.
    TORCH_NCCL_AVOID_RECORD_STREAMS1NzbCannot infer the 'ntasks_per_node' parameter as CUDA is not available: please specify explicitely.torchrun)ntasks_per_nodelauncherenv_vars)torchcudais_availabledevice_countRuntimeErrorrunConfigLocalExecutor)r   r
   executor r   ]/home/ubuntu/.local/lib/python3.10/site-packages/nemo/collections/llm/recipes/run/executor.pyr      s   
r   )N)typingr   nemo_runr   r   clifactoryintr   r   r   r   r   r   r   <module>   s
   &