code: def bm_corresponding_points_alignment() -> None:
      case_grid = {
          "allow_reflection": [True, False],
          "batch_size": [1, 10, 100],
          "dim": [3, 20],
          "estimate_scale": [True, False],
          "n_points": [100, 10000],
          "random_weights": [False, True],
          "use_pointclouds": [False],
      }
  
      test_args = sorted(case_grid.keys())
      test_cases = product(*case_grid.values())
      kwargs_list = [dict(zip(test_args, case)) for case in test_cases]
  
      # add the use_pointclouds=True test cases whenever we have dim==3
      kwargs_to_add = []
      for entry in kwargs_list:
          if entry["dim"] == 3:
              entry_add = deepcopy(entry)
              entry_add["use_pointclouds"] = True
              kwargs_to_add.append(entry_add)
      kwargs_list.extend(kwargs_to_add)
  
      benchmark(
          TestCorrespondingPointsAlignment.corresponding_points_alignment,
          "CorrespodingPointsAlignment",
          kwargs_list,
          warmup_iters=1,
      )
  
imports: from copy import deepcopy
  from itertools import product
  from fvcore.common.benchmark import benchmark
  from tests.test_points_alignment import TestCorrespondingPointsAlignment, TestICP
label_desc: Use image node_id 2 for calling a global function with example usage: bm_corresponding_points_alignment() without return types