+
    :i<
                         R t ^ RIHt ^RIHtHtHt ^RIHt ^ RI	H
t
 ^ RIHt ^RIHtHtHt RR ltR t ! R	 R
]4      tR tR tR tR tR t ! R R]4      t]tRR lt]R 4       tR# )z
Contains CUDA API functions
)contextmanager)require_contextresetgpusFakeCUDAKernel)is_signaturewarn)InOutInOutc                 "    V ^ 8X  g   Q R4       hR# )    z/Only a single device supported by the simulatorN )devs   &V/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/simulator/api.pyselect_devicer      s    !8FFF8    c                      R # )Tr   r   r   r   is_float16_supportedr      s    r   c                   :   a  ] tR t^t o Rt]R 4       tR tRtV t	R# )streamz
The stream API is supported in the simulator - however, all execution
occurs synchronously, so synchronization requires no operation.
c              #     "   R x  R # 5iNr   selfs   &r   auto_synchronizestream.auto_synchronize   s        	c                    R # r   r   r   s   &r   synchronizestream.synchronize!       r   r   N)
__name__
__module____qualname____firstlineno____doc__r   r   r!   __static_attributes____classdictcell____classdict__s   @r   r   r      s(        r   r   c                      R # r   r   r   r   r   r!   r!   %       r   c                      R \         n        R# )TN)r   closedr   r   r   closer1   )   s	    DKr   c                      R # r   r   )argskwargss   *,r   declare_devicer5   -   r.   r   c                  d    \        R 4       \        RR,          4       \        RR,          4       R# )zFound 1 CUDA deviceszid %d    %20s %40sz	%40s: 5.0zcompute capabilityN)r   	SIMULATORz[SUPPORTED])printr   r   r   detectr9   1   s(    	
 !	
!@
@A	+,
,-r   c                      \         # r   )r   r   r   r   list_devicesr;   7   s    Kr   c                   D   a  ] tR t^=t o RtRR ltRR ltR tR tRt	V t
R# )	Eventz
The simulator supports the event API, but they do not record timing info,
and all simulation is synchronous. Execution time is not recorded.
c                    R # r   r   r   r   s   &&r   recordEvent.recordB   r#   r   c                    R # r   r   r?   s   &&r   wait
Event.waitE   r#   r   c                    R # r   r   r   s   &r   r!   Event.synchronizeH   r#   r   c                    \        R 4       R# )zSimulator timings are bogusg        r	   )r   events   &&r   elapsed_timeEvent.elapsed_timeK   s    *+r   r   Nr   )r$   r%   r&   r'   r(   r@   rC   r!   rI   r)   r*   r+   s   @r   r=   r=   =   s#      r   r=   Nc                    aaa V'       d   \        R 4      hVe   \        R4      hV e(   \        V 4      '       g   \        V \        4      '       d   VVV3R lpV# \	        V SSR7      # )z)bounds checking is not supported for CUDAz Cannot link PTX in the simulatorc                 "   < \        V SSSR 7      # ))devicefastmathdebugr   )fnrP   rN   rO   s   &r   
jitwrapperjit.<locals>.jitwrapperb   s    !")/+3(-/ /r   )rN   rP   )NotImplementedErrorr   
isinstancelistr   )func_or_sigrN   rP   argtypesinlinerestyperO   linkboundscheckoptcacherR   s   &ff&&&f&&&& r   jitr_   S   sa    
 !"MNN!"DEE 	|K88+t,,	/
 +fEBBr   c               #      "   R x  R # 5ir   r   r   r   r   defer_cleanupra   k   s
      
r   rK   )NFFNFNFNNTN)r(   
contextlibr   cudadrv.devicesr   r   r   kernelr   numba.core.sigutilsr   warningsr
   r3   r   r   r   r   r   objectr   r!   r1   r5   r9   r;   r=   rH   r_   ra   r   r   r   <module>rh      s    & 9 9 " ,  ! !G
V 
		.F & 	C0 
 
r   