- data Kernel
- createKernel :: MonadIO m => Program -> String -> m Kernel
- createKernelsInProgram :: MonadIO m => Program -> m [Kernel]
- runKernel :: (NDRange d, KernelFunc f) => Kernel -> d -> Maybe d -> f
- class NDRange d
- class KernelFunc f
- class KernelArg a
- newtype Scalar a = Scalar a
- newtype Local a = Local Int
- kernelFunctionName :: Kernel -> String
- kernelNumArgs :: Kernel -> Int
- kernelContext :: Kernel -> Context
- kernelProgram :: Kernel -> Program
- kernelWorkGroupSize :: Kernel -> DeviceID -> Size
- kernelCompileWorkGroupSize :: Kernel -> DeviceID -> (Size, Size, Size)
- getKernelLocalMemSize :: Kernel -> DeviceID -> IO ClULong
Kernels
data Kernel
createKernel :: MonadIO m => Program -> String -> m Kernel
createKernelsInProgram :: MonadIO m => Program -> m [Kernel]
Running kernels
runKernel :: (NDRange d, KernelFunc f) => Kernel -> d -> Maybe d -> f
class NDRange d
class KernelFunc f
KernelFunc Command | |
(KernelArg a, KernelFunc f) => KernelFunc (a -> f) |
class KernelArg a
KernelArg instances
newtype Local a
A specification of a variable which is allocated in local memory and
shared by all work-items of a work-group. For example: __local float *x
.
Queries
kernelFunctionName :: Kernel -> String
kernelNumArgs :: Kernel -> Int
kernelContext :: Kernel -> Context
kernelProgram :: Kernel -> Program
Work group queries
kernelWorkGroupSize :: Kernel -> DeviceID -> Size
getKernelLocalMemSize :: Kernel -> DeviceID -> IO ClULong