code: def make_bench_configs(long_config):
      """Defines the configurations we want to benchmark
      If `long_config` is True, this may take over an hour.
      If False, the run should take only a few minutes."""
  
      configs = []
      if long_config:
          # Use large_rows for pretty fast algos,
          # use small_rows for slower ones
          small_rows = log_range(10000, 1000000, 2)
          large_rows = log_range(1e5, 1e7, 2)
      else:
          # Small config only runs a single size
          small_rows = log_range(20000, 20000, 1)
          large_rows = log_range(100000, 100000, 1)
  
      default_dims = [16, 256]
  
      # Add all the simple algorithms that don't need special treatment
      algo_defs = [
          ("KMeans", "blobs", small_rows, default_dims, [{}]),
          ("DBScan", "blobs", small_rows, default_dims, [{}]),
          ("TSNE", "blobs", small_rows, default_dims, [{}]),
          ("NearestNeighbors", "blobs", small_rows, default_dims, [{}]),
          ("MBSGDClassifier", "blobs", large_rows, default_dims, [{}]),
          (
              "LogisticRegression",
              "classification",
              large_rows,
              default_dims,
              [{}],
          ),
          (
              "LinearRegression",
              "regression",
              large_rows,
              default_dims,
              [{}],
          ),
          ("Lasso", "regression", large_rows, default_dims, [{}]),
          ("ElasticNet", "regression", large_rows, default_dims, [{}]),
          (
              "PCA",
              "blobs",
              large_rows,
              [32, 256],
              expand_params("n_components", [2, 25]),
          ),
          (
              "tSVD",
              "blobs",
              large_rows,
              [32, 256],
              expand_params("n_components", [2, 25]),
          ),
          (
              "GaussianRandomProjection",
              "blobs",
              large_rows,
              [32, 256],
              expand_params("n_components", [2, 25]),
          ),
      ]
  
      algo_defs += preprocessing_algo_defs
  
      for algo_name, dataset_name, rows, dims, params in algo_defs:
          configs.append(
              dict(
                  algo_name=algo_name,
                  dataset_name=dataset_name,
                  bench_rows=rows,
                  bench_dims=dims,
                  param_override_list=params,
              )
          )
  
      # Explore some more interesting params for RF
      if long_config:
          configs += [
              dict(
                  algo_name="RandomForestClassifier",
                  dataset_name="classification",
                  bench_rows=small_rows,
                  bench_dims=default_dims,
                  cuml_param_override_list=[
                      {"n_bins": [8, 32]},
                      {"max_features": ["sqrt", 1.0]},
                  ],
              )
          ]
  
      return configs
  
imports: from cuml.benchmark.runners import run_variations
  from cuml.benchmark import algorithms
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 4 for calling a global function with example usage: make_bench_configs(long_config) and returns: configs