-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | The OpenCL Standard for heterogenous data-parallel computing -- -- Light opencl wrappers, a fork of the OpenCLRaw package. @package OpenCLWrappers @version 0.1.0.1 -- | Declaration of types, bounds and constants module System.OpenCL.Wrappers.Types data PlatformIDc PlatformIDc :: PlatformIDc data DeviceIDc DeviceIDc :: DeviceIDc data Contextc Contextc :: Contextc data CommandQueuec CommandQueuec :: CommandQueuec data Memc Memc :: Memc data Programc Programc :: Programc data Kernelc Kernelc :: Kernelc data Eventc Eventc :: Eventc data Samplerc Samplerc :: Samplerc data ImageFormatc ImageFormatc :: ImageFormatc type PlatformID = Ptr PlatformIDc type DeviceID = Ptr DeviceIDc type Context = Ptr Contextc type CommandQueue = Ptr CommandQueuec type Mem = Ptr Memc type Program = Ptr Programc type Event = Ptr Eventc type Sampler = Ptr Samplerc type Kernel = Ptr Kernelc type CLsizei = CSize type CLint = CInt type CLuint = CUInt type CLbool = CLuint type CLulong = CULong type CLbitfield = CLulong type ImageFormatp = Ptr ImageFormat type ImageFormat = (ChannelOrder, ChannelType) type ImageDims = (CLsizei, CLsizei, CLsizei) newtype ContextProperties ContextProperties :: IntPtr -> ContextProperties newtype ChannelOrder ChannelOrder :: CLuint -> ChannelOrder newtype ChannelType ChannelType :: CLuint -> ChannelType newtype DeviceType DeviceType :: CLbitfield -> DeviceType newtype ContextInfo ContextInfo :: CLuint -> ContextInfo newtype CommandQueueProperties CommandQueueProperties :: CLbitfield -> CommandQueueProperties newtype CommandQueueInfo CommandQueueInfo :: CLuint -> CommandQueueInfo newtype ErrorCode ErrorCode :: CLint -> ErrorCode newtype EventInfo EventInfo :: CLuint -> EventInfo newtype ProfilingInfo ProfilingInfo :: CLuint -> ProfilingInfo newtype KernelInfo KernelInfo :: CLuint -> KernelInfo newtype KernelWorkGroupInfo KernelWorkGroupInfo :: CLuint -> KernelWorkGroupInfo newtype MapFlags MapFlags :: CLbitfield -> MapFlags newtype MemFlags MemFlags :: CLbitfield -> MemFlags newtype MemObjectType MemObjectType :: CLuint -> MemObjectType newtype MemInfo MemInfo :: CLuint -> MemInfo newtype PlatformInfo PlatformInfo :: CLuint -> PlatformInfo newtype SamplerInfo SamplerInfo :: CLuint -> SamplerInfo newtype AddressingMode AddressingMode :: CLuint -> AddressingMode newtype FilterMode FilterMode :: CLuint -> FilterMode newtype ProgramInfo ProgramInfo :: CLuint -> ProgramInfo newtype ProgramBuildInfo ProgramBuildInfo :: CLuint -> ProgramBuildInfo newtype BuildStatus BuildStatus :: CLint -> BuildStatus newtype DeviceInfo DeviceInfo :: CLuint -> DeviceInfo newtype DeviceFPConfig DeviceFPConfig :: CLbitfield -> DeviceFPConfig newtype CommandType CommandType :: CLuint -> CommandType newtype DeviceExecCapabilities DeviceExecCapabilities :: CLbitfield -> DeviceExecCapabilities newtype DeviceMemCacheType DeviceMemCacheType :: CLuint -> DeviceMemCacheType newtype DeviceLocalMemType DeviceLocalMemType :: CLuint -> DeviceLocalMemType data CLKernelInfoRetval KernelInfoRetvalString :: String -> CLKernelInfoRetval KernelInfoRetvalCLuint :: CLuint -> CLKernelInfoRetval KernelInfoRetvalContext :: Context -> CLKernelInfoRetval KernelInfoRetvalProgram :: Program -> CLKernelInfoRetval data CLKernelWorkGroupInfoRetval KernelWorkGroupInfoRetvalCLsizei :: CLsizei -> CLKernelWorkGroupInfoRetval KernelWorkGroupInfoRetvalCLsizeiList :: [CLsizei] -> CLKernelWorkGroupInfoRetval KernelWorkGroupInfoRetvalCLulong :: CLulong -> CLKernelWorkGroupInfoRetval data CLImageInfoRetval ImageInfoRetvalCLsizei :: CLsizei -> CLImageInfoRetval ImageInfoRetvalImageFormat :: ImageFormat -> CLImageInfoRetval ImageInfoRetvalPtr :: (Ptr ()) -> CLImageInfoRetval data CLMemObjectInfoRetval MemObjectInfoRetvalMemObjectType :: MemObjectType -> CLMemObjectInfoRetval MemObjectInfoRetvalMemFlags :: MemFlags -> CLMemObjectInfoRetval MemObjectInfoRetvalCLsizei :: CLsizei -> CLMemObjectInfoRetval MemObjectInfoRetvalPtr :: (Ptr ()) -> CLMemObjectInfoRetval MemObjectInfoRetvalCLuint :: CLuint -> CLMemObjectInfoRetval MemObjectInfoRetvalContext :: Context -> CLMemObjectInfoRetval MemObjectInfoRetvalMem :: Mem -> CLMemObjectInfoRetval data CLEventInfoRetval EventInfoRetvalCommandQueue :: CommandQueue -> CLEventInfoRetval EventInfoRetvalContext :: Context -> CLEventInfoRetval EventInfoRetvalCommandType :: CommandType -> CLEventInfoRetval EventInfoRetvalCLint :: CLint -> CLEventInfoRetval EventInfoRetvalCLuint :: CLuint -> CLEventInfoRetval data CLEventProfilingInfoRetval EventProfilingInfoRetvalCLulong :: CLulong -> CLEventProfilingInfoRetval data CLContextInfoRetval ContextInfoRetvalCLuint :: CLuint -> CLContextInfoRetval ContextInfoRetvalDeviceIDList :: [DeviceID] -> CLContextInfoRetval ContextInfoRetvalContextPropertiesList :: [ContextProperties] -> CLContextInfoRetval data CLCommandQueueInfoRetval CommandQueueInfoRetvalContext :: Context -> CLCommandQueueInfoRetval CommandQueueInfoRetvalDeviceID :: DeviceID -> CLCommandQueueInfoRetval CommandQueueInfoRetvalCLuint :: CLuint -> CLCommandQueueInfoRetval CommandQueueInfoRetvalCommandQueueProperties :: CommandQueueProperties -> CLCommandQueueInfoRetval data CLDeviceInfoRetval DeviceInfoRetvalString :: String -> CLDeviceInfoRetval DeviceInfoRetvalCLuint :: CLuint -> CLDeviceInfoRetval DeviceInfoRetvalCLbool :: CLbool -> CLDeviceInfoRetval DeviceInfoRetvalDeviceFPConfig :: DeviceFPConfig -> CLDeviceInfoRetval DeviceInfoRetvalDeviceExecCapabilities :: DeviceExecCapabilities -> CLDeviceInfoRetval DeviceInfoRetvalCLulong :: CLulong -> CLDeviceInfoRetval DeviceInfoRetvalDeviceMemCacheType :: DeviceMemCacheType -> CLDeviceInfoRetval DeviceInfoRetvalCLsizei :: CLsizei -> CLDeviceInfoRetval DeviceInfoRetvalDeviceLocalMemType :: DeviceLocalMemType -> CLDeviceInfoRetval DeviceInfoRetvalCLsizeiList :: [CLsizei] -> CLDeviceInfoRetval DeviceInfoRetvalPlatformID :: PlatformID -> CLDeviceInfoRetval DeviceInfoRetvalCommandQueueProperties :: CommandQueueProperties -> CLDeviceInfoRetval DeviceInfoRetvalDeviceType :: DeviceType -> CLDeviceInfoRetval data CLProgramInfoRetval ProgramInfoRetvalCLUint :: CLuint -> CLProgramInfoRetval ProgramInfoRetvalContext :: Context -> CLProgramInfoRetval ProgramInfoRetvalDeviceIDList :: [DeviceID] -> CLProgramInfoRetval ProgramInfoRetvalString :: String -> CLProgramInfoRetval ProgramInfoRetvalPtrList :: [Ptr ()] -> CLProgramInfoRetval ProgramInfoRetvalCLsizeiList :: [CLsizei] -> CLProgramInfoRetval data CLProgramBuildInfoRetval ProgramBuildInfoRetvalBuildStatus :: BuildStatus -> CLProgramBuildInfoRetval ProgramBuildInfoRetvalString :: String -> CLProgramBuildInfoRetval data CLPlatformInfoRetval PlatformInfoRetvalString :: String -> CLPlatformInfoRetval data CLSamplerInfoRetval SamplerInfoRetvalCLuint :: CLuint -> CLSamplerInfoRetval SamplerInfoRetvalContext :: Context -> CLSamplerInfoRetval SamplerInfoRetvalAddressingMode :: AddressingMode -> CLSamplerInfoRetval SamplerInfoRetvalFilterMode :: FilterMode -> CLSamplerInfoRetval SamplerInfoRetvalCLbool :: CLbool -> CLSamplerInfoRetval type ContextCallback = CString -> Ptr () -> CLsizei -> Ptr () -> IO () type NativeKernelCallback = Ptr () -> IO () type BuildProgramCallback = Program -> Ptr () -> IO () clQueueOutOfOrderExecModeEnable :: CommandQueueProperties clQueueProfilingEnable :: CommandQueueProperties clQueueContext :: CommandQueueInfo clQueueDevice :: CommandQueueInfo clQueueReferenceCount :: CommandQueueInfo clQueueProperties :: CommandQueueInfo clDeviceType :: DeviceInfo clDeviceVendorID :: DeviceInfo clDeviceMaxComputeUnits :: DeviceInfo clDeviceMaxWorkItemDimensions :: DeviceInfo clDeviceMaxWorkGroupSize :: DeviceInfo clDeviceMaxWorkItemSizes :: DeviceInfo clDevicePreferredVectorWidthChar :: DeviceInfo clDevicePreferredVectorWidthShort :: DeviceInfo clDevicePreferredVectorWidthInt :: DeviceInfo clDevicePreferredVectorWidthLong :: DeviceInfo clDevicePreferredVectorWidthFloat :: DeviceInfo clDevicePreferredVectorWidthDouble :: DeviceInfo clDeviceMaxClockFrequency :: DeviceInfo clDeviceAddressBits :: DeviceInfo clDeviceMaxReadImageArgs :: DeviceInfo clDeviceMaxWriteImageArgs :: DeviceInfo clDeviceMaxMemAllocSize :: DeviceInfo clDeviceImage2DMaxWidth :: DeviceInfo clDeviceImage2DMaxHeight :: DeviceInfo clDeviceImage3DMaxWidth :: DeviceInfo clDeviceImage3DMaxHeight :: DeviceInfo clDeviceImage3DMaxDepth :: DeviceInfo clDeviceImageSupport :: DeviceInfo clDeviceMaxParameterSize :: DeviceInfo clDeviceMaxSamplers :: DeviceInfo clDeviceMemBaseAddrAlign :: DeviceInfo clDeviceMinDataTypeAlignSize :: DeviceInfo clDeviceSingleFPConfig :: DeviceInfo clDeviceGlobalMemCacheType :: DeviceInfo clDeviceGlobalMemCacheLineSize :: DeviceInfo clDeviceGlobalMemCacheSize :: DeviceInfo clDeviceGlobalMemSize :: DeviceInfo clDeviceMaxConstantBufferSize :: DeviceInfo clDeviceMaxConstantArgs :: DeviceInfo clDeviceLocalMemType :: DeviceInfo clDeviceLocalMemSize :: DeviceInfo clDeviceErrorCorrectionSupport :: DeviceInfo clDeviceProfilingTimerResolution :: DeviceInfo clDeviceEndianLittle :: DeviceInfo clDeviceAvailable :: DeviceInfo clDeviceCompilerAvailable :: DeviceInfo clDeviceExecutionCapabilities :: DeviceInfo clDeviceQueueProperties :: DeviceInfo clDeviceName :: DeviceInfo clDeviceVendor :: DeviceInfo clDriverVersion :: DeviceInfo clDeviceProfile :: DeviceInfo clDeviceVersion :: DeviceInfo clDeviceExtensions :: DeviceInfo clDevicePlatform :: DeviceInfo clDeviceDoubleFPConfig :: DeviceInfo clDeviceHalfFPConfig :: DeviceInfo clFPDenorm :: DeviceFPConfig clFPInfNan :: DeviceFPConfig clFPRoundToNearest :: DeviceFPConfig clFPRoundToZero :: DeviceFPConfig clFPRoundToInf :: DeviceFPConfig clFPFMA :: DeviceFPConfig clEventCommandQueue :: EventInfo clEventCommandType :: EventInfo clEventReferenceCount :: EventInfo clEventCommandExecutionStatus :: EventInfo clProfilingCommandQueued :: ProfilingInfo clProfilingCommandSubmit :: ProfilingInfo clProfilingCommandStart :: ProfilingInfo clProfilingCommandEnd :: ProfilingInfo clFalse :: CLbool clTrue :: CLbool clDeviceTypeDefault :: DeviceType clDeviceTypeCPU :: DeviceType clDeviceTypeGPU :: DeviceType clDeviceTypeAccelerator :: DeviceType clDeviceTypeAll :: DeviceType clContextReferenceCount :: ContextInfo clContextDevices :: ContextInfo clContextProperties :: ContextInfo clContextPlatform :: ContextProperties clKernelFunctionName :: KernelInfo clKernelNumArgs :: KernelInfo clKernelReferenceCount :: KernelInfo clKernelContext :: KernelInfo clKernelProgram :: KernelInfo clKernelWorkGroupSize :: KernelWorkGroupInfo clKernelCompileWorkGroupSize :: KernelWorkGroupInfo clKernelLocalMemSize :: KernelWorkGroupInfo clMemReadWrite :: MemFlags clMemWriteOnly :: MemFlags clMemReadOnly :: MemFlags clMemUseHostPtr :: MemFlags clMemAllocHostPtr :: MemFlags clMemCopyHostPtr :: MemFlags clR :: ChannelOrder clA :: ChannelOrder clRG :: ChannelOrder clRA :: ChannelOrder clRGB :: ChannelOrder clRGBA :: ChannelOrder clBGRA :: ChannelOrder clARGB :: ChannelOrder clIntensity :: ChannelOrder clLuminance :: ChannelOrder clSNormInt8 :: ChannelType clSNormInt16 :: ChannelType clUNormInt8 :: ChannelType clUNormInt16 :: ChannelType clUNormShort565 :: ChannelType clUNormShort555 :: ChannelType clUNormInt101010 :: ChannelType clSignedInt8 :: ChannelType clSignedInt16 :: ChannelType clSignedInt32 :: ChannelType clUnsignedInt8 :: ChannelType clUnsignedInt16 :: ChannelType clUnsignedInt32 :: ChannelType clHalfFloat :: ChannelType clFloat :: ChannelType clMemObjectBuffer :: MemObjectType clMemObjectImage2D :: MemObjectType clMemObjectImage3D :: MemObjectType clMemType :: MemInfo clMemFlags :: MemInfo clMemSize :: MemInfo clMemHostPtr :: MemInfo clMemMapCount :: MemInfo clMemReferenceCount :: MemInfo clMemContext :: MemInfo clImageFormat :: MemInfo clImageElementSize :: MemInfo clImageRowPitch :: MemInfo clImageSlicePitch :: MemInfo clImageWidth :: MemInfo clImageHeight :: MemInfo clImageDepth :: MemInfo clMapRead :: MapFlags clMapWrite :: MapFlags clPlatformProfile :: PlatformInfo clPlatformVersion :: PlatformInfo clPlatformName :: PlatformInfo clPlatformVendor :: PlatformInfo clPlatformExtensions :: PlatformInfo clProgramReferenceCount :: ProgramInfo clProgramContext :: ProgramInfo clProgramNumDevices :: ProgramInfo clProgramDevices :: ProgramInfo clProgramSource :: ProgramInfo clProgramBinarySizes :: ProgramInfo clProgramBinaries :: ProgramInfo clProgramBuildStatus :: ProgramBuildInfo clProgramBuildOptions :: ProgramBuildInfo clProgramBuildLog :: ProgramBuildInfo clBuildSuccess :: BuildStatus clBuildNone :: BuildStatus clBuildError :: BuildStatus clBuildInProgress :: BuildStatus clAddressNone :: AddressingMode clAddressClampToEdge :: AddressingMode clAddressClamp :: AddressingMode clAddressRepeat :: AddressingMode clFilterNearest :: FilterMode clFilterLinear :: FilterMode clSamplerReferenceCount :: SamplerInfo clSamplerContext :: SamplerInfo clSamplerNormalizedCoords :: SamplerInfo clSamplerAddressingMode :: SamplerInfo clSamplerFilterMode :: SamplerInfo instance Eq ContextProperties instance Storable ContextProperties instance Eq ChannelOrder instance Eq ChannelType instance Eq DeviceType instance Storable DeviceType instance Eq ContextInfo instance Eq CommandQueueProperties instance Storable CommandQueueProperties instance Eq CommandQueueInfo instance Eq ErrorCode instance Ord ErrorCode instance Show ErrorCode instance Read ErrorCode instance Eq EventInfo instance Eq ProfilingInfo instance Eq KernelInfo instance Eq KernelWorkGroupInfo instance Eq MemFlags instance Storable MemFlags instance Eq MemObjectType instance Storable MemObjectType instance Eq MemInfo instance Eq PlatformInfo instance Eq SamplerInfo instance Eq AddressingMode instance Storable AddressingMode instance Eq FilterMode instance Storable FilterMode instance Eq ProgramInfo instance Eq ProgramBuildInfo instance Eq BuildStatus instance Eq DeviceInfo instance Eq DeviceFPConfig instance Storable DeviceFPConfig instance Eq CommandType instance Storable CommandType instance Eq DeviceExecCapabilities instance Storable DeviceExecCapabilities instance Eq DeviceMemCacheType instance Storable DeviceMemCacheType instance Eq DeviceLocalMemType instance Storable DeviceLocalMemType instance Eq CLKernelInfoRetval instance Eq CLKernelWorkGroupInfoRetval instance Eq CLImageInfoRetval instance Eq CLMemObjectInfoRetval instance Eq CLEventInfoRetval instance Eq CLEventProfilingInfoRetval instance Eq CLContextInfoRetval instance Eq CLCommandQueueInfoRetval instance Eq CLDeviceInfoRetval instance Eq CLProgramInfoRetval instance Eq CLProgramBuildInfoRetval instance Eq CLPlatformInfoRetval instance Eq CLSamplerInfoRetval module System.OpenCL.Wrappers.Raw raw_clCreateCommandQueue :: Context -> DeviceID -> CLbitfield -> Ptr CLint -> IO CommandQueue raw_clRetainCommandQueue :: CommandQueue -> IO CLint raw_clReleaseCommandQueue :: CommandQueue -> IO CLint raw_clGetCommandQueueInfo :: CommandQueue -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clSetCommandQueueProperty :: CommandQueue -> CLbitfield -> CLbool -> Ptr CLbitfield -> IO CLint raw_clCreateContext :: Ptr ContextProperties -> CLuint -> Ptr DeviceID -> FunPtr ContextCallback -> Ptr () -> Ptr CLint -> IO Context raw_clCreateContextFromType :: Ptr ContextProperties -> CLbitfield -> FunPtr ContextCallback -> Ptr a -> Ptr CLint -> IO Context raw_clRetainContext :: Context -> IO CLint raw_clReleaseContext :: Context -> IO CLint raw_clGetContextInfo :: Context -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clGetDeviceIDs :: PlatformID -> CLbitfield -> CLuint -> Ptr DeviceID -> Ptr CLuint -> IO CLint raw_clGetDeviceInfo :: DeviceID -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clGetExtensionFunctionAddress :: CString -> IO (Ptr ()) raw_clWaitForEvents :: CLuint -> Ptr Event -> IO CLint raw_clGetEventInfo :: Event -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clRetainEvent :: Event -> IO CLint raw_clReleaseEvent :: Event -> IO CLint raw_clGetEventProfilingInfo :: Event -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clFlush :: CommandQueue -> IO CLint raw_clFinish :: CommandQueue -> IO CLint raw_clCreateKernel :: Program -> CString -> Ptr CLint -> IO Kernel raw_clCreateKernelsInProgram :: Program -> CLuint -> Ptr Kernel -> Ptr CLuint -> IO CLint raw_clRetainKernel :: Kernel -> IO CLint raw_clReleaseKernel :: Kernel -> IO CLint raw_clSetKernelArg :: Kernel -> CLuint -> CLsizei -> Ptr () -> IO CLint raw_clGetKernelInfo :: Kernel -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clGetKernelWorkGroupInfo :: Kernel -> DeviceID -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clEnqueueNDRangeKernel :: CommandQueue -> Kernel -> CLuint -> Ptr CLsizei -> Ptr CLsizei -> Ptr CLsizei -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueTask :: CommandQueue -> Kernel -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueNativeKernel :: FunPtr NativeKernelCallback -> Ptr () -> CLsizei -> CLuint -> Ptr Mem -> Ptr (Ptr ()) -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clCreateBuffer :: Context -> CLbitfield -> CLsizei -> Ptr () -> Ptr CLint -> IO Mem raw_clCreateImage2D :: Context -> CLbitfield -> Ptr CLuint -> CLsizei -> CLsizei -> CLsizei -> Ptr () -> Ptr CLint -> IO Mem raw_clCreateImage3D :: Context -> CLbitfield -> Ptr CLuint -> CLsizei -> CLsizei -> CLsizei -> CLsizei -> CLsizei -> Ptr () -> Ptr CLint -> IO Mem raw_clRetainMemObject :: Mem -> IO CLint raw_clReleaseMemObject :: Mem -> IO CLint raw_clGetSupportedImageFormats :: Context -> CLbitfield -> CLuint -> CLuint -> Ptr CLuint -> Ptr CLuint -> IO CLint raw_clGetMemObjectInfo :: Mem -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clGetImageInfo :: Mem -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clEnqueueReadBuffer :: CommandQueue -> Mem -> CLbool -> CLsizei -> CLsizei -> Ptr () -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueWriteBuffer :: CommandQueue -> Mem -> CLbool -> CLsizei -> CLsizei -> Ptr () -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueCopyBuffer :: CommandQueue -> Mem -> Mem -> CLsizei -> CLsizei -> CLsizei -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueReadImage :: CommandQueue -> Mem -> CLbool -> Ptr CLsizei -> Ptr CLsizei -> CLsizei -> CLsizei -> Ptr () -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueWriteImage :: CommandQueue -> Mem -> CLbool -> Ptr CLsizei -> Ptr CLsizei -> CLsizei -> CLsizei -> Ptr () -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueCopyImage :: CommandQueue -> Mem -> Mem -> Ptr CLsizei -> Ptr CLsizei -> Ptr CLsizei -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueCopyImageToBuffer :: CommandQueue -> Mem -> Mem -> Ptr CLsizei -> Ptr CLsizei -> CLsizei -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueCopyBufferToImage :: CommandQueue -> Mem -> Mem -> CLsizei -> Ptr CLsizei -> Ptr CLsizei -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueMapBuffer :: CommandQueue -> Mem -> CLbool -> CLbitfield -> CLsizei -> CLsizei -> CLuint -> Ptr Event -> Ptr Event -> Ptr CLint -> IO (Ptr ()) raw_clEnqueueMapImage :: CommandQueue -> Mem -> CLbool -> CLbitfield -> Ptr CLsizei -> Ptr CLsizei -> Ptr CLsizei -> Ptr CLsizei -> CLuint -> Ptr Event -> Ptr Event -> Ptr CLint -> IO (Ptr ()) raw_clEnqueueUnmapMemObject :: CommandQueue -> Mem -> Ptr () -> CLuint -> Ptr Event -> Ptr Event -> IO CLint raw_clEnqueueMarker :: CommandQueue -> Ptr Event -> IO CLint raw_clEnqueueWaitForEvents :: CommandQueue -> CLuint -> Ptr Event -> IO CLint raw_clEnqueueBarrier :: CommandQueue -> IO CLint raw_clGetPlatformIDs :: CLuint -> Ptr PlatformID -> Ptr CLuint -> IO CLint raw_clGetPlatformInfo :: PlatformID -> CLuint -> CSize -> Ptr () -> Ptr CSize -> IO CLint raw_clCreateProgramWithSource :: Context -> CLuint -> Ptr CString -> Ptr CLsizei -> Ptr CLint -> IO Program raw_clCreateProgramWithBinary :: Context -> CLuint -> Ptr DeviceID -> Ptr CLsizei -> Ptr (Ptr Word8) -> Ptr CLint -> Ptr CLint -> IO Program raw_clRetainProgram :: Program -> IO CLint raw_clReleaseProgram :: Program -> IO CLint raw_clBuildProgram :: Program -> CLuint -> Ptr DeviceID -> CString -> FunPtr BuildProgramCallback -> Ptr () -> IO CLint raw_clUnloadCompiler :: IO CLint raw_clGetProgramInfo :: Program -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clGetProgramBuildInfo :: Program -> DeviceID -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint raw_clCreateSampler :: Context -> CLbool -> CLuint -> CLuint -> Ptr CLint -> IO Sampler raw_clRetainSampler :: Sampler -> IO CLint raw_clReleaseSampler :: Sampler -> IO CLint raw_clGetSamplerInfo :: Sampler -> CLuint -> CLsizei -> Ptr () -> Ptr CLsizei -> IO CLint wrapContextCallback :: ContextCallback -> IO (FunPtr ContextCallback) wrapNativeKernelCallback :: NativeKernelCallback -> IO (FunPtr NativeKernelCallback) wrapBuildProgramCallback :: BuildProgramCallback -> IO (FunPtr BuildProgramCallback) -- | Module for querying extensions module System.OpenCL.Wrappers.Etc clGetExtensionFunctionAddress :: String -> IO (Ptr ()) -- | A collection of all the error codes that OpenCL functions return module System.OpenCL.Wrappers.Errors clSuccess :: ErrorCode clDeviceNotFound :: ErrorCode clDeviceNotAvailable :: ErrorCode clCompilerNotAvailable :: ErrorCode clMemObjectAllocationFailure :: ErrorCode clOutOfResources :: ErrorCode clOutOfHostMemory :: ErrorCode clProfilingInfoNotAvailable :: ErrorCode clMemCopyOverlap :: ErrorCode clImageFormatMismatch :: ErrorCode clImageFormatNotSupported :: ErrorCode clBuildProgramFailure :: ErrorCode clMapFailure :: ErrorCode clInvalidValue :: ErrorCode clInvalidDeviceType :: ErrorCode clInvalidPlatform :: ErrorCode clInvalidDevice :: ErrorCode clInvalidContext :: ErrorCode clInvalidQueueProperties :: ErrorCode clInvalidCommandQueue :: ErrorCode clInvalidHostPtr :: ErrorCode clInvalidMemObject :: ErrorCode clInvalidImageFormatDescriptor :: ErrorCode clInvalidImageSize :: ErrorCode clInvalidSampler :: ErrorCode clInvalidBinary :: ErrorCode clInvalidBuildOptions :: ErrorCode clInvalidProgram :: ErrorCode clInvalidProgramExecutable :: ErrorCode clInvalidKernelName :: ErrorCode clInvalidKernelDefinition :: ErrorCode clInvalidKernel :: ErrorCode clInvalidArgIndex :: ErrorCode clInvalidArgValue :: ErrorCode clInvalidArgSize :: ErrorCode clInvalidKernelArgs :: ErrorCode clInvalidWorkDimension :: ErrorCode clInvalidWorkGroupSize :: ErrorCode clInvalidWorkItemSize :: ErrorCode clInvalidGlobalOffset :: ErrorCode clInvalidEventWaitList :: ErrorCode clInvalidEvent :: ErrorCode clInvalidOperation :: ErrorCode clInvalidGLObject :: ErrorCode clInvalidBufferSize :: ErrorCode clInvalidMipLevel :: ErrorCode module System.OpenCL.Wrappers.Context clCreateContext :: [ContextProperties] -> [DeviceID] -> (Maybe ContextCallback) -> Ptr () -> IO (Either ErrorCode Context) clCreateContextFromType :: [ContextProperties] -> DeviceType -> (Maybe ContextCallback) -> Ptr () -> IO (Either ErrorCode Context) clRetainContext :: Context -> IO (Maybe ErrorCode) clReleaseContext :: Context -> IO (Maybe ErrorCode) clGetContextInfo :: Context -> ContextInfo -> IO (Either ErrorCode CLContextInfoRetval) module System.OpenCL.Wrappers.DeviceInfo clGetDeviceIDs :: PlatformID -> DeviceType -> IO (Either ErrorCode [DeviceID]) clGetDeviceInfo :: DeviceID -> DeviceInfo -> IO (Either ErrorCode CLDeviceInfoRetval) module System.OpenCL.Wrappers.EventObject clWaitForEvents :: [Event] -> IO (Maybe ErrorCode) clGetEventInfo :: Event -> EventInfo -> IO (Either ErrorCode CLEventInfoRetval) clRetainEvent :: Event -> IO (Maybe ErrorCode) clReleaseEvent :: Event -> IO (Maybe ErrorCode) clGetEventProfilingInfo :: Event -> ProfilingInfo -> IO (Either ErrorCode CLEventProfilingInfoRetval) module System.OpenCL.Wrappers.FlushFinish clFlush :: CommandQueue -> IO (Maybe ErrorCode) clFinish :: CommandQueue -> IO (Maybe ErrorCode) module System.OpenCL.Wrappers.Kernel clCreateKernel :: Program -> String -> IO (Either ErrorCode Kernel) clCreateKernelsInProgram :: Program -> CLuint -> IO (Either ErrorCode [Kernel]) clRetainKernel :: Kernel -> IO (Maybe ErrorCode) clReleaseKernel :: Kernel -> IO (Maybe ErrorCode) clGetKernelInfo :: Kernel -> KernelInfo -> IO (Either ErrorCode CLKernelInfoRetval) clSetKernelArg :: Kernel -> CLuint -> CLsizei -> Ptr () -> IO (Maybe ErrorCode) clGetKernelWorkGroupInfo :: Kernel -> DeviceID -> KernelWorkGroupInfo -> IO (Either ErrorCode CLKernelWorkGroupInfoRetval) clEnqueueNDRangeKernel :: CommandQueue -> Kernel -> [CLsizei] -> [CLsizei] -> [Event] -> IO (Either ErrorCode Event) clEnqueueTask :: CommandQueue -> Kernel -> [Event] -> IO (Either ErrorCode Event) clEnqueueNativeKernel :: NativeKernelCallback -> Ptr () -> CLsizei -> [Mem] -> [Ptr ()] -> [Event] -> IO (Either ErrorCode Event) module System.OpenCL.Wrappers.MemoryObject clCreateBuffer :: Context -> MemFlags -> CLsizei -> Ptr () -> IO (Either ErrorCode Mem) clCreateImage2D :: Context -> MemFlags -> ImageFormat -> CLsizei -> CLsizei -> CLsizei -> Ptr () -> IO (Either ErrorCode Mem) clCreateImage3D :: Context -> MemFlags -> ImageFormat -> CLsizei -> CLsizei -> CLsizei -> CLsizei -> CLsizei -> Ptr () -> IO (Either ErrorCode Mem) clRetainMemObject :: Mem -> IO (Maybe ErrorCode) clReleaseMemObject :: Mem -> IO (Maybe ErrorCode) clGetSupportedImageFormats :: Context -> MemFlags -> MemObjectType -> IO (Either ErrorCode [ImageFormat]) clGetMemObjectInfo :: Mem -> MemInfo -> IO (Either ErrorCode CLMemObjectInfoRetval) clGetImageInfo :: Mem -> MemInfo -> IO (Either ErrorCode CLImageInfoRetval) clEnqueueReadBuffer :: Mem -> Bool -> CLsizei -> CLsizei -> Ptr () -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueWriteBuffer :: Mem -> Bool -> CLsizei -> CLsizei -> Ptr () -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueCopyBuffer :: Mem -> Mem -> CLsizei -> CLsizei -> CLsizei -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueReadImage :: Mem -> Bool -> (CLsizei, CLsizei, CLsizei) -> (CLsizei, CLsizei, CLsizei) -> CLsizei -> CLsizei -> Ptr () -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueWriteImage :: Mem -> Bool -> (CLsizei, CLsizei, CLsizei) -> (CLsizei, CLsizei, CLsizei) -> CLsizei -> CLsizei -> Ptr () -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueCopyImage :: Mem -> Mem -> ImageDims -> ImageDims -> ImageDims -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueCopyImageToBuffer :: Mem -> Mem -> ImageDims -> ImageDims -> CLsizei -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueCopyBufferToImage :: Mem -> Mem -> CLsizei -> ImageDims -> ImageDims -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) clEnqueueMapBuffer :: Mem -> Bool -> MapFlags -> CLsizei -> CLsizei -> CommandQueue -> [Event] -> IO (Either ErrorCode (Ptr (), Event)) clEnqueueMapImage :: Mem -> Bool -> MapFlags -> ImageDims -> ImageDims -> CommandQueue -> [Event] -> IO (Either ErrorCode (Ptr (), CLsizei, CLsizei, Event)) clEnqueueUnmapMemObject :: Mem -> Ptr () -> CommandQueue -> [Event] -> IO (Either ErrorCode Event) module System.OpenCL.Wrappers.OutOfOrder clEnqueueMarker :: CommandQueue -> IO (Either ErrorCode Event) clEnqueueWaitForEvents :: CommandQueue -> [Event] -> IO (Maybe ErrorCode) clEnqueueBarrier :: CommandQueue -> IO (Maybe ErrorCode) module System.OpenCL.Wrappers.PlatformInfo clGetPlatformIDs :: IO (Either ErrorCode [PlatformID]) clGetPlatformInfo :: PlatformID -> PlatformInfo -> IO (Either ErrorCode CLPlatformInfoRetval) module System.OpenCL.Wrappers.ProgramObject clCreateProgramWithSource :: Context -> String -> IO (Either ErrorCode Program) clCreateProgramWithBinary :: Context -> [(DeviceID, ByteString)] -> IO (Either ErrorCode Program) clRetainProgram :: Program -> IO (Maybe ErrorCode) clReleaseProgram :: Program -> IO (Maybe ErrorCode) clBuildProgram :: Program -> [DeviceID] -> String -> (Maybe BuildProgramCallback) -> Ptr () -> IO (Maybe ErrorCode) clUnloadCompiler :: IO (Maybe ErrorCode) clGetProgramInfo :: Program -> ProgramInfo -> IO (Either ErrorCode CLProgramInfoRetval) clGetProgramBuildInfo :: Program -> DeviceID -> ProgramBuildInfo -> IO (Either ErrorCode CLProgramBuildInfoRetval) module System.OpenCL.Wrappers.Sampler clCreateSampler :: Context -> Bool -> AddressingMode -> FilterMode -> IO (Either ErrorCode Sampler) clRetainSampler :: Sampler -> IO (Maybe ErrorCode) clReleaseSampler :: Sampler -> IO (Maybe ErrorCode) clGetSamplerInfo :: Sampler -> SamplerInfo -> IO (Either ErrorCode CLSamplerInfoRetval) -- | Some helper functions that may or may not be useful to anyone. module System.OpenCL.Wrappers.Helpers createSyncKernel :: Program -> CommandQueue -> String -> [Int] -> [Int] -> IO (Either ErrorCode ([KernelParameter] -> IO (Maybe ErrorCode))) createAsyncKernelWithParams :: Program -> CommandQueue -> String -> [Int] -> [Int] -> [KernelParameter] -> IO (Either ErrorCode ([Event] -> IO (Either ErrorCode Event))) buildProgram :: String -> String -> Context -> DeviceID -> IO (Either (ErrorCode, String) Program) pushKernelParams :: Kernel -> CLuint -> [KernelParameter] -> IO (Maybe ErrorCode) errorCodeToString :: ErrorCode -> String data KernelParameter KParam :: s -> KernelParameter module System.OpenCL.Wrappers.CommandQueue clCreateCommandQueue :: Context -> DeviceID -> [CommandQueueProperties] -> IO (Either ErrorCode CommandQueue) clRetainCommandQueue :: CommandQueue -> IO (Maybe ErrorCode) clReleaseCommandQueue :: CommandQueue -> IO (Maybe ErrorCode) clGetCommandQueueInfo :: CommandQueue -> CommandQueueInfo -> IO (Either ErrorCode CLCommandQueueInfoRetval) clSetCommandQueueProperty :: CommandQueue -> CommandQueueProperties -> Bool -> IO (Either ErrorCode CommandQueueProperties) -- | The OpenCL system for open heterogenous data parallel supercomputing. -- -- A fork of the FFI wrapper OpenCLRaw by Jeff Heard of the Renaissance -- Computing Institute. -- -- From the introduction: -- -- OpenCL (Open Computing Language) is an open royalty-free standard for -- general purpose parallel programming across CPUs, GPUs and other -- processors, giving software developers portable and efficient access -- to the power of these heterogeneous processing platforms. -- -- OpenCL supports a wide range of applications, ranging from embedded -- and consumer software to HPC solutions, through a low-level, -- high-performance, portable abstraction. By creating an efficient, -- close-to-the-metal programming interface, OpenCL will form the -- foundation layer of a parallel computing ecosystem of -- platform-independent tools, middleware and applications. OpenCL is -- particularly suited to play an increasingly significant role in -- emerging interactive graphics applications that combine general -- parallel compute algorithms with graphics rendering pipelines. -- -- OpenCL consists of an API for coordinating parallel computation across -- heterogeneous processors; and a cross-platform programming language -- with a well- specified computation environment. The OpenCL standard: -- --