
"""simple docstring"""







from __future__ import annotations

lowerCamelCase__        =		10
def    __lowerCAmelCase    (_UpperCamelCase		):
	__lowerCAmelCase      :						List[Any]						      =				1
	__lowerCAmelCase      :						Dict						      =				max(_UpperCamelCase		)
	while placement <= max_digit:
		# declare and initialize empty buckets
		__lowerCAmelCase      :						list[list]						      =				[[] for _ in range(_UpperCamelCase		)]
		# split list_of_ints between the buckets
		for i in list_of_ints:
			__lowerCAmelCase      :						Optional[int]						      =				int((i / placement) % RADIX		)
			buckets[tmp].append(_UpperCamelCase		)
		# put each buckets' contents into list_of_ints
		__lowerCAmelCase      :						Dict						      =				0
		for b in range(_UpperCamelCase		):
			for i in buckets[b]:
				__lowerCAmelCase      :						Optional[Any]						      =				i
				a += 1
        # move to next
		placement *= RADIX
	return list_of_ints


if __name__ == "__main__":
					import doctest

					doctest.testmod()

"""simple docstring"""







lowerCamelCase__        =		"""0.21.0"""

from .accelerator import Accelerator
from .big_modeling import (
    cpu_offload,
    cpu_offload_with_hook,
    disk_offload,
    dispatch_model,
    init_empty_weights,
    init_on_device,
    load_checkpoint_and_dispatch,
)
from .data_loader import skip_first_batches
from .launchers import debug_launcher, notebook_launcher
from .state import PartialState
from .utils import (
    DeepSpeedPlugin,
    DistributedDataParallelKwargs,
    DistributedType,
    FullyShardedDataParallelPlugin,
    GradScalerKwargs,
    InitProcessGroupKwargs,
    find_executable_batch_size,
    infer_auto_device_map,
    is_rich_available,
    load_checkpoint_in_model,
    synchronize_rng_states,
)


if is_rich_available():
							from .utils import rich