Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ColossalAI
Commits
49832b23
Unverified
Commit
49832b23
authored
Jun 06, 2022
by
Jiarui Fang
Committed by
GitHub
Jun 06, 2022
Browse files
[refactory] add nn.parallel module (#1068)
parent
6754f1b7
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
42 additions
and
39 deletions
+42
-39
colossalai/nn/__init__.py
colossalai/nn/__init__.py
+0
-3
colossalai/nn/modules/__init__.py
colossalai/nn/modules/__init__.py
+0
-3
colossalai/nn/parallel/__init__.py
colossalai/nn/parallel/__init__.py
+3
-0
colossalai/nn/parallel/data_parallel.py
colossalai/nn/parallel/data_parallel.py
+0
-2
colossalai/nn/parallel/layers/__init__.py
colossalai/nn/parallel/layers/__init__.py
+15
-0
colossalai/nn/parallel/layers/colo_module.py
colossalai/nn/parallel/layers/colo_module.py
+0
-0
colossalai/nn/parallel/layers/embedding.py
colossalai/nn/parallel/layers/embedding.py
+0
-0
colossalai/nn/parallel/layers/linear.py
colossalai/nn/parallel/layers/linear.py
+0
-0
colossalai/nn/parallel/layers/module_utils.py
colossalai/nn/parallel/layers/module_utils.py
+1
-1
colossalai/utils/__init__.py
colossalai/utils/__init__.py
+0
-4
colossalai/utils/model/colo_init_context.py
colossalai/utils/model/colo_init_context.py
+1
-1
colossalai/utils/model/pipelinable.py
colossalai/utils/model/pipelinable.py
+1
-4
colossalai/zero/init_ctx/init_context.py
colossalai/zero/init_ctx/init_context.py
+4
-2
colossalai/zero/zero_optimizer.py
colossalai/zero/zero_optimizer.py
+1
-1
tests/test_tensor/test_context.py
tests/test_tensor/test_context.py
+1
-4
tests/test_tensor/test_gpt.py
tests/test_tensor/test_gpt.py
+2
-2
tests/test_tensor/test_hybrid_device.py
tests/test_tensor/test_hybrid_device.py
+5
-4
tests/test_tensor/test_model.py
tests/test_tensor/test_model.py
+3
-3
tests/test_tensor/test_module_spec.py
tests/test_tensor/test_module_spec.py
+1
-1
tests/test_tensor/test_zero.py
tests/test_tensor/test_zero.py
+4
-4
No files found.
colossalai/nn/__init__.py
View file @
49832b23
...
...
@@ -5,6 +5,3 @@ from .metric import *
from
.model
import
*
from
.optimizer
import
*
from
._ops
import
*
from
.modules
import
ColoLinear
,
ColoEmbedding
from
.module_utils
import
register_colo_module
,
is_colo_module
,
get_colo_module
,
init_colo_module
,
check_colo_module
colossalai/nn/modules/__init__.py
deleted
100644 → 0
View file @
6754f1b7
from
.colo_module
import
ColoModule
from
.linear
import
ColoLinear
from
.embedding
import
ColoEmbedding
\ No newline at end of file
colossalai/nn/parallel/__init__.py
0 → 100644
View file @
49832b23
from
.data_parallel
import
ColoDDP
,
ColoDDPV2
__all__
=
[
'ColoDDP'
,
'ColoDDPV2'
]
colossalai/nn/parallel.py
→
colossalai/nn/parallel
/data_parallel
.py
View file @
49832b23
...
...
@@ -7,8 +7,6 @@ from colossalai.zero.utils.zero_hook_v2 import ZeROHookV2
from
colossalai.tensor.chunk
import
ChunkManager
,
TensorState
from
colossalai.tensor.param_op_hook
import
use_param_op_hooks
__all__
=
[
'ColoDDP'
,
'ColoDDPV2'
]
def
free_storage
(
data
:
torch
.
Tensor
)
->
None
:
"""Free underlying storage of a Tensor."""
...
...
colossalai/nn/parallel/layers/__init__.py
0 → 100644
View file @
49832b23
from
.colo_module
import
ColoModule
from
.linear
import
ColoLinear
from
.embedding
import
ColoEmbedding
from
.module_utils
import
register_colo_module
,
is_colo_module
,
get_colo_module
,
init_colo_module
,
check_colo_module
__all__
=
[
'ColoModule'
,
'register_colo_module'
,
'is_colo_module'
,
'get_colo_module'
,
'init_colo_module'
,
'check_colo_module'
,
'ColoLinear'
,
'ColoEmbedding'
,
]
colossalai/nn/
module
s/colo_module.py
→
colossalai/nn/
parallel/layer
s/colo_module.py
View file @
49832b23
File moved
colossalai/nn/
module
s/embedding.py
→
colossalai/nn/
parallel/layer
s/embedding.py
View file @
49832b23
File moved
colossalai/nn/
module
s/linear.py
→
colossalai/nn/
parallel/layer
s/linear.py
View file @
49832b23
File moved
colossalai/nn/module_utils.py
→
colossalai/nn/
parallel/layers/
module_utils.py
View file @
49832b23
from
typing
import
Dict
from
colossalai.tensor
import
ColoParameter
,
ParallelAction
,
TensorSpec
from
.
modules
import
ColoModule
from
.
import
ColoModule
import
torch
_COLOSSAL_MODULES
:
Dict
[
type
,
ColoModule
]
=
{}
...
...
colossalai/utils/__init__.py
View file @
49832b23
...
...
@@ -11,8 +11,6 @@ from .memory import (report_memory_usage, colo_device_memory_used, colo_set_proc
colo_device_memory_capacity
,
colo_set_cpu_memory_capacity
,
colo_get_cpu_memory_capacity
)
from
.timer
import
MultiTimer
,
Timer
from
.tensor_detector
import
TensorDetector
from
.model.utils
import
InsertPostInitMethodToModuleSubClasses
from
.model.colo_init_context
import
ColoInitContext
__all__
=
[
'checkpoint'
,
...
...
@@ -52,6 +50,4 @@ __all__ = [
'disposable'
,
'colo_set_cpu_memory_capacity'
,
'colo_get_cpu_memory_capacity'
,
'InsertPostInitMethodToModuleSubClasses'
,
'ColoInitContext'
,
]
colossalai/utils/model/colo_init_context.py
View file @
49832b23
...
...
@@ -2,7 +2,7 @@ from .utils import InsertPostInitMethodToModuleSubClasses
import
torch
from
colossalai.tensor
import
ColoTensor
,
ColoParameter
from
colossalai.nn
import
register
_colo_module
,
init
_colo_module
,
\
from
colossalai.nn
.parallel.layers
import
register_colo_module
,
\
ColoLinear
,
ColoEmbedding
from
torch
import
nn
...
...
colossalai/utils/model/pipelinable.py
View file @
49832b23
import
torch
import
functools
import
inspect
from
colossalai.amp.naive_amp
import
NaiveAMPModel
from
colossalai.utils.model.utils
import
_substitute_init_recursively
,
InsertPostInitMethodToModuleSubClasses
,
call_to_str
from
colossalai.utils.model.utils
import
InsertPostInitMethodToModuleSubClasses
,
call_to_str
from
colossalai.builder.pipeline
import
partition_uniform
,
partition_balanced
from
colossalai.core
import
global_context
as
gpc
from
colossalai.nn.layer.utils
import
CheckpointModule
from
colossalai.tensor
import
ColoTensor
...
...
colossalai/zero/init_ctx/init_context.py
View file @
49832b23
import
contextlib
import
functools
from
typing
import
Optional
from
contextlib
import
AbstractContextManager
import
torch
import
torch.nn
as
nn
import
torch.distributed
as
dist
from
colossalai.context.parallel_mode
import
ParallelMode
from
colossalai.core
import
global_context
as
gpc
from
colossalai.context.singleton_meta
import
SingletonMeta
...
...
@@ -12,8 +15,7 @@ from colossalai.zero.shard_utils import BaseShardStrategy
from
colossalai.zero.sharded_model._utils
import
cast_tensor_to_fp16
from
colossalai.zero.sharded_model.sharded_model_v2
import
ShardedModelV2
from
colossalai.zero.sharded_param
import
ShardedParamV2
from
contextlib
import
AbstractContextManager
from
colossalai.utils
import
InsertPostInitMethodToModuleSubClasses
from
colossalai.utils.model.utils
import
InsertPostInitMethodToModuleSubClasses
class
ZeroContextConfig
(
object
):
...
...
colossalai/zero/zero_optimizer.py
View file @
49832b23
...
...
@@ -2,7 +2,7 @@ import torch
import
torch.distributed
as
dist
from
enum
import
Enum
from
torch.optim
import
Optimizer
from
colossalai.nn.parallel
import
ColoDDPV2
from
colossalai.nn.parallel
.data_parallel
import
ColoDDPV2
from
typing
import
Dict
from
colossalai.amp.naive_amp.grad_scaler
import
DynamicGradScaler
from
colossalai.core
import
global_context
as
gpc
...
...
tests/test_tensor/test_context.py
View file @
49832b23
import
pytest
from
colossalai.utils
import
ColoInitContext
from
colossalai.utils
.model.colo_init_context
import
ColoInitContext
from
numpy
import
allclose
,
require
import
torch
from
colossalai.tensor
import
ColoTensor
from
copy
import
deepcopy
from
colossalai.utils.cuda
import
get_current_device
...
...
tests/test_tensor/test_gpt.py
View file @
49832b23
...
...
@@ -5,14 +5,14 @@ import torch.multiprocessing as mp
from
colossalai.testing
import
rerun_if_address_is_in_use
from
colossalai.utils.cuda
import
get_current_device
from
colossalai.utils
import
free_port
from
colossalai.utils
import
ColoInitContext
from
colossalai.utils
.model.colo_init_context
import
ColoInitContext
from
colossalai.tensor
import
TensorSpec
,
ComputePattern
,
ParallelAction
,
DistSpecManager
,
distspec
from
colossalai.core
import
global_context
as
gpc
from
functools
import
partial
from
_utils
import
tensor_equal
,
tensor_shard_equal
,
set_seed
from
tests.components_to_test.registry
import
non_distributed_component_funcs
from
torch.nn.parallel
import
DistributedDataParallel
as
DDP
from
colossalai.nn.parallel
import
ColoDDP
from
colossalai.nn.parallel
.data_parallel
import
ColoDDP
def
init_1d_row_spec
(
model
):
...
...
tests/test_tensor/test_hybrid_device.py
View file @
49832b23
from
colossalai.utils
import
free_port
,
ColoInitContext
,
get_current_device
from
colossalai.utils
import
free_port
,
get_current_device
from
colossalai.utils.model.colo_init_context
import
ColoInitContext
from
colossalai.testing
import
rerun_if_address_is_in_use
from
colossalai.tensor
import
TensorSpec
,
ComputePattern
,
ParallelAction
from
colossalai.tensor
import
ComputePattern
,
ParallelAction
from
functools
import
partial
from
colossalai.core
import
global_context
as
gpc
from
colossalai.context
import
ParallelMode
from
colossalai.nn
import
init_colo_module
from
colossalai.nn.parallel
import
ColoDDP
from
colossalai.nn
.parallel.layers
import
init_colo_module
from
colossalai.nn.parallel
.data_parallel
import
ColoDDP
import
colossalai
import
torch
...
...
tests/test_tensor/test_model.py
View file @
49832b23
...
...
@@ -5,11 +5,11 @@ import colossalai
import
pytest
import
torch
import
torch.multiprocessing
as
mp
from
colossalai.testing
import
parameterize
,
rerun_if_address_is_in_use
from
colossalai.testing
import
rerun_if_address_is_in_use
from
colossalai.utils.cuda
import
get_current_device
from
colossalai.utils
import
free_port
from
colossalai.utils
import
ColoInitContext
from
colossalai.tensor
import
distspec
,
named_params_with_colotensor
,
TensorSpec
,
ComputePattern
,
\
from
colossalai.utils
.model.colo_init_context
import
ColoInitContext
from
colossalai.tensor
import
distspec
,
TensorSpec
,
ComputePattern
,
\
ParallelAction
,
ColoTensor
,
DistSpecManager
from
colossalai.context
import
ParallelMode
from
colossalai.core
import
global_context
as
gpc
...
...
tests/test_tensor/test_module_spec.py
View file @
49832b23
...
...
@@ -6,7 +6,7 @@ import torch
import
torch.multiprocessing
as
mp
from
colossalai.tensor
import
TensorSpec
,
ComputePattern
,
ParallelAction
from
colossalai.nn
import
init_colo_module
,
check_colo_module
from
colossalai.nn
.parallel.layers
import
init_colo_module
,
check_colo_module
from
_utils
import
tensor_equal
,
tensor_shard_equal
,
set_seed
import
colossalai
...
...
tests/test_tensor/test_zero.py
View file @
49832b23
...
...
@@ -5,14 +5,14 @@ import torch.multiprocessing as mp
from
colossalai.testing
import
rerun_if_address_is_in_use
from
colossalai.utils.cuda
import
get_current_device
from
colossalai.utils
import
free_port
from
colossalai.utils
import
ColoInitContext
from
colossalai.tensor
import
TensorSpec
,
ComputePattern
,
ParallelAction
,
DistSpecManager
,
distspec
,
ColoParameter
,
ChunkManager
from
colossalai.utils
.model.colo_init_context
import
ColoInitContext
from
colossalai.tensor
import
ChunkManager
from
colossalai.core
import
global_context
as
gpc
from
functools
import
partial
from
_utils
import
tensor_equal
,
tensor_shard_equal
,
set_seed
from
_utils
import
tensor_equal
,
set_seed
from
tests.components_to_test.registry
import
non_distributed_component_funcs
from
torch.nn.parallel
import
DistributedDataParallel
as
DDP
from
colossalai.nn.parallel
import
ColoDDP
,
ColoDDPV2
from
colossalai.nn.parallel
import
ColoDDPV2
from
colossalai.testing
import
parameterize
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment