Provides automatic coordination of an auxilary stream with a primary one. This object, upon construction, prepares an aux stream for use by syncing it with enqueued primary-stream work. Object destruction will sync again so future primary-stream work will wait on enqueued aux-stream work. If MXNET_GPU_WORKER_NSTREAMS == 1, then this defaults simply: the primary stream will equal the aux stream and the syncs will be executed as nops. See ./src/operator/cudnn/cudnn_convolution-inl.h for a usage example.
More...
#include <base.h>
Provides automatic coordination of an auxilary stream with a primary one. This object, upon construction, prepares an aux stream for use by syncing it with enqueued primary-stream work. Object destruction will sync again so future primary-stream work will wait on enqueued aux-stream work. If MXNET_GPU_WORKER_NSTREAMS == 1, then this defaults simply: the primary stream will equal the aux stream and the syncs will be executed as nops. See ./src/operator/cudnn/cudnn_convolution-inl.h for a usage example.
mxnet::SyncedGPUAuxStream::SyncedGPUAuxStream |
( |
GPUAuxStream * |
gpu_aux_stream | ) |
|
|
inlineexplicit |
constructor.
- Parameters
-
gpu_aux_stream | auxilary gpu stream that is managed by this RAII object. |
mxnet::SyncedGPUAuxStream::~SyncedGPUAuxStream |
( |
| ) |
|
|
inline |
copy constructor deleted to prevent unexpected synchronizations.
move constructor permitted as alternative to copying.
mshadow::Stream<gpu>* mxnet::SyncedGPUAuxStream::GetStream |
( |
| ) |
const |
|
inline |
Getter for underlying mshadow::Stream<gpu>.
copy assignment operator deleted to prevent unexpected synchronizations.
move assignment operator permitted as alternative to copy assignment.
The documentation for this class was generated from the following file: