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
fairscale
Commits
bc1e60e0
"vscode:/vscode.git/clone" did not exist on "2381dd89f1959b8931c692c6406fa6813cddfb1f"
Unverified
Commit
bc1e60e0
authored
Jun 25, 2021
by
Pavel Belevich
Committed by
GitHub
Jun 25, 2021
Browse files
Fix pytorch version check (#716)
parent
00ec9ff1
Changes
29
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
24 additions
and
15 deletions
+24
-15
tests/nn/data_parallel/test_fsdp_uneven.py
tests/nn/data_parallel/test_fsdp_uneven.py
+2
-1
tests/nn/data_parallel/test_fsdp_with_checkpoint_wrapper.py
tests/nn/data_parallel/test_fsdp_with_checkpoint_wrapper.py
+2
-1
tests/nn/data_parallel/test_sharded_ddp_pytorch_parity.py
tests/nn/data_parallel/test_sharded_ddp_pytorch_parity.py
+2
-7
tests/nn/moe/test_moe_layer.py
tests/nn/moe/test_moe_layer.py
+1
-1
tests/nn/pipe_process/test_pipe.py
tests/nn/pipe_process/test_pipe.py
+2
-1
tests/nn/pipe_process/test_rpc.py
tests/nn/pipe_process/test_rpc.py
+2
-1
tests/optim/test_oss.py
tests/optim/test_oss.py
+1
-1
tests/utils/test_reduce_scatter_bucketer.py
tests/utils/test_reduce_scatter_bucketer.py
+2
-2
tests/utils/test_version.py
tests/utils/test_version.py
+10
-0
No files found.
tests/nn/data_parallel/test_fsdp_uneven.py
View file @
bc1e60e0
...
@@ -20,7 +20,8 @@ from torch.optim import SGD
...
@@ -20,7 +20,8 @@ from torch.optim import SGD
from
fairscale.nn.data_parallel
import
FullyShardedDataParallel
as
FSDP
from
fairscale.nn.data_parallel
import
FullyShardedDataParallel
as
FSDP
from
fairscale.nn.data_parallel.fully_sharded_data_parallel
import
TrainingState
from
fairscale.nn.data_parallel.fully_sharded_data_parallel
import
TrainingState
from
fairscale.utils.testing
import
dist_init
,
skip_if_single_gpu
,
teardown
,
torch_version
from
fairscale.utils
import
torch_version
from
fairscale.utils.testing
import
dist_init
,
skip_if_single_gpu
,
teardown
def
_test_func
(
rank
,
world_size
,
model
,
fsdp_config
,
tempfile_name
,
unused
,
test_case
):
def
_test_func
(
rank
,
world_size
,
model
,
fsdp_config
,
tempfile_name
,
unused
,
test_case
):
...
...
tests/nn/data_parallel/test_fsdp_with_checkpoint_wrapper.py
View file @
bc1e60e0
...
@@ -13,7 +13,8 @@ import torch.multiprocessing as mp
...
@@ -13,7 +13,8 @@ import torch.multiprocessing as mp
from
fairscale.nn.checkpoint.checkpoint_activations
import
checkpoint_wrapper
from
fairscale.nn.checkpoint.checkpoint_activations
import
checkpoint_wrapper
from
fairscale.nn.data_parallel
import
FullyShardedDataParallel
from
fairscale.nn.data_parallel
import
FullyShardedDataParallel
from
fairscale.utils.testing
import
dist_init
,
skip_if_single_gpu
,
teardown
,
temp_files_ctx
,
torch_version
from
fairscale.utils
import
torch_version
from
fairscale.utils.testing
import
dist_init
,
skip_if_single_gpu
,
teardown
,
temp_files_ctx
@
skip_if_single_gpu
@
skip_if_single_gpu
...
...
tests/nn/data_parallel/test_sharded_ddp_pytorch_parity.py
View file @
bc1e60e0
...
@@ -22,13 +22,8 @@ from torch.nn.parallel import DistributedDataParallel as DDP
...
@@ -22,13 +22,8 @@ from torch.nn.parallel import DistributedDataParallel as DDP
from
fairscale.nn.data_parallel
import
ShardedDataParallel
from
fairscale.nn.data_parallel
import
ShardedDataParallel
from
fairscale.optim
import
OSS
from
fairscale.optim
import
OSS
from
fairscale.optim.grad_scaler
import
ShardedGradScaler
from
fairscale.optim.grad_scaler
import
ShardedGradScaler
from
fairscale.utils.testing
import
(
from
fairscale.utils
import
torch_version
check_same_model_params
,
from
fairscale.utils.testing
import
check_same_model_params
,
skip_if_no_cuda
,
skip_if_single_gpu
,
temp_files_ctx
skip_if_no_cuda
,
skip_if_single_gpu
,
temp_files_ctx
,
torch_version
,
)
"""
"""
Check that ShardedDDP gets the same results as DDP in a variety of scenarii
Check that ShardedDDP gets the same results as DDP in a variety of scenarii
...
...
tests/nn/moe/test_moe_layer.py
View file @
bc1e60e0
...
@@ -12,7 +12,7 @@ import torch.distributed as dist
...
@@ -12,7 +12,7 @@ import torch.distributed as dist
import
torch.multiprocessing
as
mp
import
torch.multiprocessing
as
mp
from
fairscale.nn
import
MOELayer
,
Top2Gate
from
fairscale.nn
import
MOELayer
,
Top2Gate
from
fairscale.utils
.testing
import
torch_version
from
fairscale.utils
import
torch_version
pytestmark
=
pytest
.
mark
.
skipif
(
pytestmark
=
pytest
.
mark
.
skipif
(
not
(
torch
.
cuda
.
is_available
()
and
torch_version
()
>=
(
1
,
8
,
0
)),
reason
=
"cuda and torch>=1.8.0 required"
not
(
torch
.
cuda
.
is_available
()
and
torch_version
()
>=
(
1
,
8
,
0
)),
reason
=
"cuda and torch>=1.8.0 required"
...
...
tests/nn/pipe_process/test_pipe.py
View file @
bc1e60e0
...
@@ -29,7 +29,8 @@ from torch import nn
...
@@ -29,7 +29,8 @@ from torch import nn
from
fairscale.nn.model_parallel.initialize
import
get_pipeline_parallel_group
from
fairscale.nn.model_parallel.initialize
import
get_pipeline_parallel_group
from
fairscale.nn.pipe
import
AsyncPipe
from
fairscale.nn.pipe
import
AsyncPipe
from
fairscale.nn.pipe.types
import
LazyModule
from
fairscale.nn.pipe.types
import
LazyModule
from
fairscale.utils.testing
import
get_worker_map
,
torch_spawn
,
torch_version
from
fairscale.utils
import
torch_version
from
fairscale.utils.testing
import
get_worker_map
,
torch_spawn
@
torch_spawn
([
2
])
@
torch_spawn
([
2
])
...
...
tests/nn/pipe_process/test_rpc.py
View file @
bc1e60e0
...
@@ -8,6 +8,7 @@ from torch.distributed import rpc
...
@@ -8,6 +8,7 @@ from torch.distributed import rpc
from
fairscale.nn.model_parallel.initialize
import
get_pipeline_parallel_group
from
fairscale.nn.model_parallel.initialize
import
get_pipeline_parallel_group
from
fairscale.nn.pipe
import
PipeRPCWrapper
from
fairscale.nn.pipe
import
PipeRPCWrapper
from
fairscale.utils
import
torch_version
from
fairscale.utils.testing
import
get_worker_map
,
torch_spawn
from
fairscale.utils.testing
import
get_worker_map
,
torch_spawn
...
@@ -242,7 +243,7 @@ def rpc_multiple_tensors():
...
@@ -242,7 +243,7 @@ def rpc_multiple_tensors():
@
pytest
.
mark
.
skipif
(
"OMPI_COMM_WORLD_RANK"
in
os
.
environ
,
reason
=
"no mpi"
)
@
pytest
.
mark
.
skipif
(
"OMPI_COMM_WORLD_RANK"
in
os
.
environ
,
reason
=
"no mpi"
)
@
pytest
.
mark
.
skipif
(
not
torch
.
cuda
.
is_available
(),
reason
=
"cuda required"
)
@
pytest
.
mark
.
skipif
(
not
torch
.
cuda
.
is_available
(),
reason
=
"cuda required"
)
# TODO(msb) Fix this
# TODO(msb) Fix this
@
pytest
.
mark
.
skipif
(
torch
.
_
_version
__
.
split
(
"+"
)[
0
].
split
(
"."
)
>=
[
"1"
,
"8"
,
"0"
]
,
reason
=
"disabled for torch 1.8.0"
)
@
pytest
.
mark
.
skipif
(
torch_version
()
>=
(
1
,
8
,
0
)
,
reason
=
"disabled for torch 1.8.0"
)
def
construct_only_rank_zero
():
def
construct_only_rank_zero
():
model
=
[
nn
.
Linear
(
10
,
10
),
nn
.
ReLU
()]
model
=
[
nn
.
Linear
(
10
,
10
),
nn
.
ReLU
()]
if
torch
.
distributed
.
get_rank
()
==
0
:
if
torch
.
distributed
.
get_rank
()
==
0
:
...
...
tests/optim/test_oss.py
View file @
bc1e60e0
...
@@ -23,13 +23,13 @@ from torch.nn.parallel import DistributedDataParallel as DDP
...
@@ -23,13 +23,13 @@ from torch.nn.parallel import DistributedDataParallel as DDP
import
fairscale.optim
as
optim
import
fairscale.optim
as
optim
import
fairscale.utils
as
utils
import
fairscale.utils
as
utils
from
fairscale.utils
import
torch_version
from
fairscale.utils.testing
import
(
from
fairscale.utils.testing
import
(
check_same_model_params
,
check_same_model_params
,
check_same_models_across_ranks
,
check_same_models_across_ranks
,
skip_if_no_cuda
,
skip_if_no_cuda
,
skip_if_py39_no_cuda
,
skip_if_py39_no_cuda
,
skip_if_single_gpu
,
skip_if_single_gpu
,
torch_version
,
)
)
BACKEND
=
dist
.
Backend
.
NCCL
if
torch
.
cuda
.
is_available
()
else
dist
.
Backend
.
GLOO
# type: ignore
BACKEND
=
dist
.
Backend
.
NCCL
if
torch
.
cuda
.
is_available
()
else
dist
.
Backend
.
GLOO
# type: ignore
...
...
tests/utils/test_reduce_scatter_bucketer.py
View file @
bc1e60e0
...
@@ -12,6 +12,7 @@ from unittest import mock
...
@@ -12,6 +12,7 @@ from unittest import mock
from
parameterized
import
parameterized
from
parameterized
import
parameterized
import
torch
import
torch
from
fairscale.utils
import
torch_version
from
fairscale.utils.reduce_scatter_bucketer
import
ReduceScatterBucketer
from
fairscale.utils.reduce_scatter_bucketer
import
ReduceScatterBucketer
from
fairscale.utils.testing
import
dist_init
,
spawn_for_all_world_sizes
from
fairscale.utils.testing
import
dist_init
,
spawn_for_all_world_sizes
...
@@ -28,8 +29,7 @@ CONFIG_OPTIONS = [
...
@@ -28,8 +29,7 @@ CONFIG_OPTIONS = [
class
TestReduceScatterBucketer
(
unittest
.
TestCase
):
class
TestReduceScatterBucketer
(
unittest
.
TestCase
):
# TODO(sshleifer): check if possible to reuse `DistributedTest, spawn_and_init`.
# TODO(sshleifer): check if possible to reuse `DistributedTest, spawn_and_init`.
def
setUp
(
self
):
def
setUp
(
self
):
major
,
minor
=
torch
.
__version__
.
split
(
"."
)[:
2
]
major
,
minor
,
_
=
torch_version
()
major
,
minor
=
int
(
major
),
int
(
minor
)
if
major
<
1
or
(
major
==
1
and
minor
<
6
):
if
major
<
1
or
(
major
==
1
and
minor
<
6
):
raise
unittest
.
SkipTest
(
"Need pytorch version >= 1.6 due to reduce_scatter"
)
raise
unittest
.
SkipTest
(
"Need pytorch version >= 1.6 due to reduce_scatter"
)
if
not
torch
.
cuda
.
is_available
():
if
not
torch
.
cuda
.
is_available
():
...
...
tests/utils/test_version.py
0 → 100644
View file @
bc1e60e0
from
fairscale.utils
import
torch_version
def
test_torch_version
():
assert
torch_version
(
""
)
==
tuple
()
assert
torch_version
(
"bad format"
)
==
tuple
()
assert
torch_version
(
"1.9.0"
)
==
(
1
,
9
,
0
)
assert
torch_version
(
"1.10.0a0+gitbc6fc3e"
)
==
(
1
,
10
,
0
)
assert
torch_version
(
"1.7.0+cu102"
)
==
(
1
,
7
,
0
)
assert
torch_version
(
"1.10.0a0+fb"
)
==
(
1
,
10
,
0
)
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