
    0Fie                    ^   d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z
mZ  eed          rz ej        ej                  d             Z ej        ej                  d             Z ej        ej                  d             Z e
j        ej                  d	             ZdS dS )
    )annotationsN)cuda_deserializecuda_serialize)dask_deserializedask_serializeDeviceBufferc                L    | j                                         }d|d<   | g}||fS )N)   strides)__cuda_array_interface__copyxheaderframess      8lib/python3.11/site-packages/distributed/protocol/rmm.py cuda_serialize_rmm_device_bufferr      s1    +0022 yv~    c                F    |\  }t          |t          j                  sJ |S )N)
isinstancermmr   )r   r   arrs      r   "cuda_deserialize_rmm_device_bufferr      s)    
 #s/00000
r   c                F    t          |           \  }}d |D             }||fS )Nc                z    g | ]8}t           j                            |                                          j        9S  )numbacudaas_cuda_arraycopy_to_hostdata).0fs     r   
<listcomp>z4dask_serialize_rmm_device_buffer.<locals>.<listcomp>#   s7    RRRa%***1--::<<ARRRr   )r   r   s      r    dask_serialize_rmm_device_bufferr%       s0    9!<<RR6RRRv~r   c                    |\  }t          j        t          |                    }|j        d         d         }|j        }t          j        ||          }|S )Nr!   r   )ptrsize)numpyasarray
memoryview__array_interface__nbytesr   r   )r   r   framer   r'   r(   bufs          r   "dask_deserialize_rmm_device_bufferr0   &   sS    mJu--..%f-a0z3T222
r   )
__future__r   r   
numba.cudar)   r   distributed.protocol.cudar   r   distributed.protocol.serializer   r   hasattrregisterr   r   r   r%   r0   r   r   r   <module>r7      sH   " " " " " "       



 F F F F F F F F K K K K K K K K 73 $^S-..  /. s/00  10 ^S-..  /.
 s/00	 	 10	 	 	7$ $r   