__init__.py 1.67 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
#
# 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.
15
import torch
16

Evelina Bakhturina's avatar
Evelina Bakhturina committed
17
from .global_vars import get_args
18
from .global_vars import get_current_global_batch_size
mohammad's avatar
mohammad committed
19
from .global_vars import get_num_microbatches
20
from .global_vars import get_signal_handler
mohammad's avatar
mohammad committed
21
from .global_vars import update_num_microbatches
Evelina Bakhturina's avatar
Evelina Bakhturina committed
22
23
24
25
from .global_vars import get_tokenizer
from .global_vars import get_tensorboard_writer
from .global_vars import get_adlr_autoresume
from .global_vars import get_timers
26
from .initialize  import initialize_megatron
27
28

def print_rank_0(message):
29
    """If distributed is initialized, print only on rank 0."""
30
31
32
33
    if torch.distributed.is_initialized():
        if torch.distributed.get_rank() == 0:
            print(message, flush=True)
    else:
34
        print(message, flush=True)
35

36
37
38
39
def is_last_rank():
    return torch.distributed.get_rank() == (
        torch.distributed.get_world_size() - 1)

40
41
42
def print_rank_last(message):
    """If distributed is initialized, print only on last rank."""
    if torch.distributed.is_initialized():
43
        if is_last_rank():
44
45
46
            print(message, flush=True)
    else:
        print(message, flush=True)