__init__.py 3.73 KB
Newer Older
1
# coding=utf-8
Mohammad's avatar
Mohammad committed
2
# Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Model parallel utility interface."""

from .cross_entropy import vocab_parallel_cross_entropy

from .data import broadcast_data

22
from .initialize import is_unitialized
23
24
25
26
from .initialize import destroy_model_parallel
from .initialize import get_data_parallel_group
from .initialize import get_data_parallel_rank
from .initialize import get_data_parallel_world_size
27
from .initialize import get_embedding_group
Vijay Korthikanti's avatar
Vijay Korthikanti committed
28
from .initialize import get_position_embedding_group
29
from .initialize import get_model_parallel_group
30
31
32
33
34
from .initialize import get_tensor_model_parallel_group
from .initialize import get_pipeline_model_parallel_group
from .initialize import get_tensor_model_parallel_rank, set_tensor_model_parallel_rank
from .initialize import get_pipeline_model_parallel_rank, set_pipeline_model_parallel_rank
from .initialize import is_pipeline_first_stage, is_pipeline_last_stage
35
from .initialize import is_rank_in_embedding_group
Vijay Korthikanti's avatar
Vijay Korthikanti committed
36
from .initialize import is_rank_in_position_embedding_group
37
38
39
from .initialize import is_pipeline_stage_before_split, is_pipeline_stage_after_split
from .initialize import is_pipeline_stage_at_split
from .initialize import get_num_layers
40
from .initialize import get_tensor_model_parallel_src_rank
41
from .initialize import get_data_parallel_src_rank
42
43
from .initialize import get_pipeline_model_parallel_first_rank
from .initialize import get_pipeline_model_parallel_last_rank
44
45
from .initialize import get_pipeline_model_parallel_next_rank
from .initialize import get_pipeline_model_parallel_prev_rank
46
47
from .initialize import get_tensor_model_parallel_world_size, set_tensor_model_parallel_world_size
from .initialize import get_pipeline_model_parallel_world_size, set_pipeline_model_parallel_world_size
48
from .initialize import get_virtual_pipeline_model_parallel_rank, set_virtual_pipeline_model_parallel_rank
49
50
51
from .initialize import initialize_model_parallel
from .initialize import model_parallel_is_initialized

Sangkug Lym's avatar
Sangkug Lym committed
52
from .layers import LinearWithGradAccumulationAndAsyncAllreduce
53
54
55
from .layers import ColumnParallelLinear
from .layers import RowParallelLinear
from .layers import VocabParallelEmbedding
56
57
from .layers import (set_tensor_model_parallel_attributes,
                     set_defaults_if_not_set_tensor_model_parallel_attributes,
mohammad's avatar
mohammad committed
58
                     copy_tensor_model_parallel_attributes)
59
60
61
 
from .mappings import  copy_to_tensor_model_parallel_region
from .mappings import  reduce_from_tensor_model_parallel_region
62
63
64
from .mappings import  scatter_to_tensor_model_parallel_region
from .mappings import  gather_from_tensor_model_parallel_region
from .mappings import  scatter_to_sequence_parallel_region
65
from .mappings import  gather_from_sequence_parallel_region
66
from .mappings import  reduce_scatter_to_sequence_parallel_region
67
68
69

from .random import checkpoint
from .random import get_cuda_rng_tracker
70
from .random import model_parallel_cuda_manual_seed
71
72
from .random import gather_split_1d_tensor
from .random import split_tensor_into_1d_equal_chunks
Lawrence McAfee's avatar
Lawrence McAfee committed
73
74
75
from .random import make_viewless_tensor
from .random import assert_viewless_tensor
from .random import safely_set_viewless_tensor_data
76

77
78
from .utils import divide
from .utils import split_tensor_along_last_dim