René's URL Explorer Experiment


Title: CUDA Streams — PyTorch main documentation

Description: CUDA streams in PyTorch C++ — CUDAStream for asynchronous GPU execution and synchronization.

Keywords:

direct link

Domain: docs.pytorch.org


Hey, it has json ld scripts:
    {
       "@context": "https://schema.org",
       "@type": "Article",
       "name": "CUDA Streams",
       "headline": "CUDA Streams",
       "description": "CUDA streams in PyTorch C++ \u2014 CUDAStream for asynchronous GPU execution and synchronization.",
       "url": "/api/cuda/streams.html",
       "articleBody": "CUDA Streams# CUDA streams provide a mechanism for asynchronous execution of operations on the GPU. Operations queued to the same stream execute in order, while operations on different streams can execute concurrently. CUDAStream# class CUDAStream# Public Types enum Unchecked# Values: enumerator UNCHECKED# Public Functions inline explicit CUDAStream(Stream stream)# Construct a CUDAStream from a Stream. This construction is checked, and will raise an error if the Stream is not, in fact, a CUDA stream. inline explicit CUDAStream(Unchecked, Stream stream)# Construct a CUDAStream from a Stream with no error checking. This constructor uses the \u201cnamed\u201d constructor idiom, and can be invoked as: CUDAStream(CUDAStream::UNCHECKED, stream) inline bool operator==(const CUDAStream \u0026other) const noexcept# inline bool operator!=(const CUDAStream \u0026other) const noexcept# inline operator cudaStream_t() const# Implicit conversion to cudaStream_t. inline operator Stream() const# Implicit conversion to Stream (a.k.a., forget that the stream is a CUDA stream). inline DeviceType device_type() const# Used to avoid baking in device type explicitly to Python-side API. inline DeviceIndex device_index() const# Get the CUDA device index that this stream is associated with. inline Device device() const# Get the full Device that this stream is associated with. The Device is guaranteed to be a CUDA device. inline StreamId id() const# Return the stream ID corresponding to this particular stream. bool query() const# void synchronize() const# inline bool is_capturing() const# inline int priority() const# cudaStream_t stream() const# Explicit conversion to cudaStream_t. inline Stream unwrap() const# Explicit conversion to Stream. inline struct c10::StreamData3 pack3() const# Reversibly pack a CUDAStream into a struct representation. Previously the stream\u2019s data was packed into a single int64_t, as it was assumed the fields would not require more than 64 bits of storage in total. See pytorch/pytorch#75854 for more information regarding newer platforms that may violate this assumption. The CUDAStream can be unpacked using unpack(). Public Static Functions static inline CUDAStream unpack3(StreamId stream_id, DeviceIndex device_index, DeviceType device_type)# static inline std::tuple\u003cint, int\u003e priority_range()# Example: #include \u003cc10/cuda/CUDAStream.h\u003e // Get the default stream for current device auto stream = c10::cuda::getDefaultCUDAStream(); // Create a new stream auto new_stream = c10::cuda::getStreamFromPool(); // Get current stream auto current = c10::cuda::getCurrentCUDAStream(); // Synchronize stream.synchronize(); Acquiring CUDA Streams# PyTorch provides several ways to acquire CUDA streams: From the stream pool (round-robin allocation): // Normal priority stream at::cuda::CUDAStream stream = at::cuda::getStreamFromPool(); // High priority stream at::cuda::CUDAStream high_prio = at::cuda::getStreamFromPool(/*isHighPriority=*/true); // Stream for specific device at::cuda::CUDAStream dev1_stream = at::cuda::getStreamFromPool(false, /*device=*/1); Default stream (where most computation occurs): at::cuda::CUDAStream defaultStream = at::cuda::getDefaultCUDAStream(); Current stream (may differ if changed with guards): at::cuda::CUDAStream currentStream = at::cuda::getCurrentCUDAStream(); Setting CUDA Streams# Using setCurrentCUDAStream: torch::Tensor tensor0 = torch::ones({2, 2}, torch::device(torch::kCUDA)); // Get a new stream and set it as current at::cuda::CUDAStream myStream = at::cuda::getStreamFromPool(); at::cuda::setCurrentCUDAStream(myStream); // Operations now use myStream tensor0.sum(); // Restore default stream at::cuda::setCurrentCUDAStream(at::cuda::getDefaultCUDAStream()); Using CUDAStreamGuard (recommended): torch::Tensor tensor0 = torch::ones({2, 2}, torch::device(torch::kCUDA)); at::cuda::CUDAStream myStream = at::cuda::getStreamFromPool(); { at::cuda::CUDAStreamGuard guard(myStream); // Operations use myStream within this scope tensor0.sum(); } // Stream automatically restored to default Multi-Device Stream Management# Streams on multiple devices: // Acquire streams for different devices at::cuda::CUDAStream stream0 = at::cuda::getStreamFromPool(false, 0); at::cuda::CUDAStream stream1 = at::cuda::getStreamFromPool(false, 1); // Set current streams on each device at::cuda::setCurrentCUDAStream(stream0); at::cuda::setCurrentCUDAStream(stream1); // Create tensors on device 0 torch::Tensor tensor0 = torch::ones({2, 2}, torch::device(at::kCUDA)); tensor0.sum(); // Uses stream0 // Switch to device 1 { at::cuda::CUDAGuard device_guard(1); torch::Tensor tensor1 = torch::ones({2, 2}, torch::device(at::kCUDA)); tensor1.sum(); // Uses stream1 } Using CUDAMultiStreamGuard: torch::Tensor tensor0 = torch::ones({2, 2}, torch::device({torch::kCUDA, 0})); torch::Tensor tensor1 = torch::ones({2, 2}, torch::device({torch::kCUDA, 1})); at::cuda::CUDAStream stream0 = at::cuda::getStreamFromPool(false, 0); at::cuda::CUDAStream stream1 = at::cuda::getStreamFromPool(false, 1); { // Set streams on both devices simultaneously at::cuda::CUDAMultiStreamGuard multi_guard({stream0, stream1}); tensor0.sum(); // Uses stream0 on device 0 tensor1.sum(); // Uses stream1 on device 1 } // Both streams restored to defaults Attention CUDAMultiStreamGuard does not change the current device index. It only changes the stream on each passed-in stream\u2019s device. Multi-Device Stream Handling Pattern# The following skeleton shows three common patterns for acquiring and setting streams across multiple CUDA devices: // Create stream vectors on device 0 std::vector\u003cat::cuda::CUDAStream\u003e streams0 = {at::cuda::getDefaultCUDAStream(), at::cuda::getStreamFromPool()}; at::cuda::setCurrentCUDAStream(streams0[0]); // Create stream vector on device 1 using CUDAGuard std::vector\u003cat::cuda::CUDAStream\u003e streams1; { at::cuda::CUDAGuard device_guard(1); streams1.push_back(at::cuda::getDefaultCUDAStream()); streams1.push_back(at::cuda::getStreamFromPool()); } at::cuda::setCurrentCUDAStream(streams1[0]); // Pattern 1: CUDAGuard changes current device only, not streams { at::cuda::CUDAGuard device_guard(1); // current device is 1, current stream on device 1 is still streams1[0] } // Pattern 2: CUDAStreamGuard changes both current device and current stream { at::cuda::CUDAStreamGuard stream_guard(streams1[1]); // current device is 1, current stream is streams1[1] } // restored to device 0, stream streams0[0] // Pattern 3: CUDAMultiStreamGuard sets streams on multiple devices at once { at::cuda::CUDAMultiStreamGuard multi_guard({streams0[1], streams1[1]}); // current device unchanged (still 0) // stream on device 0 is streams0[1], stream on device 1 is streams1[1] } // streams restored to streams0[0] and streams1[0]",
       "author": {
         "@type": "Organization",
         "name": "PyTorch Contributors",
         "url": "https://pytorch.org"
       },
       "image": "https://pytorch.org/docs/stable/_static/img/pytorch_seo.png",
       "mainEntityOfPage": {
         "@type": "WebPage",
         "@id": "/api/cuda/streams.html"
       },
       "datePublished": "2023-01-01T00:00:00Z",
       "dateModified": "2023-01-01T00:00:00Z"
     }
 

docsearch:languageen
llm:site-typedocumentation
llm:frameworkPyTorch
llm:descriptionCUDA streams in PyTorch C++ — CUDAStream for asynchronous GPU execution and synchronization.
llm:navigation-filehttps://pytorch.org/docs/stable/llms.txt
llm:sitemaphttps://pytorch.org/docs/stable/sitemap.xml
llm:versionmain
llm:projectPyTorch
llm:page-typedocumentation
og:imagehttps://docs.pytorch.org/docs/stable/_static/img/pytorch_seo.png
None3

Links:

Skip to main contenthttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#main-content
Home https://docs.pytorch.org/cppdocs/index.html
mainhttps://docs.pytorch.org/cppdocs/index.html
Installing C++ Distributions of PyTorch https://docs.pytorch.org/cppdocs/installing.html
The C++ Frontend https://docs.pytorch.org/cppdocs/frontend.html
C++ API Reference https://docs.pytorch.org/cppdocs/api/index.html
ATen: Tensor Library https://docs.pytorch.org/cppdocs/api/aten/index.html
C10: Core Utilities https://docs.pytorch.org/cppdocs/api/c10/index.html
Autograd: Automatic Differentiation https://docs.pytorch.org/cppdocs/api/autograd/index.html
CUDA Support https://docs.pytorch.org/cppdocs/api/cuda/index.html
XPU Support https://docs.pytorch.org/cppdocs/api/xpu/index.html
Neural Network Modules (torch::nn) https://docs.pytorch.org/cppdocs/api/nn/index.html
Optimizers (torch::optim) https://docs.pytorch.org/cppdocs/api/optim/index.html
Data Loading (torch::data) https://docs.pytorch.org/cppdocs/api/data/index.html
Serialization (torch::serialize) https://docs.pytorch.org/cppdocs/api/serialize/index.html
Torch Library API https://docs.pytorch.org/cppdocs/api/library/index.html
Torch Stable API https://docs.pytorch.org/cppdocs/api/stable/index.html
FAQ https://docs.pytorch.org/cppdocs/faq.html
Go to pytorch.org https://pytorch.org
Xhttps://x.com/PyTorch
GitHubhttps://github.com/pytorch/pytorch
PyTorch Forumhttps://discuss.pytorch.org/
PyPihttps://pypi.org/project/torch/
mainhttps://docs.pytorch.org/cppdocs/index.html
Installing C++ Distributions of PyTorch https://docs.pytorch.org/cppdocs/installing.html
The C++ Frontend https://docs.pytorch.org/cppdocs/frontend.html
C++ API Reference https://docs.pytorch.org/cppdocs/api/index.html
ATen: Tensor Library https://docs.pytorch.org/cppdocs/api/aten/index.html
C10: Core Utilities https://docs.pytorch.org/cppdocs/api/c10/index.html
Autograd: Automatic Differentiation https://docs.pytorch.org/cppdocs/api/autograd/index.html
CUDA Support https://docs.pytorch.org/cppdocs/api/cuda/index.html
XPU Support https://docs.pytorch.org/cppdocs/api/xpu/index.html
Neural Network Modules (torch::nn) https://docs.pytorch.org/cppdocs/api/nn/index.html
Optimizers (torch::optim) https://docs.pytorch.org/cppdocs/api/optim/index.html
Data Loading (torch::data) https://docs.pytorch.org/cppdocs/api/data/index.html
Serialization (torch::serialize) https://docs.pytorch.org/cppdocs/api/serialize/index.html
Torch Library API https://docs.pytorch.org/cppdocs/api/library/index.html
Torch Stable API https://docs.pytorch.org/cppdocs/api/stable/index.html
FAQ https://docs.pytorch.org/cppdocs/faq.html
Go to pytorch.org https://pytorch.org
Xhttps://x.com/PyTorch
GitHubhttps://github.com/pytorch/pytorch
PyTorch Forumhttps://discuss.pytorch.org/
PyPihttps://pypi.org/project/torch/
ATen: Tensor Libraryhttps://docs.pytorch.org/cppdocs/api/aten/index.html
Tensor Classhttps://docs.pytorch.org/cppdocs/api/aten/tensor.html
Tensor Creationhttps://docs.pytorch.org/cppdocs/api/aten/creation.html
Tensor Indexinghttps://docs.pytorch.org/cppdocs/api/aten/indexing.html
Tensor Accessorshttps://docs.pytorch.org/cppdocs/api/aten/accessors.html
C10: Core Utilitieshttps://docs.pytorch.org/cppdocs/api/c10/index.html
Device and DeviceTypehttps://docs.pytorch.org/cppdocs/api/c10/device.html
Device Guardshttps://docs.pytorch.org/cppdocs/api/c10/guards.html
Streamshttps://docs.pytorch.org/cppdocs/api/c10/streams.html
Core Typeshttps://docs.pytorch.org/cppdocs/api/c10/types.html
Utilitieshttps://docs.pytorch.org/cppdocs/api/c10/utilities.html
Autograd: Automatic Differentiationhttps://docs.pytorch.org/cppdocs/api/autograd/index.html
Gradient Computationhttps://docs.pytorch.org/cppdocs/api/autograd/gradient.html
Custom Autograd Functionshttps://docs.pytorch.org/cppdocs/api/autograd/custom_functions.html
Gradient Modeshttps://docs.pytorch.org/cppdocs/api/autograd/modes.html
CUDA Supporthttps://docs.pytorch.org/cppdocs/api/cuda/index.html
CUDA Streamshttps://docs.pytorch.org/cppdocs/api/cuda/streams.html
CUDA Guardshttps://docs.pytorch.org/cppdocs/api/cuda/guards.html
CUDA Utility Functionshttps://docs.pytorch.org/cppdocs/api/cuda/utilities.html
XPU Supporthttps://docs.pytorch.org/cppdocs/api/xpu/index.html
XPU Streamshttps://docs.pytorch.org/cppdocs/api/xpu/streams.html
XPU Utility Functionshttps://docs.pytorch.org/cppdocs/api/xpu/utilities.html
Neural Network Modules (torch::nn)https://docs.pytorch.org/cppdocs/api/nn/index.html
Containershttps://docs.pytorch.org/cppdocs/api/nn/containers.html
Convolution Layershttps://docs.pytorch.org/cppdocs/api/nn/convolution.html
Pooling Layershttps://docs.pytorch.org/cppdocs/api/nn/pooling.html
Linear Layershttps://docs.pytorch.org/cppdocs/api/nn/linear.html
Activation Functionshttps://docs.pytorch.org/cppdocs/api/nn/activation.html
Normalization Layershttps://docs.pytorch.org/cppdocs/api/nn/normalization.html
Dropout Layershttps://docs.pytorch.org/cppdocs/api/nn/dropout.html
Embedding Layershttps://docs.pytorch.org/cppdocs/api/nn/embedding.html
Recurrent Layershttps://docs.pytorch.org/cppdocs/api/nn/recurrent.html
Transformer Layershttps://docs.pytorch.org/cppdocs/api/nn/transformer.html
Loss Functionshttps://docs.pytorch.org/cppdocs/api/nn/loss.html
Functional APIhttps://docs.pytorch.org/cppdocs/api/nn/functional.html
Utilitieshttps://docs.pytorch.org/cppdocs/api/nn/utilities.html
Optimizers (torch::optim)https://docs.pytorch.org/cppdocs/api/optim/index.html
Gradient Descent Optimizershttps://docs.pytorch.org/cppdocs/api/optim/gradient_descent.html
Adaptive Learning Rate Optimizershttps://docs.pytorch.org/cppdocs/api/optim/adaptive.html
Second-Order Optimizershttps://docs.pytorch.org/cppdocs/api/optim/second_order.html
Learning Rate Schedulershttps://docs.pytorch.org/cppdocs/api/optim/schedulers.html
Data Loading (torch::data)https://docs.pytorch.org/cppdocs/api/data/index.html
Datasetshttps://docs.pytorch.org/cppdocs/api/data/datasets.html
DataLoaderhttps://docs.pytorch.org/cppdocs/api/data/dataloader.html
Samplershttps://docs.pytorch.org/cppdocs/api/data/samplers.html
Transformshttps://docs.pytorch.org/cppdocs/api/data/transforms.html
Serialization (torch::serialize)https://docs.pytorch.org/cppdocs/api/serialize/index.html
Saving and Loadinghttps://docs.pytorch.org/cppdocs/api/serialize/save_load.html
Archiveshttps://docs.pytorch.org/cppdocs/api/serialize/archives.html
Checkpointshttps://docs.pytorch.org/cppdocs/api/serialize/checkpoints.html
Torch Library APIhttps://docs.pytorch.org/cppdocs/api/library/index.html
Operator Registrationhttps://docs.pytorch.org/cppdocs/api/library/registration.html
Custom Classeshttps://docs.pytorch.org/cppdocs/api/library/custom_classes.html
Library Versioninghttps://docs.pytorch.org/cppdocs/api/library/versioning.html
Torch Stable APIhttps://docs.pytorch.org/cppdocs/api/stable/index.html
Library Registration Macroshttps://docs.pytorch.org/cppdocs/api/stable/registration.html
Stable Operatorshttps://docs.pytorch.org/cppdocs/api/stable/operators.html
Utilitieshttps://docs.pytorch.org/cppdocs/api/stable/utilities.html
https://docs.pytorch.org/cppdocs/index.html
C++ API Referencehttps://docs.pytorch.org/cppdocs/api/index.html
CUDA Supporthttps://docs.pytorch.org/cppdocs/api/cuda/index.html
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#cuda-streams
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#cudastream
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream9UncheckedE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream9Unchecked9UNCHECKEDE
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#_CPPv4N3c106StreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream10CUDAStreamE6Stream
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#PyTorchclassc10_1_1cuda_1_1_c_u_d_a_stream
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#PyTorchclassc10_1_1_stream
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#PyTorchclassc10_1_1_stream
Uncheckedhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream9UncheckedE
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#_CPPv4N3c106StreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream10CUDAStreamE9Unchecked6Stream
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#PyTorchclassc10_1_1cuda_1_1_c_u_d_a_stream
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#PyTorchclassc10_1_1_stream
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreameqERK10CUDAStream
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamneERK10CUDAStream
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamcv12cudaStream_tEv
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#_CPPv4N3c106StreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamcv6StreamEv
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#PyTorchclassc10_1_1_stream
DeviceTypehttps://docs.pytorch.org/cppdocs/api/c10/device.html#_CPPv4N3c1010DeviceTypeE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream11device_typeEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream12device_indexEv
Devicehttps://docs.pytorch.org/cppdocs/api/c10/device.html#_CPPv4N3c106DeviceE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6deviceEv
Devicehttps://docs.pytorch.org/cppdocs/api/c10/device.html#PyTorchstructc10_1_1_device
Devicehttps://docs.pytorch.org/cppdocs/api/c10/device.html#PyTorchstructc10_1_1_device
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream2idEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream5queryEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream11synchronizeEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream12is_capturingEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream8priorityEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6streamEv
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#_CPPv4N3c106StreamE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6unwrapEv
Streamhttps://docs.pytorch.org/cppdocs/api/c10/streams.html#PyTorchclassc10_1_1_stream
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream5pack3Ev
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#PyTorchclassc10_1_1cuda_1_1_c_u_d_a_stream
pytorch/pytorch#75854https://github.com/pytorch/pytorch/issues/75854
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#PyTorchclassc10_1_1cuda_1_1_c_u_d_a_stream
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStreamE
DeviceTypehttps://docs.pytorch.org/cppdocs/api/c10/device.html#_CPPv4N3c1010DeviceTypeE
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream7unpack3E8StreamId11DeviceIndex10DeviceType
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream14priority_rangeEv
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#acquiring-cuda-streams
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#setting-cuda-streams
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#multi-device-stream-management
#https://docs.pytorch.org/cppdocs/api/cuda/streams.html#multi-device-stream-handling-pattern
previous CUDA Support https://docs.pytorch.org/cppdocs/api/cuda/index.html
next CUDA Guards https://docs.pytorch.org/cppdocs/api/cuda/guards.html
PyData Sphinx Themehttps://pydata-sphinx-theme.readthedocs.io/en/stable/index.html
previous CUDA Support https://docs.pytorch.org/cppdocs/api/cuda/index.html
next CUDA Guards https://docs.pytorch.org/cppdocs/api/cuda/guards.html
CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#cudastream
c10::cuda::CUDAStreamhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStreamE
Uncheckedhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream9UncheckedE
UNCHECKEDhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream9Unchecked9UNCHECKEDE
CUDAStream()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream10CUDAStreamE6Stream
CUDAStream()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream10CUDAStreamE9Unchecked6Stream
operator==()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreameqERK10CUDAStream
operator!=()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamneERK10CUDAStream
operator cudaStream_t()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamcv12cudaStream_tEv
operator Stream()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStreamcv6StreamEv
device_type()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream11device_typeEv
device_index()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream12device_indexEv
device()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6deviceEv
id()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream2idEv
query()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream5queryEv
synchronize()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream11synchronizeEv
is_capturing()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream12is_capturingEv
priority()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream8priorityEv
stream()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6streamEv
unwrap()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream6unwrapEv
pack3()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4NK3c104cuda10CUDAStream5pack3Ev
unpack3()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream7unpack3E8StreamId11DeviceIndex10DeviceType
priority_range()https://docs.pytorch.org/cppdocs/api/cuda/streams.html#_CPPv4N3c104cuda10CUDAStream14priority_rangeEv
Acquiring CUDA Streamshttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#acquiring-cuda-streams
Setting CUDA Streamshttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#setting-cuda-streams
Multi-Device Stream Managementhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#multi-device-stream-management
Multi-Device Stream Handling Patternhttps://docs.pytorch.org/cppdocs/api/cuda/streams.html#multi-device-stream-handling-pattern
Show Source https://docs.pytorch.org/cppdocs/_sources/api/cuda/streams.md.txt
ExecuTorchhttps://docs.pytorch.org/executorch
Helionhttps://docs.pytorch.org/helion
torchaohttps://docs.pytorch.org/ao
kinetohttps://github.com/pytorch/kineto
torchtitanhttps://github.com/pytorch/torchtitan
TorchRLhttps://docs.pytorch.org/rl
torchvisionhttps://docs.pytorch.org/vision
torchaudiohttps://docs.pytorch.org/audio
tensordicthttps://docs.pytorch.org/tensordict
PyTorch on XLA Deviceshttps://docs.pytorch.org/xla
View Docshttps://docs.pytorch.org/docs/stable/index.html
View Tutorialshttps://docs.pytorch.org/tutorials
View Resourceshttps://pytorch.org/resources
Privacy Policyhttps://www.linuxfoundation.org/privacy/
https://www.facebook.com/pytorch
https://twitter.com/pytorch
https://www.youtube.com/pytorch
https://www.linkedin.com/company/pytorch
https://pytorch.slack.com
https://pytorch.org/wechat
Policieshttps://www.linuxfoundation.org/legal/policies
Trademark Usagehttps://www.linuxfoundation.org/trademark-usage
Privacy Policyhttp://www.linuxfoundation.org/privacy
Cookies Policyhttps://opensource.fb.com/legal/cookie-policy
Sphinxhttps://www.sphinx-doc.org/
PyData Sphinx Themehttps://pydata-sphinx-theme.readthedocs.io/en/stable/index.html

Viewport: width=device-width, initial-scale=1


URLs of crawlers that visited me.