in optimum_benchmark/trackers/memory.py [0:0]
def _cpu_memory(self):
child_connection, parent_connection = Pipe()
memory_process = Process(
target=monitor_cpu_ram_memory, args=(self.monitored_pid, 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 CPU.")
yield
if memory_process.is_alive():
parent_connection.send(0)
else:
raise ValueError("Could not stop memory tracking process for CPU.")
if memory_process.is_alive():
self.max_ram_memory = parent_connection.recv()
else:
raise ValueError("Could not get memory tracking results for CPU.")
parent_connection.close()