+
    :i                      P   ^ RI Ht ^ RIt^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHt ]! R4      ]	! R4       ! R	 R
]
4      4       4       t]! R4      ]	! R4       ! R R]
4      4       4       t ! R R]
4      t]! R4       ! R R]
4      4       t]R8X  d   ]P(                  ! 4        R# R# )    )contextmanagerN)cuda)unittestskip_on_cudasimskip_if_external_memmgrCUDATestCase)captured_stderr)configznot supported on CUDASIMz0Deallocation specific to Numba memory managementc                   ,   a  ] tR t^t o R tR tRtV tR# )TestDeallocationc                   \         P                  ! 4       P                  P                  pVP	                  4        V P                  \        V4      ^ 4       \        \        P                  4       FO  p\         P                  ! \        P                  ! ^4      4       V P                  \        V4      V^,           4       KQ  	  \         P                  ! \        P                  ! ^4      4       V P                  \        V4      ^ 4       R# )r   N)r   current_contextmemory_managerdeallocationsclearassertEquallenranger
   CUDA_DEALLOCS_COUNT	to_devicenparange)selfdeallocsis   &  i/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudadrv/test_deallocations.pytest_max_pending_count'TestDeallocation.test_max_pending_count   s    '')88FFX*v112ANN299Q<(S]AE2 3 	ryy|$X*    c                   \         P                  ! 4       pVP                  P                  pVP	                  4        V P                  \        V4      ^ 4       VP                  4       pRp\        P                  p WCP                  ,          \        n	        V P                  VP                  V^R7       \         P                  ! \        P                  ! V^,          \        P                   R7      4       V P                  \        V4      ^4       \         P                  ! \        P                  ! VP                  VP"                  ,
          \        P                   R7      4       V P                  \        V4      ^4       \         P                  ! \        P                  ! ^\        P                   R7      4       V P                  \        V4      ^ 4       V\        n	        R#   T\        n	        i ; i)r   )delta)dtypeNi@B )r   r   r   r   r   r   r   get_memory_infor
   CUDA_DEALLOCS_RATIOtotalassertAlmostEqual_max_pending_bytesr   r   onesint8_size)r   ctxr   mimax_pending	old_ratios   &     r   test_max_pending_bytes'TestDeallocation.test_max_pending_bytes   sW   ""$%%33X*  "..		3)4xx)?F& ""8#>#>)* # ,
 NN277;!#3277CDS]A. NN2778#>#>#+>>$29;B CS]A. NN2771BGG45S]A. *3F&F&s   :EG! !G. N)__name__
__module____qualname____firstlineno__r   r/   __static_attributes____classdictcell____classdict__s   @r   r   r      s     +#3 #3r   r   z&defer_cleanup has no effect in CUDASIMc                   2   a  ] tR t^Bt o R tR tR tRtV tR# )TestDeferCleanupc                   \         P                  ! ^4      p\        P                  ! V4      p\        P                  ! 4       P
                  P                  pVP                  4        V P                  \        V4      ^ 4       \        P                  ! 4       ;_uu_ 4        \        P                  ! V4      p?V P                  \        V4      ^4       ?V P                  \        V4      ^4       VP                  4        V P                  \        V4      ^4       RRR4       VP                  4        V P                  \        V4      ^ 4       R#   + '       g   i     L=; i   Nr   r   r   r   r   r   r   r   r   r   defer_cleanupr   harrdarr1r   darr2s   &    r   
test_basicTestDeferCleanup.test_basicE   s    yy|t$'')88FFX*!!NN4(ES]A.S]A.NNS]A. " 	X* "!s   A:EE	c           	        \         P                  ! ^4      p\        P                  ! V4      p\        P                  ! 4       P
                  P                  pVP                  4        V P                  \        V4      ^ 4       \        P                  ! 4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  ! V4      p?V P                  \        V4      ^4       ?V P                  \        V4      ^4       VP                  4        V P                  \        V4      ^4       RRR4       VP                  4        V P                  \        V4      ^4       RRR4       VP                  4        V P                  \        V4      ^ 4       R#   + '       g   i     Lp; i  + '       g   i     LP; ir=   r?   rA   s   &    r   test_nestedTestDeferCleanup.test_nestedW   s)   yy|t$'')88FFX*!!##%%t,  X2  X2   X2 & NNS]A. " 	X* &% "!s%   F1<A:F	63F1F.)F11G	c           	        \         P                  ! ^4      p\        P                  ! V4      p\        P                  ! 4       P
                  P                  pVP                  4        V P                  \        V4      ^ 4        ! R R\        4      pV P                  V4      ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  ! V4      p?V P                  \        V4      ^4       VP                  4        V P                  \        V4      ^4       Vh  + '       g   i     M; i RRR4       M  + '       g   i     M; iTP                  4        T P                  \        T4      ^ 4       ?T P                  \        T4      ^4       TP                  4        T P                  \        T4      ^ 4       R# )r>   c                       ] tR t^stRtR# )4TestDeferCleanup.test_exception.<locals>.CustomErrorr1   Nr2   r3   r4   r5   r6   r1   r   r   CustomErrorrL   s       r   rN   N)r   r   r   r   r   r   r   r   r   r   	ExceptionassertRaisesr@   )r   rB   rC   r   rN   rD   s   &     r   test_exceptionTestDeferCleanup.test_exceptionl   s<   yy|t$'')88FFX*	) 	 {++##%%t,  X2   X2!! &%% ,+++ 	X*X*X*s   )EA D'	'D72EE	r1   N)	r2   r3   r4   r5   rE   rH   rR   r6   r7   r8   s   @r   r;   r;   B   s     +$+*+ +r   r;   c                   &   a  ] tR t^t o R tRtV tR# )TestDeferCleanupAvailc                |    \         P                  ! 4       ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; iN)r   r@   )r   s   &r   test_context_manager*TestDeferCleanupAvail.test_context_manager   s#    !! "!!!s   *;	r1   N)r2   r3   r4   r5   rX   r6   r7   r8   s   @r   rU   rU      s      r   rU   c                   d   a  ] tR t^t o Rt]R 4       tR tR tR t	R t
R tR tR	 tR
 tRtV tR# )TestDelzB
Ensure resources are deleted properly without ignored exception.
c              #     "   \        4       ;_uu_ 4       pR x  VP                  P                  4        R R R 4       V P                  XP	                  4       4       R #   + '       g   i     L1; i5irW   )r	   r   r   assertFalsegetvalue)r   r+   caps   && r   check_ignored_exceptionTestDel.check_ignored_exception   sH     ###%  	( s   A0A)A0A-	(A0c                    \         P                  ! 4       pVP                  4       pV P                  V4      ;_uu_ 4        ?R R R 4       R #   + '       g   i     R # ; irW   )r   r   create_streamr`   )r   r+   streams   &  r   test_streamTestDel.test_stream   sA    ""$""$))#.. /...   AA	c                    \         P                  ! 4       pVP                  4       pV P                  V4      ;_uu_ 4        ?R R R 4       R #   + '       g   i     R # ; irW   )r   r   create_eventr`   )r   r+   events   &  r   
test_eventTestDel.test_event   sA    ""$  "))#.. /...rg   c                    \         P                  ! 4       pVP                  ^ 4      pV P                  V4      ;_uu_ 4        ?RRR4       R#   + '       g   i     R# ; i    Nr   r   memhostallocr`   r   r+   mems   &  r   test_pinned_memoryTestDel.test_pinned_memory   sC    ""$r"))#.. /...    AA	c                    \         P                  ! 4       pVP                  ^ RR7      pV P                  V4      ;_uu_ 4        ?RRR4       R#   + '       g   i     R# ; i)ro   T)mappedNrp   rr   s   &  r   test_mapped_memoryTestDel.test_mapped_memory   sH    ""$r$/))#.. /...s   AA	c                    \         P                  ! 4       pVP                  ^ 4      pV P                  V4      ;_uu_ 4        ?RRR4       R#   + '       g   i     R# ; irn   )r   r   memallocr`   rr   s   &  r   test_device_memoryTestDel.test_device_memory   sA    ""$ll2))#.. /...rv   c                    \         P                  ! 4       pVP                  ^ 4      pV P                  V4      ;_uu_ 4        ?RRR4       R#   + '       g   i     R# ; irn   )r   r   memallocmanagedr`   rr   s   &  r   test_managed_memoryTestDel.test_managed_memory   sC    ""$!!"%))#.. /...rv   c                `    ! R  R\         4      p\        P                  ! ^4      p\        P                  ! 4       pVP
                  P                  4        V P                  V4      ;_uu_ 4        \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! V4      ;_uu_ 4         RRR4       RRR4        \        P                  ! V4      ;_uu_ 4        Vh  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ls; i  + '       g   i     L~; i  + '       g   i     ML; i  T d@    \        P                  ! T4      ;_uu_ 4         RRR4        M  + '       g   i      M; ii ; iRRR4       R#   + '       g   i     R# ; i)c                       ] tR t^tRtR# );TestDel.test_pinned_contextmanager.<locals>.PinnedExceptionr1   NrM   r1   r   r   PinnedExceptionr      rO   r   r   N)
rP   r   zerosr   r   r   r   r`   pinnedr@   )r   r   arrr+   s   &   r   test_pinned_contextmanager"TestDel.test_pinned_contextmanager   J   	i 	 hhqk""$!))#..S!! "S!! " ##%%[[%% &[[%% & &[[%%)) "!!! &%%% &% &%" [[%% &%%%! /...   .HE	&H5E*	7%HF#	;E==&F#	#F%F#	-H6G	F6	E'"H*E:5H=FF#	F F#	#F3.H6GG	HG		%H.G:0H8H:HH	HHHH-	c                `    ! R  R\         4      p\        P                  ! ^4      p\        P                  ! 4       pVP
                  P                  4        V P                  V4      ;_uu_ 4        \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! 4       ;_uu_ 4        \        P                  ! V4      ;_uu_ 4         RRR4       \        P                  ! V4      ;_uu_ 4         RRR4       RRR4        \        P                  ! V4      ;_uu_ 4        Vh  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ls; i  + '       g   i     L~; i  + '       g   i     ML; i  T d@    \        P                  ! T4      ;_uu_ 4         RRR4        M  + '       g   i      M; ii ; iRRR4       R#   + '       g   i     R# ; i)c                       ] tR t^tRtR# );TestDel.test_mapped_contextmanager.<locals>.MappedExceptionr1   NrM   r1   r   r   MappedExceptionr      rO   r   r   N)
rP   r   r   r   r   r   r   r`   rx   r@   )r   r   r   r+   s   &   r   test_mapped_contextmanager"TestDel.test_mapped_contextmanager   r   r   r1   N)r2   r3   r4   r5   __doc__r   r`   re   rk   rt   ry   r}   r   r   r   r6   r7   r8   s   @r   r[   r[      sK      ) ): r   r[   __main__)
contextlibr   numpyr   numbar   numba.cuda.testingr   r   r   r   numba.tests.supportr	   
numba.corer
   r   r;   rU   r[   r2   mainr1   r   r   <module>r      s    %  G G /  +,KL13| 13 M -13h 9:KL?+| ?+ M ;?+DL  +,gl g -gT zMMO r   