code: def benchmark_in_sub_process(
      choices: List[TritonTemplateCaller],
  ) -> Dict[TritonTemplateCaller, float]:
      """
      Do benchmarking in a subprocess and return the perf number (latency).
      """
      return tuning_pool.benchmark(choices)
  
imports: from __future__ import annotations
  import contextlib
  import dataclasses
  import functools
  import logging
  import os
  import queue
  import time
  import warnings
  from concurrent.futures import ThreadPoolExecutor
  from ctypes import byref, c_size_t, c_void_p
  from multiprocessing.process import BaseProcess
  from multiprocessing.queues import Queue
  from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence, TYPE_CHECKING, Union
  import torch
  from torch import multiprocessing
  from torch._dynamo.testing import rand_strided
  from torch._inductor import ir
  from torch._inductor.codecache import CUDACodeCache, DLLWrapper, PyCodeCache
  from .None import config
  from .utils import do_bench
  from .virtualized import V
label_desc: Use image node_id 2 for calling a global function with example usage: benchmark_in_sub_process(choices) and returns: tuning_pool