class_docstr: This class is used to create a callable instance for allocating a cupy
  array on a specific device. It is constructed with a particular device
  number, and can be called repeatedly with the number of bytes to allocate,
  returning an array of the requested size on the device.
class_docstr_tok: ["This","class","is","used","to","create","a","callable","instance","for","allocating","a","cupy","array","on","a","specific","device",".","It","is","constructed","with","a","particular","device","number",",","and","can","be","called","repeatedly","with","the","number","of","bytes","to","allocate",",","returning","an","array","of","the","requested","size","on","the","device","."]
code: def __call__(self, nbytes):
      with cp.cuda.Device(self.device):
          a = cp.empty(nbytes, dtype="uint8")
      return a
  
imports: from cugraph_service_client.remote_graph_utils import import_optional, MissingModule
  import numpy
  from functools import wraps
  from collections.abc import Sequence
  import pickle
  import ucp
  import asyncio
  import threading
  from cugraph_service_client import defaults
  from cugraph_service_client.remote_graph import RemoteGraph
  from cugraph_service_client import extension_return_dtype_map
  from cugraph_service_client.types import ValueWrapper, GraphVertexEdgeID, UniformNeighborSampleResult
  from cugraph_service_client.cugraph_service_thrift import create_client
label_desc: Use image node_id 2 for calling the DeviceArrayAllocator obj's underlying member method code with example usage: obj.__call__(nbytes) and returns: a