#!/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"