U
    hâËd°  ã                   @   sP   d dl Zd dlZd dlmZ d dlmZmZ G dd„ deƒZe	dkrLe 
¡  dS )é    N)Úcuda)ÚunittestÚContextResettingTestCasec                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú
TestPinnedc                 C   s\   t  |¡}t ¡ }tj|d|d�}|j||d� |j||d� | ¡  |  t  	||¡¡ d S )NF)ÚcopyÚstream)r   )
Únpr   r   r   Z	to_deviceZcopy_to_deviceZcopy_to_hostZsynchronizeÚ
assertTrueZallclose)ÚselfÚAZA0r   Zptr© r   ú]/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/cuda/tests/cudadrv/test_pinned.pyÚ_run_copies
   s    
zTestPinned._run_copiesc              	   C   sT   t  ¡ }| d¡s| d¡r"d}nd}t |¡}t |¡� |  |¡ W 5 Q R X d S )NÚarmÚaarch64i   é    )ÚplatformÚmachineÚ
startswithr   Úaranger   Úpinnedr   )r
   r   Úcountr   r   r   r   Útest_pinned   s    
zTestPinned.test_pinnedc                 C   s   t  d¡}|  |¡ d S )Nr   )r   r   r   )r
   r   r   r   r   Útest_unpinned   s    
zTestPinned.test_unpinnedN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r      s   
r   Ú__main__)Únumpyr   r   Znumbar   Znumba.cuda.testingr   r   r   r   Úmainr   r   r   r   Ú<module>   s   