Difference between revisions of "Cf4ocl"

From Free Software Directory
Jump to: navigation, search
(Update for version 2.1.0)
 
Line 2: Line 2:
 
|Name=cf4ocl
 
|Name=cf4ocl
 
|Short description=C Framework for OpenCL
 
|Short description=C Framework for OpenCL
|Full description=The C Framework for OpenCL, cf4ocl, is a cross-platform pure C object-oriented framework for developing and benchmarking OpenCL projects in C. It aims to:
+
|Full description=The C Framework for OpenCL, cf4ocl, is a cross-platform pure C object-oriented framework for developing and benchmarking OpenCL projects. It aims to:
  
 
* Promote the rapid development of OpenCL host programs in C (with support for C++) and avoid the tedious and error-prone boilerplate code usually required.
 
* Promote the rapid development of OpenCL host programs in C (with support for C++) and avoid the tedious and error-prone boilerplate code usually required.
Line 12: Line 12:
  
 
* Object-oriented interface to the OpenCL API
 
* Object-oriented interface to the OpenCL API
* New/destroy functions, no direct memory alloc/free
+
  * New/destroy functions, no direct memory alloc/free
* Easy (and extensible) device selection
+
  * Easy (and extensible) device selection
* Simple event dependency mechanism
+
  * Simple event dependency mechanism
* User-friendly error management
+
  * User-friendly error management
* OpenCL version independent
+
* OpenCL version and platform independent
 
* Integrated profiling
 
* Integrated profiling
 
+
* Advanced device query utility
 +
* Offline kernel compiler and linker
 
|Homepage URL=http://fakenmc.github.io/cf4ocl/
 
|Homepage URL=http://fakenmc.github.io/cf4ocl/
 
|User level=advanced
 
|User level=advanced
|VCS checkout command=git clone https://github.com/FakenMC/cf4ocl.git
+
|Extension of=OpenCL
 +
|VCS checkout command=git clone https://github.com/fakenmc/cf4ocl.git
 
|Computer languages=C, OpenCL
 
|Computer languages=C, OpenCL
|Documentation note=Documentation can be generated with Doxygen in HTML, Latex, PDF and man pages format. [http://fakenmc.github.io/cf4ocl/docs/latest/ Latest HTML documentation].
+
|Documentation note=Documentation can be generated with Doxygen in HTML, Latex, PDF and man pages format. [http://www.fakenmc.com/cf4ocl/docs/latest/ Latest HTML documentation].
 
|Keywords=OpenCL
 
|Keywords=OpenCL
|Version identifier=2.0.0
+
|Version identifier=2.1.0
|Version date=2015/01/13
+
|Version date=2016/07/04
 
|Version status=stable
 
|Version status=stable
|Version download=https://github.com/FakenMC/cf4ocl/archive/v2.0.0-beta.1.tar.gz
+
|Version download=https://github.com/fakenmc/cf4ocl/archive/v2.1.0.tar.gz
|Last review by=Jgay
+
|Version comment=## New features
|Last review date=2014/10/17
+
 
 +
* Offline kernel compiler and linker
 +
* Add silent "by index" device filter and context constructor
 +
* Add OpenCL 2.1 symbols (device information, command names, ...)
 +
 
 +
## Bug fixes
 +
 
 +
* Fix release of device array in dependent filters
 +
* Fix possibly uninitialized context and device in context module
 +
* Fix device selection menu in MSYS
 +
* Fix intermittent segfault in OSX buffer migrate test (issue #9)
 +
* Fix pointer comparison in device selection test for 32-bit platforms
 +
 
 +
## Other changes
 +
 
 +
* Build log not automatically fetched after build/compile/link
 +
* Remove ccl_kerninfo utility (moved functionality to new ccl_c utility)
 +
* Add/build against OpenCL 2.1 headers
 +
* Add tests for the command-line utilities and examples
 +
* Improved error reporting in context and devsel modules
 +
* Add extra debug option for logging creation/destruction of wrapper objects
 +
* Allow to select test device using environment variable
 +
* Add tests-specific log domain
 +
* Set event name to "UNKNOWN" instead of NULL for unknown commands
 +
* Stable API for all OpenCL versions, unsupported operations throw error
 +
* Multiple documentation improvements
 +
* Multiple build improvements in CMake configuration
 +
* Set minimum CMake version to 2.8.3
 +
* Remove support for building with Visual Studio, improve support for building with MinGW
 +
* Refactor _cf4ocl_ as a self-contained library:
 +
  * Remove requirement for direct GLib and OpenCL dependencies from _cf4ocl_ client code
 +
  * Hide GLib and OpenCL from _cf4ocl_ from client code unless explicitly required
 +
* Remove error handling macros from public API
 +
|Last review by=Fakenmc
 +
|Last review date=2016/07/05
 
|Status=
 
|Status=
 
|Is GNU=No
 
|Is GNU=No
Line 59: Line 95:
 
|Program-build-automation=make-related
 
|Program-build-automation=make-related
 
|Programming-language=C
 
|Programming-language=C
|Runs-on=Windows, OS X
+
|Runs-on=Windows, BSD, OS X, Android, GNU/Linux
|Software-development=program-build-automation, version-control
+
|Software-development=static-analysis
 
|Use=library, software-development
 
|Use=library, software-development
 
|Version-control=git
 
|Version-control=git

Latest revision as of 13:34, 5 July 2016


[edit]

cf4ocl

http://fakenmc.github.io/cf4ocl/
C Framework for OpenCL

The C Framework for OpenCL, cf4ocl, is a cross-platform pure C object-oriented framework for developing and benchmarking OpenCL projects. It aims to:

  • Promote the rapid development of OpenCL host programs in C (with support for C++) and avoid the tedious and error-prone boilerplate code usually required.
  • Assist in the benchmarking of OpenCL events, such as kernel execution and data transfers. Profiling comes for free with cf4ocl.
  • Simplify the analysis of the OpenCL environment and of kernel requirements.
  • Allow for all levels of integration with existing OpenCL code: use as much or as few of cf4ocl required for your project, with full access to the underlying OpenCL objects and functions at all times.

Features:

  • 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 and platform independent
  • Integrated profiling
  • Advanced device query utility
  • Offline kernel compiler and linker





Licensing

License

Verified by

Verified on

Notes

Verified by

Jgay

Verified on

17 October 2014

Notes

Library code

Verified by

Jgay

Verified on

17 October 2014

Notes

Remaining code




Leaders and contributors

Contact(s)Role
Nuno Fachada Author


Resources and communication

Software prerequisites

KindDescription
Required to useOpenCL 1.0
Required to buildGLib 2.32+
Required to useGLib 2.32+
Required to buildOpenCL 1.0




Entry











"Author" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.
















Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.