def get_profiler_filename(func_attrs, op_class):
    """
    Generate a filename for a profiler that benchmarks multiple instances.
    """
    target = backend.target.Target.current()

    op_type = func_attrs["op"]
    all_op_names = list(func_attrs["op_instance"].keys())
    encoded_str = sha1((";".join(all_op_names)).encode("utf-8")).hexdigest()

    if target.use_dummy_profiling_results():
        # we don't use cache
        return f"{op_type}_{encoded_str}"
    else:
        cache_ver = target.get_profile_cache_version(op_class)
        return f"{op_type}_{encoded_str}_{cache_ver}"

    Generate a filename for a profiler that benchmarks multiple instances.
    
python/aitemplate/compiler/ops/conv/conv_common.py