#!/usr/bin/env python # -*- encoding: utf-8 -*- from enum import Enum # parallel modes class ParallelMode(Enum): """This is an enumeration class containing all possible parallel modes. """ GLOBAL = 'global' # common parallel DATA = 'data' # model parallel - containing tensor and pipeline parallel groups # this is added to facilitate amp and grad clipping in hybrid parallel MODEL = 'model' # pipeline parallel PIPELINE = 'pipe' # containing all ranks in tensor parallel TENSOR = 'tensor' # sequence parallel SEQUENCE = 'sequence' SEQUENCE_DP = 'sequence_dp' # 1D Parallel PARALLEL_1D = '1d' # 2D parallel PARALLEL_2D_ROW = '2d_row' PARALLEL_2D_COL = '2d_col' # 3D parallel PARALLEL_3D_INPUT = '3d_input' PARALLEL_3D_WEIGHT = '3d_weight' PARALLEL_3D_OUTPUT = '3d_output' PARALLEL_3D_INPUT_X_WEIGHT = "3d_input_x_weight" PARALLEL_3D_OUTPUT_X_WEIGHT = "3d_output_x_weight" # 2.5D parallel PARALLEL_2P5D_ROW = '2p5d_row' PARALLEL_2P5D_COL = '2p5d_col' PARALLEL_2P5D_DEP = '2p5d_dep' PARALLEL_2P5D_XZ = '2p5d_xz'