ó
\K]c           @@ s™   d  d l  m Z m Z d  d l Z d  d l m Z d  d l j Z	 d  d l
 m Z e	 j e d ƒ d e	 j f d „  ƒ  Yƒ Z e d k r• e	 j ƒ  n  d S(	   i    (   t   print_functiont   absolute_importN(   t   roc(   t   dgpu_presents   test only on dGPU systemt	   TestAsyncc           B@ s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C@ s\   t  j d d d t j ƒ } |  j | j d ƒ t j | j ƒ | (} t j j | | ƒ d  S(   Nt   shapei   t   dtype(	   R   t   coarsegrain_arrayt   npt   float32t   assertEqualt   sizet   aranget   testingt   assert_allclose(   t   selft   arrt   expect(    (    s@   lib/python2.7/site-packages/numba/roc/tests/hsadrv/test_async.pyt   test_coarsegrain_array   s    c         C@ sÔ   t  j d ƒ } t j | ƒ } t j d | j d | j ƒ } | d | (t j ƒ  } t | j	 ƒ } | j
 | d | ƒ|  j | d t | j	 ƒ d ƒ | j ƒ  } |  j d t | j	 ƒ d	 ƒ t  j j | | ƒ d  S(
   Ni   R   R   id   t   streami   s   no new async signali    s    missing implicit synchronization(   R   R   R   t	   to_deviceR   R   R   R   t   lent   _signalst   copy_to_deviceR
   t   copy_to_hostR   t   assert_equal(   R   R   t   devarrt   hostarrR   t   ctt   got(    (    s@   lib/python2.7/site-packages/numba/roc/tests/hsadrv/test_async.pyt   test_async_copy_to_device   s    c         C@ s  t  j d ƒ } t j d | j d | j ƒ } t j d | j d | j ƒ } t j ƒ  } t | j ƒ } t j	 | d | ƒ} |  j
 | d t | j ƒ ƒ | j | d | ƒ|  j
 | d t | j ƒ ƒ | j ƒ  |  j
 d t | j ƒ ƒ t  j j | | ƒ d  S(   Ni   R   R   R   i   i   i    (   R   R   R   R   R   R   R   R   R   R   R
   R   t   synchronizeR   R   (   R   R   R   t   gotarrR   R   R   (    (    s@   lib/python2.7/site-packages/numba/roc/tests/hsadrv/test_async.pyt"   test_async_copy_to_device_and_back'   s    
(   t   __name__t
   __module__R   R   R!   (    (    (    s@   lib/python2.7/site-packages/numba/roc/tests/hsadrv/test_async.pyR   
   s   		t   __main__(   t
   __future__R    R   t   numpyR   t   numbaR   t   numba.unittest_supportt   unittest_supportt   unittestt   numba.roc.hsadrv.driverR   t
   skipUnlesst   TestCaseR   R"   t   main(    (    (    s@   lib/python2.7/site-packages/numba/roc/tests/hsadrv/test_async.pyt   <module>   s   +