The C Framework for OpenCL, cf4ocl, is a cross-platform pure C99
object-oriented framework for developing and benchmarking OpenCL
projects in C/C++. It aims to:
- Promote the rapid development of OpenCL programs in C/C++.
- Assist in the benchmarking of OpenCL events, such as kernel execution
and data transfers.
- Simplify the analysis of the OpenCL environment and of kernel
- Object-oriented interface to the OpenCL API
- New/destroy functions, no direct memory alloc/free
- Easy (and extensible) device selection
- Simple event dependency mechanism
- User-friendly error management
- OpenCL version independent
- Integrated profiling
Get cf4ocl, either by building from source
or using the provided binaries.
Take a look at the examples
and the user guide and API.
Any feedback is welcome.
Not yet implemented
- OpenGL and DirectX interoperability
- Support for sub-devices
- Pipes and SVM (OpenCL 2.0 only)
Library code is licensed under LGPLv3, while the remaining code
(utilities, examples and tests) is licensed under GPLv3.
Other useful C frameworks/utilities for OpenCL
If cf4ocl does not meet your requirements, take a look at the following