ColossalAI/tests/test_layers/test_3d/test_3d.py

46 lines
947 B
Python
Raw Normal View History

2021-10-28 16:21:23 +00:00
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from functools import partial
2021-12-16 02:32:08 +00:00
import pytest
import torch
import torch.multiprocessing as mp
from colossalai.core import global_context as gpc
from colossalai.initialize import launch
2021-10-28 16:21:23 +00:00
2021-12-16 02:32:08 +00:00
from checks_3d.check_layer_3d import *
2021-10-28 16:21:23 +00:00
CONFIG = dict(
parallel=dict(
pipeline=1,
tensor=dict(mode='3d', size=8),
),
seed=42,
)
2021-10-28 16:21:23 +00:00
def check_layer():
check_linear()
check_layernorm()
check_classifier()
# check_embed()
# check_loss()
2021-10-28 16:21:23 +00:00
2021-12-16 02:32:08 +00:00
def check_layer_and_operation(rank, world_size):
launch(config=CONFIG, rank=rank, world_size=world_size, host='localhost', port=29923, backend='nccl')
2021-10-28 16:21:23 +00:00
check_layer()
2021-12-16 02:32:08 +00:00
gpc.destroy()
torch.cuda.empty_cache()
@pytest.mark.dist
def test_3d():
world_size = 8
run_func = partial(check_layer_and_operation, world_size=world_size)
mp.spawn(run_func, nprocs=world_size)
2021-10-28 16:21:23 +00:00
if __name__ == '__main__':
2021-12-16 02:32:08 +00:00
test_3d()