+
    JV-j9�  ã                   ó*  € R t ^ RIt^ RIt^ RIt^ RIt ^ RIt]P                  ! R4      t]P                  ! 4       t]R8H  t]P                  P!                  ]'       * R],          R7      tRtRtR tR tR t]P                  P/                  R	. R/O4      R
 4       tR tR0R lt]P                  P/                  R	. R/O4      R 4       t]P                  P/                  R	. R/O4      R 4       tR t]P                  P/                  R	. R/O4      R 4       t]P                  P/                  R	. R/O4      R 4       t]P                  P/                  R	. R/O4      R 4       t ]P                  P/                  R	. R/O4      R 4       t!]P                  P/                  RRR.4      ]P                  P/                  R	. R/O4      R 4       4       t"]P                  P/                  R	. R/O4      R 4       t#R t$R t%R t&R t'R t(R t)R t*R  t+R! t,R" t-R# t.R$ t/]]P                  P/                  R	. R/O4      R% 4       4       t0R& t1R' t2R( t3R) t4]P                  P/                  R	^
^d.4      R* 4       t5R+ t6R, t7R- t8R. t9R#   ] d    ]P                  P                  t
 ELyi ; i)1z
UNTESTED:
read_message
Nzpyarrow.cudazlinux-x86_64z'CUDA IPC not supported in platform `%s`)Úreasonc                 ó´   € \         P                  ^ 4      V n        \         P                  \         P                  P                  4       ^,
          4      V n        R# )é    N)ÚcudaÚContextÚglobal_contextÚget_num_devicesÚglobal_context1©Úmodules   &Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pyarrow/tests/test_cuda.pyÚsetup_moduler   1   s5   € Ü ŸL™L¨›O€FÔÜ!Ÿ\™\¬$¯,©,×*FÑ*FÓ*HÈ1Õ*LÓM€FÖó    c                 ó
   € V = R # ©N)r   r
   s   &r   Úteardown_moduler   6   s   € ØÒr   c                  ó*  € \         P                  P                  4       ^ 8”  g   Q h\        P                  ^ 8X  g   Q h\
        P                  \         P                  P                  4       ^,
          8X  g   Q h\        P                  p V P                  '       d   Q hR\        V 4      9   g   Q h\        P                  pWP                  8X  g   Q hVP                  '       d   Q hVP                  ^ 8X  g   Q hVP                  \        P                  P                  8X  g   Q h\        P                   ! \"        RR7      ;_uu_ 4        \         P                  \         P                  P                  4       4       RRR4       R#   + '       g   i     R# ; i)r   z)<pyarrow.MemoryManager device: CudaDevicez5device_number argument must be non-negative less than©ÚmatchN)r   r   r   r   Údevice_numberr	   Úmemory_managerÚis_cpuÚreprÚdeviceÚ	device_idÚdevice_typeÚpaÚDeviceAllocationTypeÚCUDAÚpytestÚraisesÚ
ValueError)ÚmmÚdevs     r   Útest_Contextr$   :   s#  € Ü�<‰<×'Ñ'Ó)¨AÔ-Ð-Ð-Ü×'Ñ'¨1Ô,Ð,Ð,Ü×(Ñ(¬D¯L©L×,HÑ,HÓ,JÈQÕ,NÔNÐNÐNä	×	&Ñ	&€BØ�y�yˆyÐˆ=Ø6¼$¸r»(ÔBÐBÐBä
×
Ñ
€CØ—)‘)ÔÐÐà�z�zˆzÐˆ>Ø�=‰=˜AÔÐÐØ�?‰?œb×5Ñ5×:Ñ:Ô:Ð:Ð:ä	�Š”zð:÷
<ö 
<ô 	�‰”T—\‘\×1Ñ1Ó3Ô4÷
<÷ 
<÷ 
<ò 
<ús   Å2FÆF	Úsizec                 ó~  € \         P                  V 4      p\        P                  ! V\        P                  R 7      p^W ^,          ^V ,          ^,          % VP                  4       p\        P                  ! V\        P                  R 7      p\        P                  P                  WC4       VP                  V 8X  g   Q hR# )©ÚdtypeN)	r   Únew_host_bufferÚnpÚ
frombufferÚuint8ÚcopyÚtestingÚassert_equalr%   )r%   ÚbufÚarrÚarr_cpÚarr2s   &    r   Útest_manage_allocate_free_hostr4   P   s   € ä
×
Ñ
˜tÓ
$€CÜ
�-Š-˜¤2§8¡8Ô
,€CØ€Cˆa���$•˜•	ÐØ�X‰X‹Z€FÜ�=Š=˜¤B§H¡HÔ-€DÜ‡J�J×Ñ˜DÔ)Ø�8‰8�tÔÐÒr   c                  ó¼   € \         P                  p \         P                  ^€4      p\         P                  V ^€,           8X  g   Q h?\         P                  V 8X  g   Q hR# )é€   N)r   Úbytes_allocatedÚ
new_buffer)r7   Úcudabufs     r   Útest_context_allocate_delr:   [   sM   € Ü$×4Ñ4€OÜ×'Ñ'¨Ó,€GÜ×)Ñ)¨_¸sÕ-BÔBÐBÐBØÜ×)Ñ)¨_Ô<Ð<Ò<r   c                óÜ  € VR8X  Ed   V ^ 8¼  g   Q h\         P                  ! V 4      pVP                  V 8X  g   Q h\        P                  ! V\        P
                  R7      pVP                  V 8X  g   Q h\        P                  P                  ^^ÿV \        P
                  R7      VR&   VP                  4       ^ 8”  g
   V ^ 8X  g   Q h\        P                  ! V\        P
                  R7      p\        P                  P                  W44       W23# VR8X  dO   \        V RR7      w  r2\        P                  V 4      pVP                  V 8X  g   Q hVP                  V^ V R7       W53# \        R4      h)	z5Return a host or device buffer with random data.
    Úhostr'   )ÚlowÚhighr%   r(   ºNNNr   ©Útarget©ÚpositionÚnbyteszinvalid target value)r   Úallocate_bufferr%   r*   r+   r,   ÚrandomÚrandintÚsumr.   r/   Úmake_random_bufferr   r8   Úcopy_from_hostr!   )r%   rA   r0   r1   Úarr_Údbufs   &&    r   rI   rI   c   s,  € ð �ÕØ�qŒyÐˆyÜ× Ò  Ó&ˆØ�x‰x˜4ÔÐÐÜ�mŠm˜C¤r§x¡xÔ0ˆØ�x‰x˜4ÔÐÐÜ—‘×"Ñ" q¨s¸ÄRÇXÁXÐ"ÓNˆˆA‰Ø�w‰w‹y˜1Œ} ¨¤	Ð)Ð)Ü�}Š}˜S¬¯©Ô1ˆÜ
�
‰
×Ñ Ô*ØˆxˆØ	�8Ô	Ü% d°6Ô:‰ˆÜ×(Ñ(¨Ó.ˆØ�y‰y˜DÔ Ð Ð Ø×Ñ˜C¨!°DÐÔ9ØˆyÐÜ
Ð+Ó
,Ð,r   c                 ó  € \        V 4      w  r\        P                  V4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       \        P                  ! \        4      ;_uu_ 4        \        V4       RRR4       \        P                  V4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       \        P                  VP                  4       4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       VP                  ^ VP                  4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       V ^8”  d²   VP!                  W^,          R 4       \        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  \        P"                  ! W^,          R W^,          R 34      V4       VP!                  VRV ^,           4       \        P                  V4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       VP!                  W^,          R 4       \        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       VP                  ^ VP                  ^
,           4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       VP                  V ^,          V ^
,           4      pVP                  W ^,          ,
          8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W^,          R V4       V ^,          p^V ,          ^,          p\        P                  W'VR7      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P                  VP                  VVR7      4      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P                  WVR7      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P                  WWx,            4      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P                  VP                  4       VVR7      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P%                  V 4      pVP                  V 8X  g   Q h\        P                  V4      pVP                  Wx4      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \&        P)                  V 4      p\        P
                  ! V\        P                  R 7      p	WR&   \        P                  V4      pVP                  V 8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  W4       \        P                  W'VR7      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       \        P                  VP                  WxR7      4      pVP                  V8X  g   Q h\        P
                  ! VP                  4       \        P                  R 7      p\        P                  P                  WWx,            V4       R#   + '       g   i     E	LË; i)r'   N)Úoffsetr%   ©rN   Úlengthr?   )rI   r   Úbuffer_from_datar%   r*   r+   Úcopy_to_hostr,   r.   r/   r   r    ÚBufferErrorÚ
memoryviewÚtobytesÚslicerJ   Úconcatenater8   r   r)   )
r%   r1   r0   r9   r3   Úcudabuf2Úarr3ÚsoffsetÚssizerK   s
   &         r   Útest_context_device_bufferr\   z   sg  € ô " $Ó'�H€CÜ×-Ñ-¨cÓ2€GØ�<‰<˜4ÔÐÐÜ�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜CÔ&ô 
�Š”{×	#Õ	#Ü�7Ô÷ 
$ô ×-Ñ-¨cÓ2€GØ�<‰<˜4ÔÐÐÜ�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜CÔ&ô ×-Ñ-¨c¯k©k«mÓ<€GØ�<‰<˜4ÔÐÐÜ�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜CÔ&ð �}‰}˜Q §¡Ó-€HØ�=‰=˜DÔ Ð Ð Ü�=Š=˜×.Ñ.Ó0¼¿¹ÔA€DÜ‡J�J×Ñ˜CÔ&àˆa„xØ×Ñ ¨!¥G H Ô.Ü�}Š}˜W×1Ñ1Ó3¼2¿8¹8ÔDˆÜ
�
‰
×Ñ¤§¢°¸!µG°H°¸sÈÅ7À8¸}Ð/MÓ NØ $ô	&à×Ñ  H T¨1¥W Ô.ô ×.Ñ.¨wÓ7€HØ�=‰=˜DÔ Ð Ð Ü�=Š=˜×.Ñ.Ó0¼¿¹ÔA€DÜ‡J�J×Ñ˜CÔ&à×Ñ˜C a¥ ˜MÔ*Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜CÔ&ð �}‰}˜Q §¡¨R¥Ó0€HØ�=‰=˜DÔ Ð Ð Ü�=Š=˜×.Ñ.Ó0¼¿¹ÔA€DÜ‡J�J×Ñ˜CÔ&à�}‰}˜T 1�W d¨2¥gÓ.€HØ�=‰=˜D¨¥7�NÔ*Ð*Ð*Ü�=Š=˜×.Ñ.Ó0¼¿¹ÔA€DÜ‡J�J×Ñ˜C a¥ ˜M¨4Ô0ð �A�g€GØˆd�F�A�I€EÜ×-Ñ-¨cØ38ð .ó :€Gà�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð8¸$Ô?ä×-Ñ-¨c¯i©i¸wØ?Dð /8ó /Fó G€Gà�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð8¸$Ô?ô ×-Ñ-¨cÈÐ-ÓN€GØ�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð8¸$Ô?ä×-Ñ-¨c¸'½-Ð.HÓI€GØ�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð8¸$Ô?ô ×-Ñ-¨c¯k©k«mØ5<Ø38ð .ó :€Gð �<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð8¸$Ô?ô ×'Ñ'¨Ó-€GØ�<‰<˜4ÔÐÐô ×-Ñ-¨cÓ2€GØ�}‰}˜WÓ,€HØ�=‰=˜EÔ!Ð!Ð!Ü�=Š=˜×.Ñ.Ó0¼¿¹ÔA€DÜ‡J�J×Ñ˜C¨­Ð6¸Ô=ô ×
Ñ
˜tÓ
$€CÜ�=Š=˜¤B§H¡HÔ-€DØˆ�GÜ×-Ñ-¨cÓ2€GØ�<‰<˜4ÔÐÐÜ�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜CÔ&ô ×-Ñ-¨cÈÐ-ÓN€GØ�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð6¸Ô=ä×-Ñ-Ø�	‰	˜ˆ	Ó/ó1€Gà�<‰<˜5Ô Ð Ð Ü�=Š=˜×-Ñ-Ó/´r·x±xÔ@€DÜ‡J�J×Ñ˜C¨­Ð6¸Ö=÷g 
$×	#Ð	#ús   Â+i9é9j
	c                 óh  € \         p\        V R R7      w  r#VP                  p\        P	                  WP                  P
                  ,          4      pV\        P                  ! WTR7      R&   VP                  V4      pVP                  VP                  8X  g   Q h\        P                  ! VP                  4       VR7      p\        P                  P                  W'4       VP                  V4      pVP                  VP                  8X  g   Q h\        P                  ! VP                  4       VR7      p\        P                  P                  W'4       \        P                  ! \        P                   RR7      ;_uu_ 4        VP                  \        P"                  ! R4      4       RRR4       \        P                  ! \        P                   RR7      ;_uu_ 4        VP                  \        P$                  ! . R	O4      4       RRR4       R#   + '       g   i     Lp; i  + '       g   i     R# ; i)
r   r@   r'   r?   z$buffer is not backed by a CudaBufferr   s   123Nz8cannot create device buffer view from .* 'numpy.ndarray')é   é   é   )r   rI   r(   r   r)   Úitemsizer*   r+   Úbuffer_from_objectr%   rR   r.   r/   r   r    r   ÚArrowTypeErrorÚ	py_bufferÚarray)r%   Úctxr1   Úcbufr(   ÚhbufÚcbuf2r3   s   &       r   Útest_context_from_objectrj   ú   s‘  € ä
€CÜ" 4°Ô9�I€CØ�I‰I€Eô ×Ñ §y¡y×'9Ñ'9Õ 9Ó:€DØ*-„B‡M‚M�$Ô$ QÑ'Ø×"Ñ" 4Ó(€EØ�:‰:˜Ÿ™Ô"Ð"Ð"Ü�=Š=˜×+Ñ+Ó-°UÔ;€DÜ‡J�J×Ñ˜CÔ&ð ×"Ñ" 5Ó)€EØ�:‰:˜Ÿ™Ô"Ð"Ð"Ü�=Š=˜×+Ñ+Ó-°UÔ;€DÜ‡J�J×Ñ˜CÔ&ô 
�Š”r×(Ñ(ØD÷
Gö 
Gà×ÑœrŸ|š|¨FÓ3Ô4÷
Gô
 
�Š”r×(Ñ(ð5÷
7ö 
7ð 	×ÑœrŸxšxª	Ó2Ô3÷
7ñ 
7÷
G÷ 
Gú÷

7÷ 
7ð 
7ús   Å?&HÇ(H ÈH	È H1	c                  ód  € \         p \        P                  ! \        P                  4      p^
p\        P                  W!P                  ,          4      p\        P                  ! V4      pV P                  VP                  VP                  V4      p\        P                  ! V4      V^,           8X  g   Q h?\        P                  ! V4      V8X  g   Q hV P                  VP                  VP                  V4      p?VP                  4        \        P                  W!P                  ,          4      pV P                  VP                  VP                  4      p?\        P                  ! \        P                   RR7      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)é
   zCuda error r   N)r   r*   r(   r,   r   r)   ra   ÚsysÚgetrefcountÚforeign_bufferÚaddressr%   rR   r   r    r   ÚArrowIOError)rf   r(   r%   rh   ÚrcÚfbufs         r   Útest_foreign_bufferrt     s4  € Ü
€CÜ�HŠH”R—X‘XÓ€EØ€DÜ×Ñ §~¡~Õ 5Ó6€Dô 
�Š˜Ó	€BØ×Ñ˜dŸl™l¨D¯I©I°tÓ<€DÜ�?Š?˜4Ó  B¨¥FÔ*Ð*Ð*ØÜ�?Š?˜4Ó  BÔ&Ð&Ð&ð ×Ñ˜dŸl™l¨D¯I©I°tÓ<€DØØ×ÑÔô ×Ñ §~¡~Õ 5Ó6€DØ×Ñ˜dŸl™l¨D¯I©IÓ6€DØÜ	�Š”r—‘Ø+÷
.ö 
.à×ÑÔ÷
.÷ 
.÷ 
.ò 
.ús   ÆFÆF/	c                 óx  € \        V 4      w  rVP                  4       VP                  4       8X  g   Q h\        P	                  V4      pVP
                  V 8X  g   Q hVP                  '       d   Q hVP                  4       VP                  4       8X  g   Q hV ^ 8”  d   VP                  ^ 8”  g   Q h\        V 4       F  pW4,          W,          8X  d   K  Q h	  \        R4      \        V ^,          V ^,          4      3 F4  pW5,          P                  4       W,          P                  4       8X  d   K4  Q h	  VP                  V ^,          V ^,          4      pVP                  V8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        P                  4        RRR4       R#   + '       g   i     R# ; i)r   Nz-Do not call CudaBuffer's constructor directlyr   )rI   rU   Ú
to_pybytesr   rQ   r%   r   rp   ÚrangerV   Úparentr   r    Ú	TypeErrorr   Ú
CudaBuffer)r%   r1   r0   rg   ÚiÚsÚsbufs   &      r   Útest_CudaBufferr~   5  s_  € ä! $Ó'�H€CØ�;‰;‹=˜CŸN™NÓ,Ô,Ð,Ð,Ü×*Ñ*¨3Ó/€DØ�9‰9˜ÔÐÐØ�{�{ˆ{Ðˆ?Ø�;‰;‹=˜DŸO™OÓ-Ô-Ð-Ð-Øˆa„xØ�|‰|˜aÔÐÐä�4Ž[ˆØ�w˜#�&Ö Ð Ð ñ ô �$‹KÜ�$˜•'˜4 �7Ó#óˆð �w×!Ñ!Ó# s¥v§~¡~Ó'7Ö7Ð7Ð7ñ	ð �:‰:�d˜A•g˜t Q�wÓ'€DØ�;‰;˜$ÔÐÐä	�Š”yØL÷
Nö 
Nä�‰Ô÷
N÷ 
N÷ 
Nò 
Nús   Æ	F(Æ(F9	c                 ó˜  € \        V 4      w  rVP                  4       VP                  4       8X  g   Q h\        P	                  V 4      pV\
        P                  ! V\
        P                  R 7      R&   VP                  V 8X  g   Q hVP                  '       g   Q hVP                  4       VP                  4       8X  g   Q h\        V 4       F  pW4,          W,          8X  d   K  Q h	  \        R4      \        V ^,          V ^,          4      3 F4  pW5,          P                  4       W,          P                  4       8X  d   K4  Q h	  VP                  V ^,          V ^,          4      pVP                  V8X  g   Q h?\        P                  ! \        RR7      ;_uu_ 4        \        P!                  4        RRR4       R#   + '       g   i     R# ; i)r'   r?   Nz-Do not call HostBuffer's constructor directlyr   )rI   rU   rv   r   r)   r*   r+   r,   r%   r   rw   rV   rx   r   r    ry   Ú
HostBuffer)r%   r1   r0   rh   r{   r|   r}   s   &      r   Útest_HostBufferr�   Q  sb  € ä! $Ó'�H€CØ�;‰;‹=˜CŸN™NÓ,Ô,Ð,Ð,Ü×Ñ Ó%€DØ-0„B‡M‚M�$œbŸh™hÔ'¨Ñ*Ø�9‰9˜ÔÐÐØ�;�;ˆ;Ðˆ;Ø�;‰;‹=˜DŸO™OÓ-Ô-Ð-Ð-Ü�4Ž[ˆØ�w˜#�&Ö Ð Ð ñ ô �$‹KÜ�$˜•'˜4 �7Ó#óˆð �w×!Ñ!Ó# s¥v§~¡~Ó'7Ö7Ð7Ð7ñ	ð �:‰:�d˜A•g˜t Q�wÓ'€DØ�;‰;˜$ÔÐÐàä	�Š”yØL÷
Nö 
Nä�‰Ô÷
N÷ 
N÷ 
Nò 
Nús   ÆF8Æ8G		c                 ó¤  € \         P                  ! R 4      pWP                  ,          p\        P                  ! VRR7      p\        V\        P                  4      '       g   Q h\        V\        P                  4      '       d   Q h\         P                  ! W1R7      pVP                  V 8X  g   Q h\        V 4      VR&   \         P                  ! W1R7      p\         P                  P                  WE4       \        P                  V4      p\        V\        P                  4      '       g   Q h\        V\        P                  4      '       g   Q hVP                  V8X  g   Q hVP                   '       d   Q hVP#                  V^ VR7       VP%                  ^ VR7      p\         P                  ! WqR7      p\         P                  P                  WH4       R# )Úuint16T)Ú	resizabler'   r?   rB   N)r*   r(   ra   r   rE   Ú
isinstanceÚBufferr   rz   r+   r%   rw   r.   r/   r   r8   r   rJ   rR   )	r%   ÚdtrD   r0   r1   rK   Údevice_bufferÚbuf2r3   s	   &        r   Útest_copy_from_to_hostrŠ   l  s]  € ô 
�Š�(Ó	€BØ—K‘KÕ€FÜ
×
Ò
˜V¨tÔ
4€CÜ�cœ2Ÿ9™9×%Ò%Ð%Ð%Ü˜#œtŸ™×/Ò/Ð/Ð/Ü
�-Š-˜Ô
&€CØ�8‰8�tÔÐÐÜ�4‹[€Cˆ�FÜ�=Š=˜Ô'€DÜ‡J�J×Ñ˜CÔ&ô #×-Ñ-¨fÓ5€MÜ�m¤T§_¡_×5Ò5Ð5Ð5Ü�m¤R§Y¡Y×/Ò/Ð/Ð/Ø×Ñ Ô'Ð'Ð'Ø×#×#Ð#Ð#Ð#Ø× Ñ  ¨q¸Ð Ô@ð ×%Ñ%¨q¸Ð%Ó@€DÜ�=Š=˜Ô(€DÜ‡J�J×Ñ˜CÖ&r   c           	      ó,
  € \        V R R7      w  rVP                  4       pVP                  '       g   Q h\        P                  P                  V\        P                  ! V\        P                  R7      4       VP                  V ^,          R7      pVP                  '       g   Q h\        P                  P                  W^,          R \        P                  ! V\        P                  R7      4       VP                  V ^,          V ^,          R7      pVP                  '       g   Q h\        P                  P                  W^,          V ^,          V ^,          ,            \        P                  ! V\        P                  R7      4       VP                  V ^,          ^ R7      pVP                  '       g   Q hVP                  ^ 8X  g   Q hV ^,           R3RV ^,           ^ 3R3 FD  w  rE\        P                  ! \        RR7      ;_uu_ 4        VP                  WER7       RRR4       KF  	  ^ V ^,           3V ^,          V ^,           ^,          ^,           3V ^33 FD  w  rE\        P                  ! \        RR7      ;_uu_ 4        VP                  WER7       RRR4       KF  	  \        P                  ! V ^,          4      pVP                  VR	7       \        P                  P                  VRV ^,           \        P                  ! V\        P                  R7      4       V ^8  d   R# VP                  V^R
7       \        P                  P                  V^^V ^,          ,            \        P                  ! V\        P                  R7      4       VP                  V^R7       \        P                  P                  VR,          \        P                  ! V\        P                  R7      R,          4       VP                  V^^R7       \        P                  P                  V^^ \        P                  ! V\        P                  R7      R,          4       ^ V ^
,           3^
V ^,
          3^ V ^,          3V ^,          V ^,          ^,           33 FE  w  rE\        P                  ! \        RR7      ;_uu_ 4        VP                  W4VR7       RRR4       KG  	  R#   + '       g   i     EK  ; i  + '       g   i     EK§  ; i  + '       g   i     K†  ; i)r   r@   r'   ©rC   NrB   ú!position argument is out-of-ranger   ú8requested more to copy than available from device buffer)r0   )r0   rC   )r0   rD   :Né   N)r0   rD   rC   z,requested copy does not fit into host buffer)r0   rC   rD   éÿÿÿÿ©éþÿÿÿr�   ©éýÿÿÿr   )rI   rR   r   r*   r.   r/   r+   r,   r%   r   r    r!   r   rE   )r%   r1   rL   r0   rC   rD   s   &     r   Útest_copy_to_hostr•   ˆ  s÷  € ä" 4°Ô9�I€Cà
×
Ñ
Ó
€CØ�:�:ˆ:Ðˆ:Ü‡J�J×Ñ˜C¤§¢¨s¼"¿(¹(Ô!CÔDà
×
Ñ
 T¨1¥WÐ
Ó
-€CØ�:�:ˆ:Ðˆ:Ü‡J�J×Ñ˜C a¥ ˜M¬2¯=ª=¸ÄBÇHÁHÔ+MÔNà
×
Ñ
 T¨1¥W°T¸1µWÐ
Ó
=€CØ�:�:ˆ:Ðˆ:Ü‡J�J×Ñ˜C a¥¨¨a­°°aµ­Ð8ÜŸMšM¨#´R·X±XÔ>ô@ð ×
Ñ
 T¨1¥W°QÐ
Ó
7€CØ�:�:ˆ:Ðˆ:Ø�8‰8�qŒ=Ðˆ=ð 
ˆa��ˆ�h  a¥¨ ¨WóÑˆô �]Š]œ:Ø!D÷Fö Fà×Ñ xÐÔ?÷Fñ Fñð 
ˆD��Fˆ�d˜A•g  Q¥¨�{¨1�}Ð-°°a¨yóÑˆô �]Š]œ:ð#B÷Dö Dð ×Ñ xÐÔ?÷Dñ Dñô ×
Ò
˜T 1�WÓ
%€CØ×Ñ˜#ÐÔÜ‡J�J×Ñ˜C   q¥˜M¬2¯=ª=¸ÄBÇHÁHÔ+MÔNàˆb„yÙà×Ñ˜#¨ÐÔ+Ü‡J�J×Ñ˜C  2 d¨A¥g¥:Ð.ÜŸMšM¨#´R·X±XÔ>ô@ð 	×Ñ˜# bÐÔ)Ü‡J�J×Ñ˜C �H¤b§m¢m°C¼r¿x¹xÔ&HÈÕ&MÔNà×Ñ˜# b°1ÐÔ5Ü‡J�J×Ñ˜C  $˜KÜŸMšM¨#´R·X±XÔ>¸sÕCôEð ��R•ˆL˜2˜t A�v˜,Ø��a•ˆL˜4 �7 D¨!¥G¨A¥IÐ.óÑˆô �]Š]œ:ð#9÷;ö ;ð ×Ñ #ÀÐÔH÷;ñ ;ó	÷=F÷ Fñ Fú÷D÷ Dñ Dú÷6;÷ ;ð ;ús$   ÈSÊS-Ò6TÓS*Ó-S?ÔTÚdest_ctxÚsameÚanotherc                 óþ  aa€ \        VR R7      w  poVP                  4       pV R8X  dC   \        p SP                  P                  V P                  8X  d   \
        P                  ! R4       MSP                  p V P                  V4      oVV3R lpV! 4       V8X  g   Q hV^8”  d‘   V! V^,          R7      VRV^,           VRV) ^,           ,           8X  g   Q hV! 4       V8X  g   Q hV! ^V^,          R7      VR,          VRV^,           ,           W1V^,          ,
          ^,
          ) R ,           8X  g   Q hV^,           R3RV^,           ^ 3R3 F;  w  rV\
        P                  ! \        R	R
7      ;_uu_ 4        V! WVR7       RRR4       K=  	  ^ V^,           33 F;  w  rV\
        P                  ! \        RR
7      ;_uu_ 4        V! WVR7       RRR4       K=  	  V^8  d   R# V^,          V^,           ^,          ^,           33 F;  w  rV\
        P                  ! \        RR
7      ;_uu_ 4        V! WVR7       RRR4       K=  	  R#   + '       g   i     EK  ; i  + '       g   i     KÐ  ; i  + '       g   i     K{  ; i)r   ©r%   rA   r˜   znot a multi-GPU systemc                  ó¸   <€ SP                   ! S.V O5/ VB  SP                  4       p\        P                  ! V\        P                  R 7      P                  4       # ©r'   )Úcopy_from_devicerR   r*   r+   r,   Útolist©ÚargsÚkwargsÚrbufr0   rL   s   *, €€r   ÚputÚ"test_copy_from_device.<locals>.putÕ  sG   ø€ Ø×Ò˜cÐ3 DÒ3¨FÒ3Ø× Ñ Ó"ˆÜ�}Š}˜T¬¯©Ô2×9Ñ9Ó;Ð;r   rŒ   NrB   ºNr^   Nr�   r   rŽ   ú6requested more to copy than available in device bufferr�   r‘   r“   )
rI   rž   r	   Úcontextr   r   Úskipr8   r    r!   )	r–   r%   r1   Úlstr£   rC   rD   r0   rL   s	   &&     @@r   Útest_copy_from_devicerª   È  s]  ù€ ô " t°HÔ=�H€CˆØ
�*‰*‹,€CØ�9ÔÜ"ˆØ�;‰;×$Ñ$¨×(>Ñ(>Ô>Ü�KŠKÐ0Ô1øà—;‘;ˆØ×Ñ˜tÓ$€Dö<ñ ‹5�CŒ<Ðˆ<Øˆa„xÙ˜D !�GÔ$¨¨H¨T°1­W¨°c¸)¸D¸5À!½8°nÕ(DÔDÐDÐDÙ‹u˜Œ|Ðˆ|Ù˜A d¨A¥gÔ.Ø��G�c˜(˜4 �7�mÕ# c°°qµ­L¸­NÐ*;Ð*<Ð&=Õ=ô>ð 	>ð >ð �!�V�RˆL˜( T¨!¥V¨Q K°óÑˆô �]Š]œ:Ø!D÷Fö Fá˜Õ1÷Fñ Fñð 
ˆD��FˆóÑˆô �]Š]œ:ð#B÷Dö Dñ ˜Õ1÷Dñ Dñð ˆa„xÙð 
ˆq��4˜•6˜A•+˜a•-Ð óÑˆô �]Š]œ:ð#@÷Bö Bñ ˜Õ1÷Bñ Bó÷F÷ Fñ Fú÷D÷ Dð Dú÷B÷ Bð Bús$   Å6
IÇ
IÈ*
I+ÉIÉI(É+I<c                 ó\  aa€ \        V R R7      w  poVP                  4       p\        P                  V 4      oVV3R lpV! 4       V8X  g   Q hV ^8”  d‘   V! V ^,          R7      VRV ^,           VRV ) ^,           ,           8X  g   Q hV! 4       V8X  g   Q hV! ^V ^,          R7      VR,          VRV ^,           ,           W V ^,          ,
          ^,
          ) R ,           8X  g   Q hV ^,           R3RV ^,           ^ 3R3 F;  w  rE\        P
                  ! \        RR7      ;_uu_ 4        V! WER7       RRR4       K=  	  ^ V ^,           33 F;  w  rE\        P
                  ! \        R	R7      ;_uu_ 4        V! WER7       RRR4       K=  	  V ^8  d   R# V ^,          V ^,           ^,          ^,           33 F;  w  rE\        P
                  ! \        R
R7      ;_uu_ 4        V! WER7       RRR4       K=  	  R#   + '       g   i     EK  ; i  + '       g   i     KÐ  ; i  + '       g   i     K{  ; i)r<   rš   c                  ó¸   <€ SP                   ! S.V O5/ VB  SP                  4       p\        P                  ! V\        P                  R 7      P                  4       # rœ   )rJ   rR   r*   r+   r,   rž   rŸ   s   *, €€r   r£   Ú test_copy_from_host.<locals>.put  sG   ø€ Ø×Ò˜CÐ1 $Ò1¨&Ò1Ø× Ñ Ó"ˆÜ�}Š}˜T¬¯©Ô2×9Ñ9Ó;Ð;r   rŒ   NrB   r¥   r�   r   z6requested more to copy than available from host bufferr¦   r�   r‘   r“   )rI   rž   r   r8   r   r    r!   )r%   r1   r©   r£   rC   rD   r0   rL   s   &     @@r   Útest_copy_from_hostr®   û  s  ù€ ä! t°FÔ;�H€CˆØ
�*‰*‹,€CÜ×$Ñ$ TÓ*€Dö<ñ ‹5�CŒ<Ðˆ<Øˆa„xÙ˜D !�GÔ$¨¨H¨T°1­W¨°c¸)¸D¸5À!½8°nÕ(DÔDÐDÐDÙ‹u˜Œ|Ðˆ|Ù˜A d¨A¥gÔ.Ø��G�c˜(˜4 �7�mÕ# c°°qµ­L¸­NÐ*;Ð*<Ð&=Õ=ô>ð 	>ð >ð �!�V�RˆL˜( T¨!¥V¨Q K°óÑˆô �]Š]œ:Ø!D÷Fö Fá˜Õ1÷Fñ Fñð 
ˆD��FˆóÑˆô �]Š]œ:ð#@÷Bö Bñ ˜Õ1÷Bñ Bñð ˆa„xÙð 
ˆq��4˜•6˜A•+˜a•-Ð óÑˆô �]Š]œ:ð#@÷Bö Bñ ˜Õ1÷Bñ Bó÷F÷ Fñ Fú÷B÷ Bð Bú÷B÷ Bð Bús$   Ä%
G1Å0
HÇ
HÇ1HÈHÈH+c                  óP  € \         P                  ^
4      p V P                  \        P                  P
                  8X  g   Q h\        V P                  \        P                  4      '       g   Q h\        V P                  \        P                  4      '       g   Q hV P                  '       g   Q hV P                  P                  '       g   Q hV P                  \        P                  ! 4       P                  8X  g   Q hV P                  P                  '       g   Q h\        ^
RR7      w  rV P                  \        P                  P                  8X  g   Q h\        V P                  \        P                  4      '       g   Q hV P                  \        P                  P                  8X  g   Q h\        V P                  \        P                  4      '       g   Q hV P                  '       d   Q hV P                  P                  '       d   Q hV P                  P                  '       d   Q hR# )rl   r   rš   N)r   r)   r   r   r   Ú	CUDA_HOSTr…   r   ÚDevicer   ÚMemoryManagerr   Údefault_cpu_memory_managerrI   r   r   )r0   Ú_s     r   Útest_buffer_devicerµ   '  sŒ  € Ü
×
Ñ
˜rÓ
"€CØ�?‰?œb×5Ñ5×?Ñ?Ô?Ð?Ð?Ü�c—j‘j¤"§)¡)×,Ò,Ð,Ð,Ü�c×(Ñ(¬"×*:Ñ*:×;Ò;Ð;Ð;Ø�:�:ˆ:Ðˆ:Ø�:‰:××ÐÐÐØ�:‰:œ×6Ò6Ó8×?Ñ?Ô?Ð?Ð?ð ×Ñ×$×$Ð$Ð$Ð$ä R°Ô9�F€AØ�?‰?œb×5Ñ5×:Ñ:Ô:Ð:Ð:Ü�c—j‘j¤"§)¡)×,Ò,Ð,Ð,Ø�:‰:œ×6Ñ6×=Ñ=Ô=Ð=Ð=Ü�c×(Ñ(¬"×*:Ñ*:×;Ò;Ð;Ð;Ø�z�zˆzÐˆ>Ø�z‰z× × Ð Ð Ð Ø×!Ñ!×(×(Ð(Ð(Ð(Ñ(r   c                  óð  a€ R  oRV3R llp R	Rr!V ! W4       V ! WV^,          4       S! ^d4      w  r4VP                  \        P                  ! ^d\        P                  R7      4       VP	                  ^2\        P                  ! ^\        P                  R7      4       VP                  \        P                  ! ^\        P                  R7      4       VP                  4        \        P                  ! VP                  4       \        P                  4      p\        P                  P                  VR,          \        P                  ! ^2\        P                  R7      4       \        P                  P                  VR,          \        P                  ! ^\        P                  R7      4       \        P                  P                  VR,          \        P                  ! ^\        P                  R7      4       R# )
c                 ó\   € \         P                  V 4      p\        P                  V4      pW3# r   )r   r8   r   ÚBufferWriter)r%   rg   Úwriters   &  r   ÚallocateÚ#test_BufferWriter.<locals>.allocate>  s*   € Ü×(Ñ(¨Ó.ˆÜ×"Ñ" 4Ó(ˆØˆ|Ðr   c                 óN  <€ S! V 4      w  r4\        V R R7      w  rVV^ 8”  d   W$n        VP                  4       pV^ 8X  g   Q hVP                  VP	                  VR7      4       VP                  4       V8X  g   Q hVP                  ^ 4       VP                  4       pV^ 8X  g   Q hWp8  d>   \        WV,
          4      pVP                  VP	                  WxR7      4       Wx,          pKC  VP                  4        VP                  V 8X  g   Q hVP                  P                  4        VP                  4       p	VP                  P                  4        V	P                  V 8X  g   Q h\        P                  ! V	\        P                  R7      p
\        P                  P!                  WZ4       R# )r<   rš   ©rP   rO   r'   N)rI   Úbuffer_sizeÚtellÚwriterV   ÚseekÚminÚflushr%   r§   ÚsynchronizerR   r*   r+   r,   r.   r/   )Ú
total_sizeÚ	chunksizer¾   rg   r¹   r1   r0   rC   Úbytes_to_writer‰   r3   rº   s   &&&        €r   Útest_writesÚ&test_BufferWriter.<locals>.test_writesC  sC  ø€ Ù 
Ó+‰ˆÜ%¨:¸fÔE‰ˆà˜Œ?Ø!,Ôà—;‘;“=ˆØ˜1Œ}Ðˆ}Ø�‰�S—Y‘Y i�YÓ0Ô1Ø�{‰{‹} 	Ô)Ð)Ð)Ø�‰�AŒØ—;‘;“=ˆØ˜1Œ}Ðˆ}àÔ#Ü  ¸Õ,AÓBˆNØ�L‰L˜Ÿ™¨(˜ÓJÔKØÕ&ŠHà�‰ŒØ�y‰y˜JÔ&Ð&Ð&Ø�‰× Ñ Ô"Ø× Ñ Ó"ˆØ�‰× Ñ Ô"Ø�y‰y˜JÔ&Ð&Ð&Ü�}Š}˜T¬¯©Ô2ˆÜ
�
‰
×Ñ Ö*r   éè  r'   :Né2   N:rË   éK   N:rÌ   NNN)r   i   )
rÀ   r*   Úaranger,   ÚwriteatrÃ   r+   rR   r.   r/   )rÈ   rÅ   Ú
chunk_sizerg   r¹   r1   rº   s         @r   Útest_BufferWriterrÐ   =  s&  ø€ ò÷
+ð: % d�
Ù�
Ô'Ù�
¨
°bÕ(8Ô9á˜C“=�L€DØ
‡L�L”—’˜3¤b§h¡hÔ/Ô0Ø
‡N�N�2”r—y’y ¬2¯8©8Ô4Ô5Ø
‡L�L”—’˜2¤R§X¡XÔ.Ô/Ø
‡L�L„Nä
�-Š-˜×)Ñ)Ó+¬R¯X©XÓ
6€CÜ‡J�J×Ñ˜C �H¤b§i¢i°¼"¿(¹(Ô&CÔDÜ‡J�J×Ñ˜C �J¬¯	ª	°"¼B¿H¹HÔ(EÔFÜ‡J�J×Ñ˜C �H¤b§i¢i°¼"¿(¹(Ô&CÖDr   c                  ó.  € R p \         P                  V 4      p\        P                  V4      p\	        V RR7      w  r4VP
                  ^ 8X  g   Q h^dVn        VP
                  ^d8X  g   Q hVP                  VP                  ^ R7      4       VP                  4       ^ 8X  g   Q hVP                  VP                  ^
R7      4       ^ÈVn        VP
                  ^È8X  g   Q hVP                  ^ 8X  g   Q hVP                  VP                  ^
RR7      4       VP                  ^ 8X  g   Q hVP                  VP                  R^ÈR7      4       VP                  ^ 8X  g   Q hVP                  VP                  RRR7      4       VP                  VP                  R	^dR7      4       VP                  4        VP                  4       pVP                  V 8X  g   Q h\        P                  ! V\        P                  R
7      p\        P                   P#                  W64       R# )rÊ   r<   rš   r½   i,  rO   i6  iþ  i†  i„  r'   N)r   r8   r   r¸   rI   r¾   rÀ   rV   r¿   Únum_bytes_bufferedrÃ   rR   r%   r*   r+   r,   r.   r/   )r%   rg   r¹   r1   r0   r‰   r3   s          r   Útest_BufferWriter_edge_casesrÓ   p  s²  € à€DÜ×$Ñ$ TÓ*€DÜ×Ñ˜tÓ$€FÜ! t°FÔ;�H€Cà×Ñ Ô"Ð"Ð"Ø€FÔØ×Ñ Ô$Ð$Ð$à
‡L�L�—‘ !�Ó$Ô%Ø�;‰;‹=˜AÔÐÐà
‡L�L�—‘ "�Ó%Ô&Ø€FÔØ×Ñ Ô$Ð$Ð$Ø×$Ñ$¨Ô)Ð)Ð)à
‡L�L�—‘ "¨S�Ó1Ô2Ø×$Ñ$¨Ô)Ð)Ð)à
‡L�L�—‘ #¨c�Ó2Ô3Ø×$Ñ$¨Ô)Ð)Ð)à
‡L�L�—‘ #¨c�Ó2Ô3Ø
‡L�L�—‘ #¨c�Ó2Ô3à
‡L�L„Nà×ÑÓ€DØ�9‰9˜ÔÐÐÜ�=Š=˜¤R§X¡XÔ.€DÜ‡J�J×Ñ˜CÖ&r   c                  óX  € R p \        V RR7      w  r\        P                  V4      pVP                  R4       VP	                  4       R8X  g   Q hVP                  ^d4      p\        V4      ^28X  g   Q hVP	                  4       R 8X  g   Q hVP                  R4       \        P                  ! ^d\        P                  R7      pVP                  V4      pV^K8X  g   Q hVP	                  4       R 8X  g   Q h\        P                  P                  VR,          VR,          4       VP                  ^ 4       VP	                  4       ^ 8X  g   Q hVP                  4       p\        P                  ! VP                  4       \        P                  R7      p\        P                  P                  W4       R# )	rÊ   r   rš   i¶  i�  r'   :i�  NN:NrÌ   NN)rI   r   ÚBufferReaderrÁ   r¿   ÚreadÚlenr*   Úzerosr,   Úreadintor.   r/   Úread_bufferr+   rR   )r%   r1   rg   ÚreaderÚdatar3   Únr‰   s           r   Útest_BufferReaderrÞ   ”  s<  € Ø€DÜ"¨°XÔ>�I€Cä×Ñ˜tÓ$€FØ
‡K�K�ÔØ�;‰;‹=˜CÔÐÐà�;‰;�sÓ€DÜˆt‹9˜Œ?Ðˆ?Ø�;‰;‹=˜DÔ Ð Ð à
‡K�K�ÔÜ�8Š8�CœrŸx™xÔ(€DØ�‰˜Ó€AØ�Œ7€Nˆ7Ø�;‰;‹=˜DÔ Ð Ð Ü‡J�J×Ñ˜C �I t¨C¥yÔ1à
‡K�K�„NØ�;‰;‹=˜AÔÐÐØ×ÑÓ€DÜ�=Š=˜×*Ñ*Ó,´B·H±HÔ=€DÜ‡J�J×Ñ˜CÖ&r   c                  ó¨  € \        ^ RR7      w  r\        P                  V4      pVP                  ^ 4       VP	                  4       p\        V4      ^ 8X  g   Q hVP                  4       ^ 8X  g   Q hVP                  4       p\        P                  ! VP                  4       \        P                  R7      p\        P                  P                  W4       R# )r   r   rš   r'   N)rI   r   rÕ   rÁ   rÖ   r×   r¿   rÚ   r*   r+   rR   r,   r.   r/   )r1   rg   rÛ   rÜ   r‰   r3   s         r   Útest_BufferReader_zero_sizerà   ®  s—   € Ü"¨°(Ô;�I€CÜ×Ñ˜tÓ$€FØ
‡K�K�„NØ�;‰;‹=€DÜˆt‹9˜Œ>Ðˆ>Ø�;‰;‹=˜AÔÐÐØ×ÑÓ€DÜ�=Š=˜×*Ñ*Ó,´B·H±HÔ=€DÜ‡J�J×Ñ˜CÖ&r   c           	      ó  € \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      .4      p\         P                  ! \
        P                  P                  ^ ^ÿV \
        P                  R7      4      p\         P                  ! \
        P                  P                  ^ ^ÿV \
        P                  R7      4      p\         P                  ! W#.VR7      pV# )Úf0Úf1)r%   r(   ©Úschema)	r   rå   ÚfieldÚint16re   r*   rF   rG   Úrecord_batch)rP   rå   Úa0Úa1Úbatchs   &    r   Úmake_recordbatchrì   º  s§   € Ü�YŠYœŸš ¤r§x¢x£zÓ2ÜŸš ¤r§x¢x£zÓ2ð4ó 5€Fä	�Š”"—)‘)×#Ñ# A s°¼r¿x¹xÐ#ÓHÓ	I€BÜ	�Š”"—)‘)×#Ñ# A s°¼r¿x¹xÐ#ÓHÓ	I€BÜ�OŠO˜R˜H¨VÔ4€EØ€Lr   c                  ó¦  € \        ^
4      p V P                  4       p\        P                  V \        4      p\        P                  W P                  4      p\        V\        P                  4      '       g   Q hV P                  VP                  8X  g   Q hV P                  VP                  8X  g   Q hV P                  VP                  8X  g   Q hVP                  4       pVP                  V4      '       g   Q h\        P                  P                  W@P                  4      pVP                  VP                  4       4      '       g   Q hV P                  VP                  8X  g   Q hV P                  VP                  8X  g   Q hV P                  ^ 4      P                  VP                  ^ 4      4      '       g   Q hV P                  V4      '       g   Q hR# ©rl   N)rì   Ú	serializer   Úserialize_record_batchr   Úread_record_batchrå   r…   r   ÚRecordBatchÚnum_columnsÚnum_rowsrR   ÚequalsÚipcÚcolumn)rë   rh   rg   Úcbatchr0   Úbatch2s         r   Útest_batch_serializerú   Ã  se  € Ü˜RÓ €EØ�?‰?Ó€DÜ×&Ñ& u¬nÓ=€Dô ×#Ñ# D¯,©,Ó7€FÜ�fœbŸn™n×-Ò-Ð-Ð-Ø�<‰<˜6Ÿ=™=Ô(Ð(Ð(Ø×Ñ × 2Ñ 2Ô2Ð2Ð2Ø�>‰>˜VŸ_™_Ô,Ð,Ð,ð ×
Ñ
Ó
€CØ�;‰;�s×ÒÐÐÜ�V‰V×%Ñ% c¯<©<Ó8€FØ�;‰;�v×'Ñ'Ó)×*Ò*Ð*Ð*à×Ñ × 2Ñ 2Ô2Ð2Ð2Ø�>‰>˜VŸ_™_Ô,Ð,Ð,Ø�<‰<˜‹?×!Ñ! &§-¡-°Ó"2×3Ò3Ð3Ð3Ø�<‰<˜×ÒÐÒr   c            	      ó¦  € \         P                  ! . R
O\         P                  ! 4       R7      p \         P                  ! ^ ^.^.. R.\         P                  ! \         P                  ! 4       4      R7      p\         P                  ! . RO\         P
                  ! R\         P                  ! 4       3R\         P                  ! 4       3.4      R7      p\         P                  P                  . RO\         P                  ! RR.4      R7      p\         P                  P                  . ROVR7      p\         P                  P                  . ROVR7      pWW#WE.p\         P                  ! \        V4       UUu. uF  w  rxRV 2VP                  3NK  	  upp4      p	\         P                  ! WiR	7      p
\         P                  P                  V
.4      pV# u uppi )r   N©ÚtypeÚstrsÚboolsÚfooÚbar)ÚindicesÚ
dictionaryÚfrä   )r   r^   é*   N))ÚabT)ÚcdeF)NNN)r   r^   r^   N)r_   r^   r_   N)r_   r^   r   N)r   re   rç   Úlist_Úint32ÚstructÚutf8Úbool_ÚDictionaryArrayÚfrom_arraysrå   Ú	enumeraterý   rè   ÚTableÚfrom_batches)ré   rê   Úa2Úa3Úa4Úa5Úarraysr{   r1   rå   rë   Útables               r   Ú
make_tabler  Û  sw  € Ü	�ŠÒ"¬¯ª«Ô	4€BÜ	�Š�A�q�6˜A˜3  DÐ)´·²¼¿º»Ó0DÔ	E€BÜ	�ŠÒDÜ—y’y 6¬2¯7ª7«9Ð"5Ø#*¬B¯HªH«JÐ"7ð"9ó :ô
;€Bô
 
×	Ñ	×	'Ñ	'ÚÜ—8’8˜U E˜NÓ+ð 
(ó 
-€Bô 
×	Ñ	×	'Ñ	'ÚØð 
(ó 
€Bô 
×	Ñ	×	'Ñ	'ÚØð 
(ó 
€Bð �b˜bÐ%€FÜ�YŠYä Ô'ôá'‰FˆAð ˆQˆCˆ�#—(‘(ÓÙ'òó €Fô �OŠO˜FÔ2€EÜ�H‰H×!Ñ! 5 'Ó*€EØ€Lùós   Å0G
c                  ó\  € \        4       p \        P                  ! 4       p\        P                  P	                  WP
                  4      ;_uu_ 4       pVP                  V 4       R R R 4       \        P                  ! VP                  4       P                  4       4      p\        P                  \        V4      4      pVP                  V\        V4      R7       \        P                  P                  \        P!                  V4      4      P#                  4       pW0WE3#   + '       g   i     LÀ; i)N)rD   )r  r   ÚBufferOutputStreamrö   Ú
new_streamrå   Úwrite_tablerd   Úgetvaluerv   r   r8   r×   rJ   Úopen_streamr   rÕ   Úread_all)ÚhtableÚsinkÚoutrh   rL   Údtables         r   Úmake_table_cudar$  ÷  sÉ   € Ü‹\€Fä× Ò Ó"€DÜ	�‰×	Ñ	˜4§¡×	/Ô	/°3Ø�‰˜Ô÷ 
0ä�<Š<˜Ÿ™›×2Ñ2Ó4Ó5€Dô ×$Ñ$¤S¨£YÓ/€DØ×Ñ˜¤S¨£YÐÔ/ä�V‰V×Ñ¤× 1Ñ 1°$Ó 7Ó8×AÑAÓC€FØ˜Ð%Ð%÷ 
0×	/ús   ÁDÄD+	c                  óÀ  € \        4       w  rr#VP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hV P	                  VP                  4       4      '       g   Q hVP	                  \        P                  P                  VP                  4       4      P                  4       4      '       g   Q hR # r   )
r$  rå   rô   ró   rõ   rR   r   rö   r  r  )rh   r   rL   r#  s       r   Útest_table_deserializer&    s´   € ô "1Ó!2Ñ€D�$à�=‰=˜FŸM™MÔ)Ð)Ð)Ø�?‰?˜fŸo™oÔ-Ð-Ð-Ø×Ñ ×!3Ñ!3Ô3Ð3Ð3à�;‰;�t×(Ñ(Ó*×+Ò+Ð+Ð+à�=‰=œŸ™×+Ñ+Ø×ÑÓóç�hƒj÷ò ð ò r   c                  ó(  € \        4       w  rr#\        P                  P                  VP                  VP
                  4      pVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hV P                  VP                  4       4      '       g   Q hVP                  \        P                  P                  VP                  4       4      P                  4       4      '       g   Q hR # r   )r$  r   r  r  ÚcolumnsÚcolumn_namesrå   rô   ró   rõ   rR   rö   r  r  )rh   r   rL   r#  Údtable2s        r   Ú%test_create_table_with_device_buffersr+    sÖ   € ô "1Ó!2Ñ€D�$ä�h‰h×"Ñ" 6§>¡>°6×3FÑ3FÓG€Gà�=‰=˜GŸN™NÔ*Ð*Ð*Ø�?‰?˜g×.Ñ.Ô.Ð.Ð.Ø×Ñ ×!4Ñ!4Ô4Ð4Ð4à�;‰;�t×(Ñ(Ó*×+Ò+Ð+Ð+à�=‰=œŸ™×+Ñ+Ø×ÑÓóç�hƒj÷ò ð ò r   c                 ó  € \         P                  P                  ^ 4      p\         P                  P                  P	                  V 4      pVP                  V4      pVP                  P                  4        VP                  4       pVP                  VP                  8X  g'   Q \        VP                  VP                  34      4       h\        P                  ! WQP                  R7      p\        P                  P                  Wa4       R# )r   r'   N)r   r   r   ÚIpcMemHandleÚfrom_bufferÚopen_ipc_bufferr§   rÄ   rR   r%   r   r*   r+   r(   r.   r/   )Úhandle_bufferÚexpected_arrÚother_contextÚ
ipc_handleÚipc_bufr0   r1   s   &&     r   Úother_process_for_test_IPCr5  )  s³   € Ü—G‘G—O‘O AÓ&€MÜ—‘×%Ñ%×1Ñ1°-Ó@€JØ×+Ñ+¨JÓ7€GØ‡O�O×ÑÔ!Ø
×
Ñ
Ó
 €CØ�8‰8�|×(Ñ(Ô(ÐM¬$°·±¸,×:KÑ:KÐ/LÓ*MÓMÐ(Ü
�-Š-˜×#5Ñ#5Ô
6€CÜ‡J�J×Ñ˜CÖ.r   c                 ó$  € ^ RI pVP                  R4      p\        V RR7      w  r4VP                  4       pVP	                  4       pVP                  \        Wc3R7      pVP                  4        VP                  4        VP                  ^ 8X  g   Q hR# )r   NÚspawnr   rš   )rA   r    )
ÚmultiprocessingÚget_contextrI   Úexport_for_ipcrï   ÚProcessr5  ÚstartÚjoinÚexitcode)r%   r8  rf   r1   rg   r3  r0  Úps   &       r   Útest_IPCr@  4  s   € ó Ø
×
%Ñ
% gÓ
.€CÜ"¨°XÔ>�I€CØ×$Ñ$Ó&€JØ×(Ñ(Ó*€MØ�‰Ô5Ø'Ð-ð 	ó 	/€Aà‡G�G„IØ‡F�F„HØ�:‰:˜Œ?ÐŠ?r   c                  ó*  € \        ^
RR7      w  rVP                  pW"P                  3 EFå  p\        P                  ! . RO4      pVP                  V4      pVP                  4       ^,          P                  '       d   Q hVP                  4       ^,          P                  \        P                  P                  8X  g   Q hVP                  4       ^,          P                  VP                  8X  g   Q hVP                  \        P                  ! 4       4      pVP                  V4      '       g   Q h\        P                  ! RV/4      pVP                  V4      pVR,          P                  4       ^,          p	V	P                  '       d   Q hV	P                  \        P                  P                  8X  g   Q hV	P                  VP                  8X  g   Q hVP                  \        P                  ! 4       4      p
V
P                  V4      '       d   EKæ  Q h	  R# )rl   r   rš   ÚcolN)r   r^   r_   )rI   r   r   r   re   Úcopy_toÚbuffersr   r   r   r   r³   rõ   rè   )r´   r0   Úmm_cudaÚdestr1   Úarr_cudaÚarr_roundtriprë   Ú
batch_cudaÚbuf_cudaÚbatch_roundtrips              r   Útest_copy_torL  C  s™  € Ü R°Ô9�F€AØ× Ñ €GàŸ.™.Ô)ˆÜ�hŠh’yÓ!ˆØ—;‘;˜tÓ$ˆØ×#Ñ#Ó% aÕ(×/×/Ð/Ð/Ð/Ø×ÑÓ! !Õ$×0Ñ0´B×4KÑ4K×4PÑ4PÔPÐPÐPØ×ÑÓ! !Õ$×+Ñ+¨w¯~©~Ô=Ð=Ð=à ×(Ñ(¬×)FÒ)FÓ)HÓIˆØ×#Ñ# C×(Ò(Ð(Ð(ä—’ ¨ Ó-ˆØ—]‘] 4Ó(ˆ
Ø˜eÕ$×,Ñ,Ó.¨qÕ1ˆØ—?—?�?Ð"Ð"Ø×#Ñ#¤r×'>Ñ'>×'CÑ'CÔCÐCÐCØ�‰ '§.¡.Ô0Ð0Ð0à$×,Ñ,¬R×-JÒ-JÓ-LÓMˆØ×%Ñ% e×,Õ,Ð,Ð,ó% *r   c                  óÆ  € \         P                  ! R 4      p V P                  pVP                  R4      p\	        VP                  RV4      4      pVP                  R4      p\	        VP                  RV4      4      p\        P                  ! \        P                  ! 4       4      p\        P                  ! ^.^^*..VR7      p\        ^
RR7      w  r‰V	P                  p
VP                  V
4      pVP                  V4       VP                  ^8X  g   Q hVP                  \         P"                  8X  g   Q hVP                  P$                  ^8X  g   Q h?\        P&                  P)                  WV4      pVP*                  \        P                  ! \        P                  ! 4       4      8X  g   Q hVP                  \        P,                  ! 4       4      pVP/                  V4      '       g   Q h?\         P0                  ! \2        RR7      ;_uu_ 4        \        P&                  P)                  WV4       R	R	R	4       VP                  V
4      pVP                  WS4       ?\        P&                  P)                  WS4      pVP*                  \        P                  ! \        P                  ! 4       4      8X  g   Q hVP                  \        P,                  ! 4       4      pVP/                  V4      '       g   Q h?\         P0                  ! \2        R
R7      ;_uu_ 4        \        P&                  P)                  WS4       R	R	R	4       R	#   + '       g   i     EL; i  + '       g   i     R	# ; i)úpyarrow.cffiústruct ArrowSchema*Ú	uintptr_tústruct ArrowDeviceArray*rü   r   rš   ú!Cannot import released ArrowArrayr   Nú"Cannot import released ArrowSchema)r   ÚimportorskipÚffiÚnewÚintÚcastr   r  r	  re   rI   r   rC  Ú_export_to_c_devicer   r   r   r   rP   ÚArrayÚ_import_from_c_devicerý   r³   rõ   r    r!   )ÚcffirU  Úc_schemaÚ
ptr_schemaÚc_arrayÚ	ptr_arrayÚtypr1   r´   r0   rE  ÚcarrÚcarr_newÚarr_news                 r   Útest_device_interface_arrayre  \  su  € Ü×Ò˜~Ó.€DØ
�(‰(€Cà�w‰wÐ,Ó-€HÜ�S—X‘X˜k¨8Ó4Ó5€JØ�g‰gÐ0Ó1€GÜ�C—H‘H˜[¨'Ó2Ó3€Iä
�(Š(”2—8’8“:Ó
€CÜ
�(Š(�Q�C˜!˜R˜�>¨Ô
,€Cô   R°Ô9�F€AØ× Ñ €GØ�;‰;�wÓ€Dð 	×Ñ˜YÔ'ð ×Ñ !Ô#Ð#Ð#Ø×Ñ¤× <Ñ <Ô<Ð<Ð<Ø�=‰=×Ñ 1Ô$Ð$Ð$ð 	Ü�x‰x×-Ñ-¨iÓ=€HØ�=‰=œBŸHšH¤R§X¢X£ZÓ0Ô0Ð0Ð0Ø×Ñœr×<Ò<Ó>Ó?€GØ�>‰>˜#×ÒÐÐàä	�Š”zÐ)L×	MÖ	MÜ
�‰×&Ñ& yÔ6÷ 
Nð �;‰;�wÓ€DØ×Ñ˜YÔ3àÜ�x‰x×-Ñ-¨iÓD€HØ�=‰=œBŸHšH¤R§X¢X£ZÓ0Ô0Ð0Ð0Ø×Ñœr×<Ò<Ó>Ó?€GØ�>‰>˜#×ÒÐÐàä	�Š”zÐ)M×	NÖ	NÜ
�‰×&Ñ& yÔ=÷ 
OÑ	N÷ 
N×	MÐ	Mú÷ 
O×	NÐ	Nús   È L;Ì MÌ;M	ÍM 	c                  óà  € \         P                  ! R 4      p V P                  pVP                  R4      p\	        VP                  RV4      4      pVP                  R4      p\	        VP                  RV4      4      p\        ^
4      pVP                  p\        P                  V\        4      p\        P                  W‡4      p	V	P                  V4       VP                  ^8X  g   Q hVP                  \        P                  8X  g   Q hVP                   P"                  ^
8X  g   Q h?	\$        P&                  P)                  WW4      p
V
P                  V8X  g   Q hV
P+                  \$        P,                  ! 4       4      pVP/                  V4      '       g   Q h?
\         P0                  ! \2        RR7      ;_uu_ 4        \$        P&                  P)                  WW4       RRR4       \        P                  W‡4      p	V	P                  WS4       ?	\$        P&                  P)                  WS4      p
V
P                  V8X  g   Q hV
P+                  \$        P,                  ! 4       4      pVP/                  V4      '       g   Q h?
\         P0                  ! \2        RR7      ;_uu_ 4        \$        P&                  P)                  WS4       RRR4       \$        P4                  ! 4       P7                  V4       \         P0                  ! \2        RR7      ;_uu_ 4        \$        P&                  P)                  WS4       RRR4       R#   + '       g   i     ELf; i  + '       g   i     L–; i  + '       g   i     R# ; i)	rN  rO  rP  rQ  rR  r   NrS  z%ArrowSchema describes non-struct type)r   rT  rU  rV  rW  rX  rì   rå   r   rð   r   rñ   rY  r   r   r   re   rP   r   rò   r[  rC  r³   rõ   r    r!   r	  Ú_export_to_c)r\  rU  r]  r^  r_  r`  rë   rå   rg   rø   Ú
cbatch_newÚ	batch_news               r   Ú!test_device_interface_batch_arrayrj  ‘  s˜  € Ü×Ò˜~Ó.€DØ
�(‰(€Cà�w‰wÐ,Ó-€HÜ�S—X‘X˜k¨8Ó4Ó5€JØ�g‰gÐ0Ó1€GÜ�C—H‘H˜[¨'Ó2Ó3€Iä˜RÓ €EØ�\‰\€FÜ×&Ñ& u¬nÓ=€DÜ×#Ñ# DÓ1€Fð ×Ñ˜yÔ)ð ×Ñ !Ô#Ð#Ð#Ø×Ñ¤× <Ñ <Ô<Ð<Ð<Ø�=‰=×Ñ 2Ô%Ð%Ð%ð 	Ü—‘×5Ñ5°iÓH€JØ×Ñ Ô&Ð&Ð&Ø×"Ñ"¤2×#@Ò#@Ó#BÓC€IØ×Ñ˜E×"Ò"Ð"Ð"àä	�Š”zÐ)L×	MÖ	MÜ
�‰×,Ñ,¨YÔ?÷ 
Nô ×#Ñ# DÓ1€FØ
×Ñ˜yÔ5àÜ—‘×5Ñ5°iÓL€JØ×Ñ Ô&Ð&Ð&Ø×"Ñ"¤2×#@Ò#@Ó#BÓC€IØ×Ñ˜E×"Ò"Ð"Ð"àä	�Š”zÐ)M×	NÖ	NÜ
�‰×,Ñ,¨YÔC÷ 
Oô ‡H‚HƒJ×Ñ˜JÔ'Ü	�Š”zØD÷
Fö 
Fä
�‰×,Ñ,¨YÔC÷
Fñ 
F÷) 
N×	MÐ	Mú÷ 
O×	Nú÷

F÷ 
Fð 
Fús$   Æ8 L5Ê M	Ì MÌ5M	Í	M	ÍM-	c                  óÊ  € \        ^
4      p \        P                  V \        4      p\        P	                  WP
                  4      pV R,          pVR,          p\        V4      \        V4      8X  g   Q h\        ^d4      p \        P                  V \        4      p\        P	                  WP
                  4      pV R,          pVR,          p\        V4      \        V4      8X  g   Q hR# )rl   râ   N©rì   r   rð   r   rñ   rå   Ústr)rë   rg   rø   r1   rb  s        r   Útest_print_arrayrn  É  s²   € Ü˜RÓ €EÜ×&Ñ& u¬nÓ=€DÜ×#Ñ# D¯,©,Ó7€FØ
��+€CØ�$�<€DÜˆt‹9œ˜C›Ô Ð Ð ä˜SÓ!€EÜ×&Ñ& u¬nÓ=€DÜ×#Ñ# D¯,©,Ó7€FØ
��+€CØ�$�<€DÜˆt‹9œ˜C›Ô Ð Ò r   c                 ó®  € \         P                  V ^,          4      p\        P                  ! V\        P                  R7      p\        V 4      VR&   \        P                  ! \        V 4      \        P                  ! 4       4      p\        P                  P                  \        P                  ! 4       V RV.4      p\        V4      \        V4      8X  g   Q hR# )é   r'   r?   N)r   r)   r*   r+   Úint64rw   r   re   rZ  Úfrom_buffersrm  )r%   r0   Únp_arrr1   rb  s   &    r   Útest_print_array_hostrt  Ù  s‰   € ä
×
Ñ
˜t A�vÓ
&€CÜ�]Š]˜3¤b§h¡hÔ/€FÜ�d“€Fˆ1�Iä
�(Š(”5˜“;¤§¢£
Ó
+€CÜ�8‰8× Ñ ¤§¢£¨T°D¸#°;Ó?€DÜˆt‹9œ˜C›Ô Ð Ò r   c                 ón  € . p. p\        V4       Fw  p\        V 4      p\        P                  V\        4      p\        P                  WeP                  4      pVP                  VR ,          4       VP                  VR ,          4       Ky  	  \        P                  ! V4      \        P                  ! V4      3# )râ   )
rw   rì   r   rð   r   rñ   rå   Úappendr   Úchunked_array)Ún_elements_per_chunkÚn_chunksÚarrsÚcarrsr´   rë   rg   rø   s   &&      r   Úmake_chunked_arrayr|  ä  sŽ   € Ø€DØ€EÜ�8Ž_ˆÜ Ð!5Ó6ˆÜ×*Ñ*¨5´.ÓAˆÜ×'Ñ'¨¯l©lÓ;ˆØ�‰�E˜$•KÔ Ø�‰�V˜D•\Ö"ñ ô ×Ò˜DÓ!¤2×#3Ò#3°EÓ#:Ð:Ð:r   c                  óª   € \        ^
^4      w  r\        V4      \        V 4      8X  g   Q h\        ^d^4      w  r\        V4      \        V 4      8X  g   Q hR# rî   )r|  rm  )r1   rb  s     r   Útest_print_chunked_arrayr~  ñ  sJ   € Ü" 2 qÓ)�I€CÜˆt‹9œ˜C›Ô Ð Ð ä" 3¨Ó+�I€CÜˆt‹9œ˜C›Ô Ð Ò r   c                  ó‚  € \        ^
4      p \        P                  V \        4      p\        P	                  WP
                  4      p\        V4      \        V 4      8X  g   Q h\        ^d4      p \        P                  V \        4      p\        P	                  WP
                  4      p\        V4      \        V 4      8X  g   Q hR# rî   rl  )rë   rg   rø   s      r   Útest_print_record_batchr€  ù  sŽ   € Ü˜RÓ €EÜ×&Ñ& u¬nÓ=€DÜ×#Ñ# D¯,©,Ó7€FÜˆv‹;œ#˜e›*Ô$Ð$Ð$ä˜SÓ!€EÜ×&Ñ& u¬nÓ=€DÜ×#Ñ# D¯,©,Ó7€FÜˆv‹;œ#˜e›*Ô$Ð$Ò$r   c                  óV   € \        4       w  rr\        V4      \        V4      8X  g   Q hR # r   )r$  rm  )r´   r  Úctables      r   Útest_print_tablerƒ    s%   € Ü)Ó+Ñ€AˆaÜˆv‹;œ#˜e›*Ô$Ð$Ò$r   )r   r^   rÊ   )r<   ):Ú__doc__rm   Ú	sysconfigr   Úpyarrowr   Únumpyr*   ÚImportErrorÚmarkÚ
pytestmarkrT  r   Úget_platformÚplatformÚhas_ipc_supportÚskipifÚcuda_ipcr   r	   r   r   r$   Úparametrizer4   r:   rI   r\   rj   rt   r~   r�   rŠ   r•   rª   r®   rµ   rÐ   rÓ   rÞ   rà   rì   rú   r  r$  r&  r+  r5  r@  rL  re  rj  rn  rt  r|  r~  r€  rƒ  © r   r   Ú<module>r’     sñ  ðñ$ó
 Û ã ã ð#Ûð
 ×Ò˜>Ó*€à×!Ò!Ó#€à˜nÑ,€à�;‰;×ÑØÔØ4¸ÕAð ó C€ð €Ø€òNò
ò5ð, ‡�×Ñ˜¢Ó.ñó /ðò=ô-ð. ‡�×Ñ˜¢Ó.ñ|>ó /ð|>ð~ ‡�×Ñ˜¢Ó.ñ4ó /ð4ò>ð6 ‡�×Ñ˜¢Ó.ñó /ðð6 ‡�×Ñ˜¢Ó.ñó /ðð4 ‡�×Ñ˜¢Ó.ñ'ó /ð'ð6 ‡�×Ñ˜¢Ó.ñ<Ió /ð<Ið~ ‡�×Ñ˜ f¨iÐ%8Ó9Ø‡�×Ñ˜¢Ó.ñ.2ó /ó :ð.2ðb ‡�×Ñ˜¢Ó.ñ(2ó /ð(2òV)ò,0Eòf!'òH'ò4	'òò ò0ò8&ò ò ò$/ð 
Ø‡�×Ñ˜¢Ó.ñ
ó /ó 
ð
ò-ò22>òj5Dòp!ð  ‡�×Ñ˜ " c Ó+ñ!ó ,ð!ò
;ò!ò	%ô%øðM ô #Ø—‘×"Ñ"ƒJð#ús   ”I1 É1JÊJ