
    sh$                         S SK rS SKJrJrJr  S SKJrJr  S SK	J
r
  \
R                  (       a  Su  rrOSu  rr\\-  r\\4r " S S\5      r\S	:X  a  \R$                  " 5         gg)
    N)cudafloat32void)unittestCUDATestCase)config)      )2       c                       \ rS rSrS rSrg)TestCudaMatMul   c                 
   [         R                  " [        [        S S 2S S S24   [        S S 2S S S24   [        S S 2S S S24   5      5      S 5       n[        R
                  R                  S5        [        R                  " [        R
                  R                  [        [        45      [        R                  S9n[        R                  " [        R
                  R                  [        [        45      [        R                  S9n[        R                  " U5      n[         R                  " 5       nUR                  5          [         R                  " X%5      n[         R                  " X55      n[         R                  " XE5      nU[        [        4[        [        4U4   " XgU5        UR                  XE5        S S S 5        [        R                   " X#5      n	[        R"                  R%                  XISS9  g ! , (       d  f       NC= f)N   c                    [         R                  R                  [        [        S9n[         R                  R                  [
        [
        4[        S9n[         R                  R                  n[         R                  R                  n[         R                  R                  n[         R                  R                  n[         R                  R                  n	[         R                  R                  n
XWU	-  -   nXhU
-  -   n[	        S5      n[        [        5       H  nU[        :  a1  U[        :  a'  XX^[
        -  -   4   X6U4'   XU[
        -  -   U4   XFU4'   [         R                  " 5         U[        :  a/  U[        :  a%  [        [
        5       H  nXXo4   XOU4   -  -  nM     [         R                  " 5         M     U[        :  a  U[        :  a  XX4'   g g g )N)shapedtyper   )r   sharedarraySM_SIZEr   tpb	threadIdxxyblockIdxblockDimrangebpgnsyncthreads)ABCsAsBtxtybxbybwbhr   r   accijs                   w/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_matmul.pycu_square_matrix_mul6TestCudaMatMul.test_func.<locals>.cu_square_matrix_mul   sc   """@B""#s7"CB!!B!!BBBBB"WA"WA!*C3Zq5QU!"bs7l?!3B2vJ!"C<?!3B2vJ  "q5QU"3Z"%y2e944 (   "   1uQ!$ u    *   )r   gh㈵>)rtol)r   jitr   r   nprandomseedr   r    
empty_likestreamauto_synchronize	to_devicer   r   copy_to_hostdottestingassert_allclose)
selfr1   r"   r#   r$   r;   dAdBdCCanss
             r0   	test_funcTestCudaMatMul.test_func   sZ   	$wq#A#v3Q3CaCI	J	 
K	> 			rHHRYY%%q!f-RZZ@HHRYY%%q!f-RZZ@MM!$$&*B*B*B #sc3Z!?@LOOA& ' vva| 	

""1"6 '&s    A7G44
H N)__name__
__module____qualname____firstlineno__rG   __static_attributes__rI   r3   r0   r   r      s    37r3   r   __main__)numpyr7   numbar   r   r   numba.cuda.testingr   r   
numba.corer   ENABLE_CUDASIMr   r   r    r   r   rJ   mainrI   r3   r0   <module>rV      sh     % % 5  
HCHC#I*57\ 57p zMMO r3   