docs: def _get_gpu():
    """*DEPRECATED*. Allocates first available GPU using cudaSetDevice(), or returns 0 otherwise."""
    # Note: this code executes, but Tensorflow subsequently complains that the "current context was not created by the StreamExecutor cuda_driver API"
    system = platform.system()
    if system == "Linux":
      libcudart = ct.cdll.LoadLibrary("libcudart.so")
    elif system == "Darwin":
      libcudart = ct.cdll.LoadLibrary("libcudart.dylib")
    elif system == "Windows":
      libcudart = ct.windll.LoadLibrary("libcudart.dll")
    else:
      raise NotImplementedError("Cannot identify system.")
  
    device_count = ct.c_int()
    libcudart.cudaGetDeviceCount(ct.byref(device_count))
    gpu = 0
    for i in range(device_count.value):
      if (0 == libcudart.cudaSetDevice(i) and 0 == libcudart.cudaFree(0)):
        gpu = i
        break
    return gpu