def main():
    """The main entry of the tool

    Parameters
    ----------
    None

    Returns
    -------
    None
    """

    args = parse_cmd_arguments()

    db_file = os.path.abspath(args.db)
    if not os.path.exists(db_file):
        raise RuntimeError("database does not exist at: " + db_file)

    db_conn = sqlite3.connect(db_file)

    if args.del_entry_by_id is not None:
        del_entry(
            db_conn=db_conn,
            table=args.table,
            entry_id=args.del_entry_by_id,
            op_type=args.op_type,
        )
        return

    if args.query_missing_75_entries_from_80:
        process_missing_75_entries_from_80(
            db_conn=db_conn,
            table=args.table,
            op_type=args.op_type,
            gen_sm75_entry=False,
        )
        return

    if args.gen_75_entries_from_80:
        process_missing_75_entries_from_80(
            db_conn=db_conn,
            table=args.table,
            op_type=args.op_type,
            gen_sm75_entry=True,
        )
        return

    if args.query_device is not None or args.query_all_devices:
        query_device = None if args.query_all_devices else args.query_device
        assert args.op_type != "all", "cannot query 'all' op_type"
        db_conn_cur = db_conn.cursor()
        query_cache(
            db_conn_cur=db_conn_cur,
            table=args.table,
            op_type=args.op_type,
            op_keys=args.op_keys,
            query_template=DEFAULT_QUERY_TEMPLATE,
            algo=args.algo,
            device=query_device,
        )
        return

    if args.op_keys is None:
        raise RuntimeError("Please specify op_keys")

    if args.gen_one_75_entry_from_80:
        gen_one_75_entry_from_80(
            db_conn=db_conn,
            table=args.table,
            op_type=args.op_type,
            op_keys=args.op_keys,
            algo=args.algo,
        )
        return
The main entry of the tool

Parameters
----------
None

Returns
-------
None
tests/ci_profile_cache/update_cache.py