code: def get_top_card_memory_in_bytes(self):
      def read_top_card_memory_in_bytes():
          return self.__nvml_get_or_else(
              lambda: [
                  nvmlDeviceGetMemoryInfo(
                      nvmlDeviceGetHandleByIndex(card_index)
                  ).total
                  for card_index in range(nvmlDeviceGetCount())
              ],
              default=0,
          )
  
      memory_per_card = read_top_card_memory_in_bytes()
      if not memory_per_card:
          return 0
      return max(memory_per_card)
  
file_path: neptune-client/src/neptune/common/hardware/gpu/gpu_monitor.py
imports: import logging
  from neptune.vendor.pynvml import NVMLError, nvmlDeviceGetCount, nvmlDeviceGetHandleByIndex, nvmlDeviceGetMemoryInfo, nvmlDeviceGetUtilizationRates, nvmlInit
label_desc: Use image node_id 4 for calling the GPUMonitor obj's underlying member method code with example usage: obj.get_top_card_memory_in_bytes() and returns: max, self, int