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

Foreign.CUDA.Driver.Graph.Build

Description

Graph construction functions for the low-level driver interface

Requires CUDA-10

Synopsis

Documentation

newtype Graph Source #

Constructors

Graph 

Fields

Instances

Instances details
Eq Graph Source # 
Instance details

Defined in Foreign.CUDA.Driver.Graph.Base

Methods

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

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

Show Graph Source # 
Instance details

Defined in Foreign.CUDA.Driver.Graph.Base

Methods

showsPrec :: Int -> Graph -> ShowS #

show :: Graph -> String #

showList :: [Graph] -> ShowS #

newtype Node Source #

Constructors

Node 

Fields

Instances

Instances details
Eq Node Source # 
Instance details

Defined in Foreign.CUDA.Driver.Graph.Base

Methods

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

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

Show Node Source # 
Instance details

Defined in Foreign.CUDA.Driver.Graph.Base

Methods

showsPrec :: Int -> Node -> ShowS #

show :: Node -> String #

showList :: [Node] -> ShowS #

Storable Node Source # 
Instance details

Defined in Foreign.CUDA.Driver.Graph.Base

Methods

sizeOf :: Node -> Int #

alignment :: Node -> Int #

peekElemOff :: Ptr Node -> Int -> IO Node #

pokeElemOff :: Ptr Node -> Int -> Node -> IO () #

peekByteOff :: Ptr b -> Int -> IO Node #

pokeByteOff :: Ptr b -> Int -> Node -> IO () #

peek :: Ptr Node -> IO Node #

poke :: Ptr Node -> Node -> IO () #

Construction

addHost :: Graph -> [Node] -> HostCallback -> Ptr () -> IO Node Source #

Creates a host execution node and adds it to the graph

Requires CUDA-10.0

https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__GRAPH.html#group__CUDA__GRAPH_1g1ba15c2fe1afb8897091ecec4202b597

Since: 0.10.0.0

addKernel Source #

Arguments

:: Graph 
-> [Node] 
-> Fun 
-> (Int, Int, Int)

grid dimension

-> (Int, Int, Int)

thread block dimensions

-> Int

shared memory (bytes)

-> [FunParam] 
-> IO Node 

Create a kernel execution node and adds it to the graph

Requires CUDA-10.0

https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__GRAPH.html#group__CUDA__GRAPH_1g886a9096293238937f2f3bc7f2d57635

Since: 0.10.0.0

addMemcpy Source #

Arguments

:: Graph 
-> [Node] 
-> Context 
-> Int

srcXInBytes

-> Int

srcY

-> Int

srcZ

-> Int

srcLOD

-> MemoryType

source memory type

-> Ptr a

source ptr

-> Int

srcPitch

-> Int

srcHeight

-> Int

dstXInBytes

-> Int

dstY

-> Int

dstZ

-> Int

dstLOD

-> MemoryType

destination memory type

-> Ptr a

destination ptr

-> Int

dstPitch

-> Int

dstHeight

-> Int

widthInBytes

-> Int

height

-> Int

depth

-> IO Node 

addMemset Source #

Arguments

:: Storable a 
=> Graph 
-> [Node] 
-> Context 
-> DevicePtr a 
-> a 
-> Int

height

-> Int

pitch

-> Int

width

-> IO Node 

Querying