code: def build_executor(
      name: str,
      gpus_per_task: int,
      cpus_per_gpu: int,
      timeout: int = 0,
      partition: str = "g40",
      account: str = "stablegpt",
  ):
      base_args = {
          # just "gpus" does not work
          "slurm_gpus_per_task": 8,
          "name": "eval",
          "slurm_account": "stablegpt",
          "slurm_partition": "g40",
          "slurm_cpus_per_gpu": 12,
          # Default timeout is 5 minutes???
          "timeout_min": 0,
      }
  
      executor = submitit.AutoExecutor(folder="./logs")
      executor.update_parameters(**base_args)
      return executor
  
file_path: lm-evaluation-harness/scripts/run_eval.py
imports: import submitit
  from submitit.helpers import CommandFunction
  import argparse
  from notify import notify
  from pathlib import Path
  from main_eval import main
label_desc: Use image node_id 2 for calling a global function with example usage: build_executor(name, gpus_per_task, cpus_per_gpu, timeout, partition, account) and returns: executor