o
    Ti                     @   s(   d dl mZ ddlmZ 	dddZdS )   )MemoryProfilingInterpreter    NFc                 C   s   || }t  }t|D ]l\}}|\}}||j||||||	}|  ||_|  |
r=td|	r2dnd d| d|  t| |}|j|   |
rg|dkrg|	d| d|	rXdnd d| d| d	| d
 dd |j
D }|	ru||_q||_q|S )NzPrefetching enabled for bwdfwdz
 graph_id= r   
mem_prof_r__pass_z.csvc                 S   s    g | ]\}}}}||||fqS  r
   ).0namecurrent_allocdeltapeakr
   r
   U/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/compile/passes/__init__.py
<listcomp>*   s     z"run_opt_passes.<locals>.<listcomp>)distget_rank	enumerategraphlint	recompileprintr   rundump
mem_recordbwd_memfwd_mem)nz3graph_indexgraph_idgmcreate_inputs_fn
opt_passesgraph_orderprofiling_resultsparam_managerr   	debug_logprofilerankiopt_passopt_pass_fn
mem_budgetr   mem_profmemr
   r
   r   run_opt_passes   s&   "
2r0   )F)profilers.graph_profiler   deepspeed.commcommr   r0   r
   r
   r
   r   <module>   s   