Copyright | [2009..2018] Trevor L. McDonell |
---|---|
License | BSD |
Safe Haskell | None |
Language | Haskell98 |
Event management for low-level driver interface
Event Management
Events are markers that can be inserted into the CUDA execution stream and later queried.
Event creation flags
Instances
Bounded EventFlag Source # | |
Enum EventFlag Source # | Possible option flags for waiting for events |
Defined in Foreign.CUDA.Driver.Event succ :: EventFlag -> EventFlag # pred :: EventFlag -> EventFlag # fromEnum :: EventFlag -> Int # enumFrom :: EventFlag -> [EventFlag] # enumFromThen :: EventFlag -> EventFlag -> [EventFlag] # enumFromTo :: EventFlag -> EventFlag -> [EventFlag] # enumFromThenTo :: EventFlag -> EventFlag -> EventFlag -> [EventFlag] # | |
Eq EventFlag Source # | |
Show EventFlag Source # | |
Instances
Enum WaitFlag Source # | |
Defined in Foreign.CUDA.Driver.Event |
elapsedTime :: Event -> Event -> IO Float Source #
Determine the elapsed time (in milliseconds) between two events
record :: Event -> Maybe Stream -> IO () Source #
Record an event once all operations in the current context (or optionally specified stream) have completed. This operation is asynchronous.
wait :: Event -> Maybe Stream -> [WaitFlag] -> IO () Source #
Makes all future work submitted to the (optional) stream wait until the given event reports completion before beginning execution. Synchronisation is performed on the device, including when the event and stream are from different device contexts.
Requires CUDA-3.2.