
    `i                         d dl Zd dlmZ d dlmZ d dlmZmZ  G d de          Z	e
dk    r ej                     dS dS )    N)driver)cuda)unittestContextResettingTestCasec                   &    e Zd Zd Zd Zd Zd ZdS )TestHostAllocc                    d}t          j                                        |d          }t          j        t          j                  }t          j        ||j        z  ||          }d}t          j	        |||           | 
                    t          j        ||k                         |                    |           t          j        |          }t          j        |||j                   | 
                    t          j        ||k                         | 
                    t          j        ||k                         d S )N    T)mapped)shapedtypebuffer   )r   current_contextmemhostallocnpr   uint8ndarrayitemsizer   device_memset
assertTrueallfill
empty_likedevice_to_hostsize)selfnmemr   arymagicrecvs          |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/cuda/tests/cudadrv/test_host_alloc.pytest_host_alloc_driverz$TestHostAlloc.test_host_alloc_driver   s   "$$11!D1AA""jqEN2% #% % % S%+++se|,,---}S!!dC222sd{++,,,tqy))*****    c                    t          j        dt          j                  }|                    d           |                     t          |dk                         t          j        |          }t          j	        |dt          j
        |                     |                     t          |dk                         |                    |           |                     t          |dk                         d S N
   r   {   r   )r   pinned_arrayr   uint32r   r   r   	to_devicer   r   device_memory_sizecopy_to_host)r   r    devarys      r#   test_host_alloc_pinnedz$TestHostAlloc.test_host_alloc_pinned   s    ")444C3J((($$VQ(A&(I(IJJJC3J(((C   C1H&&&&&r%   c                    t          j        dt          j                  }|                    d           |                     t          |dk                         t          j        |dt          j	        |                     |                     t          |dk                         |                     t          |dk              dk               d S r'   )r   mapped_arrayr   r,   r   r   r   r   r   r.   sumr   r    s     r#   test_host_alloc_mappedz$TestHostAlloc.test_host_alloc_mapped(   s    ")444C3J(((S!V%>s%C%CDDDC1H&&&C1H*+++++r%   c                     t          j        dt          j                  t          j        dt          j                  fD ]}t          d          |d d <   |                     t          |dz             dk               |                     t          |dz   dz  dz
            dk               |                     t          |dk               dk               |                     t          |dk              dk               |                     t          |dk              d	k               |                     t          |dk              d
k               |                     t          |dz            dk               |                     t          |dz            dk               |                     t          |dz            dk               |                     t          |dz            dk               d S )Nr(   r)      7      d               i     g       @g     6@)r   r3   r   r,   r+   ranger   r4   r5   s     r#   test_host_operatorsz!TestHostAlloc.test_host_operators0   s   %b	:::%b	:::< 	/ 	/C2YYCFOOCaLLB.///OOCqA 122c9:::OOCaLLA-...OOCqMMQ.///OOCaLLA-...OOCqMMQ.///OOCqMMS0111OOCqMMR/000OOCc	NNd2333OOCaLLA-....	/ 	/r%   N)__name__
__module____qualname__r$   r1   r6   rB    r%   r#   r   r      sP        + + +,' ' ', , ,/ / / / /r%   r   __main__)numpyr   numba.cuda.cudadrvr   numbar   numba.cuda.testingr   r   r   rC   mainrF   r%   r#   <module>rM      s        % % % % % %       A A A A A A A A6/ 6/ 6/ 6/ 6/, 6/ 6/ 6/r zHMOOOOO r%   