def _gpu_memory()

in optimum_benchmark/trackers/memory.py [0:0]


    def _gpu_memory(self):
        child_connection, parent_connection = Pipe()
        memory_process = Process(
            target=monitor_gpu_vram_memory, args=(self.monitored_pid, self.device_ids, child_connection), daemon=True
        )
        memory_process.start()

        if memory_process.is_alive():
            _ = parent_connection.recv()
        else:
            raise ValueError("Could not start memory tracking process for GPU devices.")

        yield from self._cpu_memory()

        if memory_process.is_alive():
            parent_connection.send(0)
        else:
            raise ValueError("Could not stop memory tracking process for GPU devices.")

        if memory_process.is_alive():
            self.max_global_vram_memory = parent_connection.recv()
            self.max_process_vram_memory = parent_connection.recv()
        else:
            raise ValueError("Could not get memory tracking results for GPU devices.")

        parent_connection.close()