
    Vh                     2    d dl Z d dlmZ ddlmZ 	 d Zd Zy)    N)	signature   _basic_validationc                 ~    t        t        |      j                        dk7  rt        dt        |             ||| <   y)z\
    Performs basic validation and registers the provided op in the given
    op_table.
       zlCustom sharded op function expects signature: (types, args, kwargs, process_group), but received signature: N)lenr   
parameters	TypeError)opfuncop_tables      Z/home/dcms/DCMS/lib/python3.12/site-packages/torch/distributed/_shard/op_registry_utils.py_register_opr      sG    
 9T?%%&!+#D/*,
 	
 HRL    c                 `     t        j                          fd       }t        ||       |S )zZ
    Decorator function to register the given ``op`` in the provided
    ``op_table``
    c                 4    t        ||        | |||      S )Nr   )typesargskwargsprocess_groupr   wrapped_funcs       r   wrapperz _decorator_func.<locals>.wrapper#   s     "dF+E4??r   )	functoolswrapsr   )r   r   r   r   s   ``  r   _decorator_funcr      s5     __\"@ #@ Wh'Nr   )r   inspectr   common_op_utilsr   r   r    r   r   <module>r       s      .r   