code: def test_basic_10k(ds_config):
      (
          final_batch_size,
          valid_gpus,
      ) = deepspeed.elasticity.compute_elastic_config(
          ds_config=ds_config, target_deepspeed_version=ds_version
      )
  
      for gpu_num in valid_gpus:
          assert (
              final_batch_size % gpu_num == 0
          ), f"Batch {final_batch_size} is not divisible by GPU count {gpu_num}"
          batch_per_gpu = final_batch_size // gpu_num
          found_valid_mbsize = False
  
          for mb in ds_config["elasticity"]["micro_batch_sizes"]:
              if batch_per_gpu % mb == 0:
                  found_valid_mb = True
                  break
          assert found_valid_mb, "No valid mb found"
  
      assert len(valid_gpus) == 23
      assert final_batch_size == 9792
  
imports: import pytest
  import deepspeed
  from unit.common import DistributedTest
  from deepspeed.git_version_info import version
  import os
  from unit.simple_model import SimpleModel
  from deepspeed.ops.op_builder import FusedAdamBuilder
label_desc: Use image node_id 2 for calling a global function with example usage: test_basic_10k(ds_config) without return types