colossalai

Форк
0
/
test_search_logical_device_mesh.py 
30 строк · 1.1 Кб
1
import pytest
2

3
from colossalai.device import AlphaBetaProfiler
4
from colossalai.initialize import launch
5
from colossalai.logging import disable_existing_loggers
6
from colossalai.testing import parameterize, rerun_if_address_is_in_use, spawn
7

8

9
def check_alpha_beta(rank, world_size, port, physical_devices):
10
    disable_existing_loggers()
11
    launch(config={}, rank=rank, world_size=world_size, host="localhost", port=port, backend="nccl")
12
    profiler = AlphaBetaProfiler(physical_devices)
13
    best_logical_mesh = profiler.search_best_logical_mesh()
14

15
    if physical_devices == [0, 1, 2, 3]:
16
        assert best_logical_mesh == [[0, 1], [2, 3]]
17
    elif physical_devices == [0, 3]:
18
        assert best_logical_mesh == [[0, 3]]
19

20

21
@pytest.mark.skip(reason="Skip because assertion may fail for CI devices")
22
@pytest.mark.dist
23
@parameterize("physical_devices", [[0, 1, 2, 3], [0, 3]])
24
@rerun_if_address_is_in_use()
25
def test_profile_alpha_beta(physical_devices):
26
    spawn(check_alpha_beta, 4, physical_devices=physical_devices)
27

28

29
if __name__ == "__main__":
30
    test_profile_alpha_beta()
31

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.