- Notifications
You must be signed in to change notification settings - Fork5
Oblomov/CLU
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is the OpenCL Utility (CLU) library, a set of functions and Cmacros to make the host side of OpenCL programming less tedious.The library provides wrappers for common complex or repetitive taskssuch as platform and device selection, information gathering, commandqueue management and memory management. This is achieved while keepingperfect compatibility with the underlying OpenCL library, allowing codeand data mixing.Some wrapper function will appear to be overly slower than thelower-level OpenCL functions. This is generally due to CLU making aneffort to anticipate future requests and retrieving/caching additionalinformation. For example, all the platform/device information will beavailable in appropriate structures when getting a platform/device usingthe CLU functions, instead of requiring distinct (and often repetitive)calls to the appropriate clGet*Info() OpenCL functions.Some of the CLU functions are shamelessly inspired by the NVIDIA CUDAAPIs, although an effort has been made to keep the interface moreconsistent with the one found in OpenCL, especially in terms of returnvalues and error management.