def METHOD_NAME():
    """
    Summarises the system this function is run on.
    Includes system, cpu, gpu and module details
    :return: A dictionary of system details
    """
    merkletree = MerkleTree()
    system_info = {}
    uname = platform.uname()
    system_info["system"] = {
        "system": uname.system,
        "release": uname.release,
        "machine": uname.machine,
        "processor": uname.processor,
    }
    cpu_freq = psutil.cpu_freq()
    system_info["cpu"] = {
        "cores_phys": psutil.cpu_count(logical=False),
        "cores_logic": psutil.cpu_count(logical=True),
        "max_frequency": cpu_freq.max,
        "min_frequency": cpu_freq.min,
    }
    sys_mem = psutil.virtual_memory()
    system_info["memory"] = {"total": sys_mem.total}
    gpus = GPUtil.getGPUs()
    system_info["gpu"] = {}
    for gpu in gpus:
        system_info["gpu"][gpu.id] = {"name": gpu.name, "memory": gpu.memoryTotal}
    system_info["modules"] = find_loaded_modules()
    merkletree.append(list(system_info.items()))
    system_info["signature"] = merkletree.merkle_root
    return system_info