code: def register_main(subparser) -> "None":
      parser = subparser.add_parser(
          "run",
          help="Run Hail benchmarks locally.",
          description="Run Hail benchmarks locally.",
      )
      parser.add_argument(
          "--tests",
          "-t",
          type=str,
          required=False,
          help="Run specific comma-delimited tests instead of running all tests.",
      )
      parser.add_argument(
          "--cores",
          "-c",
          type=int,
          default=1,
          help="Number of cores to use.",
      )
      parser.add_argument(
          "--pattern",
          "-k",
          type=str,
          required=False,
          help="Run all tests that substring match the pattern",
      )
      parser.add_argument(
          "--n-iter",
          "-n",
          type=int,
          default=3,
          help="Number of iterations for each test.",
      )
      parser.add_argument("--log", "-l", type=str, help="Log file path")
      parser.add_argument(
          "--quiet",
          "-q",
          action="store_true",
          help="Do not print testing information to stderr in real time.",
      )
      parser.add_argument(
          "--verbose",
          "-v",
          action="store_true",
          help="Do not silence Hail logging to standard output.",
      )
      parser.add_argument(
          "--output", "-o", type=str, help="Output file path."
      )
      parser.add_argument(
          "--data-dir", "-d", type=str, help="Data directory."
      )
      parser.add_argument(
          "--timeout",
          type=int,
          default=1800,
          help="Timeout in seconds after which benchmarks will be interrupted",
      )
      parser.add_argument(
          "--dry-run",
          action="store_true",
          help="Print benchmarks to execute, but do not run.",
      )
      parser.add_argument(
          "--profile",
          "-p",
          choices=["cpu", "alloc", "itimer"],
          nargs="?",
          const="cpu",
          help="Run with async-profiler.",
      )
      parser.add_argument(
          "--prof-fmt",
          "-f",
          choices=["html", "flame", "jfr"],
          default="html",
          help="Choose profiler output.",
      )
      parser.set_defaults(main=main)
  
file_path: hail/benchmark/python/benchmark_hail/run/cli.py
imports: import argparse
  import datetime
  import json
  import os
  import sys
  import hail
  from .utils import run_all, run_pattern, run_list, RunConfig
  from ..None import init_logging
label_desc: Use image node_id 2 for calling a global function with example usage: register_main(subparser) without return types