Skip to content

Utils

This module provides utility functions for the project.

write_ram_usage_distributed

Source code in gridfm_datakit/utils/utils.py
 5
 6
 7
 8
 9
10
11
12
13
def write_ram_usage_distributed(tqdm_log):
    process = psutil.Process(os.getpid())  # Parent process
    mem_usage = process.memory_info().rss / 1024**2  # Parent memory in MB

    # Sum memory usage of all child processes
    for child in process.children(recursive=True):
        mem_usage += child.memory_info().rss / 1024**2

    tqdm_log.write(f"Total RAM usage (Parent + Children): {mem_usage:.2f} MB\n")

Classes

Tee

Source code in gridfm_datakit/utils/utils.py
16
17
18
19
20
21
22
23
24
25
26
27
class Tee:
    def __init__(self, *streams):
        self.streams = streams

    def write(self, data):
        for s in self.streams:
            s.write(data)
            s.flush()

    def flush(self):
        for s in self.streams:
            s.flush()