cuda-0.10.2.0: FFI binding to the CUDA interface for programming NVIDIA GPUs
Copyright[2009..2018] Trevor L. McDonell
LicenseBSD
Safe HaskellNone
LanguageHaskell98

Foreign.CUDA.Runtime.Stream

Description

Stream management routines

Synopsis

Stream Management

newtype Stream Source #

A processing stream. All operations in a stream are synchronous and executed in sequence, but operations in different non-default streams may happen out-of-order or concurrently with one another.

Use Events to synchronise operations between streams.

Constructors

Stream 

Fields

Instances

Instances details
Eq Stream Source # 
Instance details

Defined in Foreign.CUDA.Driver.Stream

Methods

(==) :: Stream -> Stream -> Bool #

(/=) :: Stream -> Stream -> Bool #

Show Stream Source # 
Instance details

Defined in Foreign.CUDA.Driver.Stream

create :: IO Stream Source #

Create a new asynchronous stream

destroy :: Stream -> IO () Source #

Destroy and clean up an asynchronous stream

finished :: Stream -> IO Bool Source #

Determine if all operations in a stream have completed

block :: Stream -> IO () Source #

Block until all operations in a Stream have been completed

defaultStreamLegacy :: Stream Source #

The legacy default stream is an implicit stream which synchronises with all other streams in the same Context, except for non-blocking streams.

https://docs.nvidia.com/cuda/cuda-driver-api/stream-sync-behavior.html#stream-sync-behavior__default-stream

Since: 0.10.0.0

defaultStreamPerThread :: Stream Source #

The per-thread default stream is an implicit stream local to both the thread and the calling Context, and which does not synchronise with other streams (just like explicitly created streams). The per-thread default stream is not a non-blocking stream and will synchronise with the legacy default stream if both are used in the same program.

file:///Developer/NVIDIA/CUDA-9.2/doc/html/cuda-driver-api/stream-sync-behavior.html#stream-sync-behavior__default-stream

Since: 0.10.0.0