code: def test_batch_api_gpu(
      printer: Callable, config: Dict, client: cx.Client, api: str
  ):
      skip_gpus = config["global"].get("skip_gpus", False)
      if skip_gpus:
          pytest.skip("--skip-gpus flag detected, skipping GPU tests")
  
      s3_path = config["aws"].get("s3_path")
      if not s3_path:
          pytest.skip(
              "--s3-path option is required to run batch tests (alternatively set the "
              "CORTEX_TEST_BATCH_S3_PATH env var) )"
          )
  
      e2e.tests.test_batch_api(
          printer=printer,
          client=client,
          api=api,
          test_s3_path=s3_path,
          deploy_timeout=config["global"]["batch_deploy_timeout"],
          job_timeout=config["global"]["batch_job_timeout"],
          retry_attempts=5,
          api_config_name="cortex_gpu.yaml",
          node_groups=config["aws"]["x86_nodegroups"],
          local_operator=config["global"]["local_operator"],
      )
  
imports: from typing import Callable, Dict
  import cortex
  import pytest
  import e2e.tests
label_desc: Use image node_id 2 for calling a global function with example usage: test_batch_api_gpu(printer, config, client, api) without return types