o
    TÃi–	  ã                   @   sx   d Z dZdZdZdZdZdZdZdZg d	¢Z	d
Z
dZdZdZdZdZdZdZdZdZdZdZdZdZdZeZdZdZdS )zø Elasticity Utility in DeepSpeed can be used to create highly elastic jobs compatible
with a large number of GPUs. For elastic jobs, DeepSpeed will provide a batch size that
can support a large number of GPUs based on the user specified parameters
a  
Elasticity should be enabled as:
"elasticity": {
  "enabled": true,
  "max_train_batch_size": 2000,
  "micro_batch_sizes": [2,4,6],
  "min_gpus": 1,
  "max_gpus" : 10000,
  "min_time": 20,
  "prefer_larger_batch": true,
  "ignore_non_elastic_batch_info": false,
  "version": 0.1
}
Ú
elasticitygš™™™™™É?ÚenabledFÚmax_train_batch_sizeiÐ  Úmicro_batch_sizes)é   é   é   Úmin_gpusé   Úmax_gpusi'  Únum_gpus_per_nodeÚmodel_parallel_sizeÚmin_timeé    Úprefer_larger_batchTÚignore_non_elastic_batch_infoÚversionz0.3.8ÚDEEPSPEED_ELASTICITY_CONFIGN)Ú__doc__ÚFORMATÚ
ELASTICITYÚLATEST_ELASTICITY_VERSIONÚENABLEDÚENABLED_DEFAULTÚMAX_ACCEPTABLE_BATCH_SIZEÚ!MAX_ACCEPTABLE_BATCH_SIZE_DEFAULTÚMICRO_BATCHESÚMICRO_BATCHES_DEFAULTÚMIN_GPUSÚMIN_GPUS_DEFAULTÚMAX_GPUSÚMAX_GPUS_DEFAULTÚNUM_GPUS_PER_NODEÚNUM_GPUS_PER_NODE_DEFAULTÚMODEL_PARALLEL_SIZEÚMODEL_PARALLEL_SIZE_DEFAULTÚMIN_TIMEÚMIN_TIME_DEFAULTÚPREFER_LARGER_BATCHÚPREFER_LARGER_BATCH_DEFAULTÚIGNORE_NON_ELASTIC_BATCH_INFOÚ%IGNORE_NON_ELASTIC_BATCH_INFO_DEFAULTÚVERSIONÚVERSION_DEFAULTÚMINIMUM_DEEPSPEED_VERSIONr   © r.   r.   úR/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/elasticity/constants.pyÚ<module>   s8   