cuda- FFI binding to the CUDA interface for programming NVIDIA GPUs

Copyright[2009..2018] Trevor L. McDonell
Safe HaskellNone




Event management for C-for-CUDA runtime environment


Event Management

data Event Source #

Events are markers that can be inserted into the CUDA execution stream and later queried.

Eq Event Source # 
Instance details

Defined in Foreign.CUDA.Driver.Event


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

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

Show Event Source # 
Instance details

Defined in Foreign.CUDA.Driver.Event


showsPrec :: Int -> Event -> ShowS #

show :: Event -> String #

showList :: [Event] -> ShowS #

create :: [EventFlag] -> IO Event Source #

Create a new event

destroy :: Event -> IO () Source #

Destroy an event

elapsedTime :: Event -> Event -> IO Float Source #

Determine the elapsed time (in milliseconds) between two events

query :: Event -> IO Bool Source #

Determines if a event has actually been recorded

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.

block :: Event -> IO () Source #

Wait until the event has been recorded