+
    :i,                         ^ RI Ht ^ RIt^ RIHtHt ^ RIt^ RIt ! R R]4      t	]
R8X  d   ]P                  ! 4        R# R# )    )cudaN)skip_on_cudasimCUDATestCasec                   D  a  ] tR t^t o ]P
                  ! ]! ]P                  4      ^8  R4      R 4       t	]
! R4      R 4       t]P
                  ! ]! ]P                  4      ^8  R4      R 4       t]P
                  ! ]! ]P                  4      ^8  R4      R 4       tRtV tR# )	TestMultiGPUContextzneed more than 1 gpusc           	     
   \         P                  ! R 4      R 4       pR p^ p\        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      p\         P
                  ^ ,          ;_uu_ 4        V^V3,          ! WE4       RRR4       V! WE4       V^V3,          ! WE4       V! WE4       \         P
                  ^ ,          ;_uu_ 4        \        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      pV^V3,          ! Wg4       \         P
                  ^,          ;_uu_ 4        \        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      p	V^V3,          ! W4       RRR4       RRR4       V! XX4       V! XX	4       \        P                  ! V\        P                  R7      p\        P                  ! V\        P                  R7      pV^V3,          ! WE4       V! WE4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i)zvoid(float64[:], float64[:])c                 x    \         P                  ! ^4      pW!P                  8  d   W,          ^,           W&   R# R#    Nr   gridsize)inpoutis   && c/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_multigpu.pycopy_plus_1>TestMultiGPUContext.test_multigpu_context.<locals>.copy_plus_1   s*    		!A88|!     c                 T    \         P                  P                  V ^,           V4       R# r
   )nptestingassert_equal)r   r   s   &&r   check8TestMultiGPUContext.test_multigpu_context.<locals>.check   s    JJ##C!GS1r   dtypeN)r   jitr   arangefloat64gpus)
selfr   r   NABA0B0A1B1s
   &         r   test_multigpu_context)TestMultiGPUContext.test_multigpu_context	   s   	0	1	$ 
2	$
	2 IIarzz*IIarzz*YYq\\1a#  	aAqD!aYYq\\1BJJ/B1BJJ/B1b%1YYq

3YYq

3AqD!")   	b"b"IIarzz*IIarzz*AqD!a1 \\  \s2   I'A=I2$AI	I2I	I/*I22J	z+Simulator does not support multiple threadsc           
        R  p\         P                  ! \        P                  ! ^
4      4      p^
pR.V,          p\	        V4       Uu. uF6  p\
        P                  ! V\         P                  P                  W$V3R7      NK8  	  ppV F  pVP                  4        K  	  V F  pVP                  4        K  	  V F,  p\        V\        4      '       d   VhV P                  V4       K.  	  R# u upi )c                     V ;_uu_ 4        VP                  4       pR R R 4       \        P                  ! X\        P                  ! ^
4      8H  4      W#&   R #   + '       g   i     LA; i  \         d   pYRT&    R p?R # R p?ii ; i)N)copy_to_hostr   allr   	Exception)gpudAresultsridxarres   &&&&  r   work4TestMultiGPUContext.test_multithreaded.<locals>.work4   s\    =S//+C  !#sbiim'; < S  " !"s-   
A) AA) A&	!A) )B4A>>BN)targetargs)r   	to_devicer   r   range	threadingThreadr!   currentstartjoin
isinstanceBaseException
assertTrue)	r"   r7   r2   nthreadsr3   r   threadsthrs	   &        r   test_multithreaded&TestMultiGPUContext.test_multithreaded2   s    		= ^^BIIbM*&8# "(O-+q ##4tyy7H7H79A7G H+ 	 - BHHJ  BGGI  A!]++"	 -s   <C+c                   \         P                  R  4       p\        P                  ! ^
\        P                  R7      p\         P
                  ^ ,          ;_uu_ 4        \         P                  ! V4      pRRR4       \         P
                  ^,          ;_uu_ 4        \         P                  ! V4      pRRR4       \         P
                  ^ ,          ;_uu_ 4        VR,          ! X^4       RRR4       \         P
                  ^,          ;_uu_ 4        VR,          ! X^4       RRR4       \         P
                  ^ ,          ;_uu_ 4        \        P                  P                  XP                  4       V^,           4       RRR4       \         P
                  ^,          ;_uu_ 4        \        P                  P                  XP                  4       V^,           4       RRR4       R#   + '       g   i     EL{; i  + '       g   i     ELQ; i  + '       g   i     EL-; i  + '       g   i     EL	; i  + '       g   i     L; i  + '       g   i     R# ; i)c                 ~    \         P                  ! ^4      pW P                  8  d   W;;,          V,          uu&   R# R# r
   r   )r5   valr   s   && r   vector_add_scalar@TestMultiGPUContext.test_with_context.<locals>.vector_add_scalarU   s(    		!A88|# r   r   N)r   
   )
r   r   r   r   float32r!   r;   r   r   r.   )r"   rN   hostarrarr1arr2s   &    r   test_with_context%TestMultiGPUContext.test_with_contextR   s^    
	 
	
 ))Bbjj1YYq\\>>'*D  YYq\\>>'*D  YYq\\e$T1-  YYq\\e$T1-  YYq\\JJ##D$5$5$7'A+G  YYq\\JJ##D$5$5$7'A+G \ \\ \\ \\ \\ \ \\sH   G%G9HH!6H5%6I%G6	9H
	H	!H2	5I	I	c                   \         P                  ^ ,          ;_uu_ 4        \         P                  ! 4       pVP                  ^4      '       g   V P	                  R4       RRR4       \
        P                  ! ^
\
        P                  R7      p\         P                  ^ ,          ;_uu_ 4        \         P                  ! V4      pRRR4       \         P                  ^,          ;_uu_ 4        \         P                  ! \
        P                  ! V4      4      pRRR4       \         P                  ^ ,          ;_uu_ 4        XP                  X4       \
        P                  P                  VP                  4       V4       RRR4       R#   + '       g   i     EL0; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r   z!Peer access between GPUs disabledNr   )r   r!   current_contextcan_access_peerskipTestr   r   rQ   r;   
zeros_likecopy_to_devicer   r   r.   )r"   ctxrR   rS   rT   s   &    r   test_with_context_peer_copy/TestMultiGPUContext.test_with_context_peer_copyn   s   
 YYq\\&&(C&&q))AB  ))Bbjj1 YYq\\>>'*D  YYq\\>>"--"89D  YYq\\% JJ##D$5$5$7A \! \\ \ \ \\s0   >F+F)+F,;A F?F	F)	,F<	?G	 N)__name__
__module____qualname____firstlineno__unittestskipIflenr   r!   r*   r   rI   rU   r^   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     __S^a')@A& B&P BC# D#> __S^a')@AH BH6 __S^a')@AB BBr   r   __main__)numbar   numpyr   numba.cuda.testingr   r   r=   re   r   ra   mainr`   r   r   <module>rp      s=      <  @B, @BF zMMO r   