
    0Fied                    N    d Z ddlmZ 	 ddlZn# e$ r dZY nw xY wd Zd Zd ZdS )zD
Diagnostics for GPU memory managed by RMM (RAPIDS memory manager).
    )annotationsNc                    t          | t          j        j                  s&t	          | d          rt          | j                  S dS |                                 }|S )Nupstream_mrr   )
isinstancermmmrPoolMemoryResourcehasattr_get_pool_sizer   	pool_size)r   r   s     ;lib/python3.11/site-packages/distributed/diagnostics/rmm.pyr   r      sU     b#&344 2}%% 	!".1111LLNN	    c                    t          | d          s&t          | d          rt          | j                  S dS |                                 S )Nget_allocated_bytesr   r   )r
   _get_allocated_bytesr   r   )r   s    r   r   r      sN    2,-- (2}%% 	'7771%%'''r   c                     t           d d dS t           j                                        } t          |           }t	          |           }t          ||          }||dS )N)zrmm-usedz	rmm-total)r   r   get_current_device_resourcer   r   max)r   rmm_pool_sizermm_used	rmm_totals       r   	real_timer   $   s_    
{ t444		+	+	-	-B"2&&M#B''HM8,,I y999r   )__doc__
__future__r   r   ImportErrorr   r   r    r   r   <module>r      s     # " " " " "JJJJ   
CCC
 
 
( ( (: : : : :s    