shibo19
bb2fcc7659
unify TEST_CUDA ( #106685 )
...
Fixes #ISSUE_NUMBER
as title, unify TEST_CUDA
Pull Request resolved: https://github.com/pytorch/pytorch/pull/106685
Approved by: https://github.com/zou3519
2023-08-10 09:01:36 +00:00
Aidyn-A
69eef5a4be
[CUDA12] set_device change ( #94864 )
...
This PR adds workaround for CUDA 12 [`cudaSetDevice` change](https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE.html#group__CUDART__DEVICE_1g159587909ffa0791bbe4b40187a4c6bb ) which will always create primary context on target device. So operations like this:
```Python
import torch
x = torch.randn(1, device="cuda:1")
```
would always create primary context on on device `cuda:1` because it is creating a tensor on it and on device `cuda:0` because the destructor of CUDA Device guard calls `cudaSetDevice(0)`.
After this PR the CUDA Device guard will not call `cudaSetDevice(0)` if primary context does not exist on `cuda:0`.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/94864
Approved by: https://github.com/malfet , https://github.com/atalman , https://github.com/ezyang
2023-04-10 17:31:12 +00:00
PyTorch MergeBot
279ca5f9db
Revert "[CUDA12] set_device change ( #94864 )"
...
This reverts commit c18be2b2ec .
Reverted https://github.com/pytorch/pytorch/pull/94864 on behalf of https://github.com/ezyang due to avoid affecting cuda 11
2023-04-05 14:53:00 +00:00
Aidyn-A
c18be2b2ec
[CUDA12] set_device change ( #94864 )
...
This PR adds workaround for CUDA 12 [`cudaSetDevice` change](https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE.html#group__CUDART__DEVICE_1g159587909ffa0791bbe4b40187a4c6bb ) which will always create primary context on target device. So operations like this:
```Python
import torch
x = torch.randn(1, device="cuda:1")
```
would always create primary context on on device `cuda:1` because it is creating a tensor on it and on device `cuda:0` because the destructor of CUDA Device guard calls `cudaSetDevice(0)`.
After this PR the CUDA Device guard will not call `cudaSetDevice(0)` if primary context does not exist on `cuda:0`.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/94864
Approved by: https://github.com/malfet , https://github.com/atalman , https://github.com/ezyang
2023-04-05 14:34:00 +00:00
David Berard
b4f434a731
[JIT] mark _exchange_device op as having side effects ( #96364 )
...
In #95305 the _exchange_device ops are getting dead-code-eliminated, so they don't get called. #95306 fixes this by using the output of the op, but it's still possible that JIT might reorder the op around other ops.
This PR marks _exchange_device as having side effects so that the ops won't get dead code eliminated or reordered, even if the return is not used.
Differential Revision: [D43966285](https://our.internmc.facebook.com/intern/diff/D43966285 )
Pull Request resolved: https://github.com/pytorch/pytorch/pull/96364
Approved by: https://github.com/eellison
2023-03-11 04:17:58 +00:00
Catherine Lee
eea0733045
Reduce pytest blocklist ( #96016 )
...
`TestCase = object` or variations of it get switched to `TestCase = NoTest`.
unittest collects test based on subclassing unittest.TestCase, so setting TestCase = object removes it from unittest test collection. pytest collects based on name (https://docs.pytest.org/en/7.1.x/reference/reference.html#confval-python_classes ) but can be told to ignore a class (bottom of https://docs.pytest.org/en/7.1.x/example/pythoncollection.html#changing-naming-conventions )
Pull Request resolved: https://github.com/pytorch/pytorch/pull/96016
Approved by: https://github.com/ZainRizvi , https://github.com/huydhn
2023-03-07 18:30:27 +00:00
Xuehai Pan
046e88a291
[BE] [3/3] Rewrite super() calls in test ( #94592 )
...
Rewrite Python built-in class `super()` calls. Only non-semantic changes should be applied.
- #94587
- #94588
- #94592
Also, methods with only a `super()` call are removed:
```diff
class MyModule(nn.Module):
- def __init__(self):
- super().__init__()
-
def forward(self, ...):
...
```
Some cases that change the semantics should be kept unchanged. E.g.:
f152a79be9/caffe2/python/net_printer.py (L184-L190)
f152a79be9/test/test_jit_fuser_te.py (L2628-L2635)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/94592
Approved by: https://github.com/ezyang , https://github.com/seemethere
2023-02-12 22:20:53 +00:00
Andres Lugo-Reyes
f1a1356907
[ROCm] Enable/fix unit tests test_stream_args and test_event_args ( #82346 )
...
### Description
Removed some stubbed out code that was necessary for ROCm builds to support JIT compilation of Event and Stream classes. Original motivation for the code to be stubbed out in the ROCm case was likely due to this pull request:
https://github.com/pytorch/pytorch/pull/48020
In this PR, the include statement at the at the top of cuda.h was incorrectly pointed to aten/src/ATen/cuda/CUDAEvent.h when it should have been set to ATen/cuda/CUDAEvent.h. This error caused the hipification process of build_amd.py to not hipify this include statement correctly, causing errors. The include statement in question was subsequently fixed in the following commit:
acd072967a
This PR re-introduces the stubbed out code to the ROCm build and "unskips" the associated unit tests.
### Testing
Note: bullets prepended by ROCm were tested on systems with AMD GPUs while the others were tested with NVIDIA GPUs.
- apply commit
- (ROCm)`python tools/amd_build/build_amd.py`
- `python setup.py develop`
- (ROCm)`PYTORCH_TEST_WITH_ROCM=1 python test/test_jit.py TestCUDA.test_event_args`
- (ROCm)`PYTORCH_TEST_WITH_ROCM=1 python test/test_jit.py TestCUDA.test_stream_args`
- `python test/test_jit.py TestCUDA.test_event_args`
- `python test/test_jit.py TestCUDA.test_stream_args`
- Confirm tests pass in all scenarios
Pull Request resolved: https://github.com/pytorch/pytorch/pull/82346
Approved by: https://github.com/malfet
2022-08-01 22:55:15 +00:00
Jane Xu
09c7771e9c
Set test owners for jit tests ( #66808 )
...
Summary:
Action following https://github.com/pytorch/pytorch/issues/66232
Pull Request resolved: https://github.com/pytorch/pytorch/pull/66808
Reviewed By: mrshenli
Differential Revision: D31761414
Pulled By: janeyx99
fbshipit-source-id: baf8c49ff9c4bcda7b0ea0f6aafd26380586e72d
2021-10-25 07:51:10 -07:00
Nikitha Malgi
88c06d9dfc
Add cuda device synchronization support in JIT ( #55469 )
...
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/55469
Test Plan: Imported from OSS
Reviewed By: ZolotukhinM
Differential Revision: D27749077
Pulled By: nikithamalgifb
fbshipit-source-id: bce3d331ab781cf3232b47b4f02ef504b9eadc7e
2021-04-14 09:13:07 -07:00
Nikitha Malgi
197f9f0826
Merge CUDA Streams and Events ( #53902 )
...
Summary:
-----------
- Updates current_stream and default stream API's to take `optional[device]` argument
- Adds parsing logic to replace `torch.cuda.Stream` and `torch.cuda.Event` -> `torch.classes.cuda.Stream` and `torch.classes.cuda.Event` for JIT
- Merges StreamContext manager for both Eager and JIT.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/53902
Test Plan:
------
Run JIT tests:
python test/test_jit.py -v TestCUDA
Run eager tests:
python test/test_cuda.py -v TestCuda
Reviewed By: glaringlee
Differential Revision: D27494627
Pulled By: nikithamalgifb
fbshipit-source-id: b30b0570e38a33fb335c83762eb06ffd46a44b5c
2021-04-05 08:19:55 -07:00
Jianyu Huang
7fc03dd7c9
Back out "[pytorch][PR] Merge CUDA Streams and Events" ( #54996 )
...
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/54996
Original commit changeset: 45d9fee9a582
Test Plan: CI
Reviewed By: jspark1105
Differential Revision: D27444718
fbshipit-source-id: deb627230817923eaf84ade50ecb14bfbce4e779
2021-03-31 10:21:35 -07:00
Nikitha Malgi
416ba5c48f
Merge CUDA Streams and Events ( #53902 )
...
Summary:
-----------
- Updates current_stream and default stream API's to take `optional[device]` argument
- Adds parsing logic to replace `torch.cuda.Stream` and `torch.cuda.Event` -> `torch.classes.cuda.Stream` and `torch.classes.cuda.Event` for JIT
- Merges StreamContext manager for both Eager and JIT.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/53902
Test Plan:
------
Run JIT tests:
python test/test_jit.py -v TestCUDA
Run eager tests:
python test/test_cuda.py -v TestCuda
Reviewed By: SplitInfinity
Differential Revision: D27285996
Pulled By: nikithamalgifb
fbshipit-source-id: 45d9fee9a582b5f4c82330f5f99eb88584804270
2021-03-26 14:19:39 -07:00
Nikitha Malgi
cfaa0bf286
[JIT] Update Namespace from cuda to _cuda ( #53378 )
...
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/53378
Test Plan: Imported from OSS
Reviewed By: navahgar
Differential Revision: D26970607
Pulled By: nikithamalgifb
fbshipit-source-id: 20a55dd9c0071c5870a4b176d30cb9c1e1496687
2021-03-11 00:52:01 -08:00
Nikitha Malgi
ab7f6f3f5b
Add default arguments to cuda stream and events ( #53025 )
...
Summary:
* **https://github.com/pytorch/pytorch/issues/53025 Add default args for CUDA stream and events**
Tests:
=====
python test/test_jit.py -v TestCUDA
Pull Request resolved: https://github.com/pytorch/pytorch/pull/53025
Reviewed By: H-Huang
Differential Revision: D26734499
Pulled By: nikithamalgifb
fbshipit-source-id: 5311623a501e2e6fb3fc70e39522e3970e401feb
2021-03-02 14:37:24 -08:00
Nikitha Malgi
12b73fdbbf
Adding JIT support for cuda streams and events ( #48020 )
...
Summary:
=======
This PR addresses the following:
* Adds JIT support for CUDA Streams
* Adds JIT support for CUDA Events
* Adds JIT support for CUDA Stream context manager
Testing:
======
python test/test_jit.py -v TestCUDA
Pull Request resolved: https://github.com/pytorch/pytorch/pull/48020
Reviewed By: navahgar
Differential Revision: D25725749
Pulled By: nikithamalgifb
fbshipit-source-id: b0addeb49630f8f0c430ed7badeca43bb9d2535c
2020-12-29 20:24:57 -08:00