Skip to content
This repository has been archived by the owner on Jan 6, 2024. It is now read-only.

Releases: nunofachada/cf4ocl

v2.1.0

04 Jul 22:27
Compare
Choose a tag to compare

New features

  • 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

Download/install instructions

  • Experimental binaries are provided for Linux (64 bits), Windows (32/64 bits)
    and Mac OS X (64 bits). These should be installed manually to the appropriate
    system folders.
  • Windows and Linux binaries are compiled against OpenCL 2.0. As such, they
    require that an ICD (OpenCL.dll/libOpenCL.so) supporting OpenCL >= 2.0 is
    previously installed. See the
    Build and install from source
    Wiki page for compiling cf4ocl against other OpenCL versions.
  • Windows binaries include a number of third-party DLLs (GLib and friends)
    required to run the utilities. On Linux, GLib should be installed via the
    package manager. On OS X, GLib should be installed using
    Homebrew or similar tool.
  • There is a Homebrew formula
    formula for OS X. This is the recommended approach for installing cf4ocl on
    OS X. Acknowledgements to Jan-Gerd Tenberge for
    providing this formula.

v2.0.1

18 Jan 01:51
Compare
Choose a tag to compare
  • Fix seg. fault with OpenCL <= 1.1 devices (e.g. all Nvidia GPUs) when cf4ocl was compiled for OpenCL >= 1.2
  • Add OpenCL C and OpenCL platform version query functions for devices

v2.0.0

13 Jan 22:26
Compare
Choose a tag to compare
  • Add pkg-config support (pull request #17)
  • Close #5: add support for clEnqueueNativeKernel() function
  • Close #6: add support for sub-devices
  • Add tests for new functionality
  • Fix #16: bug in error module when error index is out-of-range
  • Fix #11, #12 and #13: hangs in some tests w/ OCL stub w/ MinGW64
  • Abbreviate error messages for non-debug builds
  • Fix unordered tear-down when no devices found
  • Library fully documented and tested on Linux, OS X and Windows

v2.0.0-beta.2

08 Dec 00:04
Compare
Choose a tag to compare
v2.0.0-beta.2 Pre-release
Pre-release
  • Fix bug in ccl_program_link()
  • Auto build log with compile and link
  • Add thread-safety to wrapper object info handling, cache disabled by default in info wrappers
  • Improve and optimize event wait list handling functions, add ccl_ewl() shortcut macro for event wait lists
  • Fix bug in ccl_user_event_new()
  • Add buffer/image utility macros to wrap ccl_memobj_enqueue_unmap()
  • Add ccl_arg_skip to skip kernel arguments
  • Several improvements to the ccl_kernel_suggest_worksizes() utility function
  • Hide super-class implementations
  • Add a number of tests, framework is almost completely tested
  • Add tutorial to documentation

v2.0.0-beta.1

11 Oct 22:41
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release
  • Fix several warnings with Clang and MSVC
  • Add compatibility with Visual Studio 32/64 and MinGW64
  • Add compatibility with XCode and MacOSX
  • Add automatic packaging with DEB, RPM and NSIS
  • Automatic build of man pages
  • Several improvements to the Profiler module
  • Add method to CCLQueue class to release events associated with the queue
  • Output stack trace to debug stream when error occurs
  • Output program build log to debug stream
  • Refactor image and buffer enqueue function prototypes for coherence with remaining library (i.e. the respective object is given as the first argument)

v2.0.0-alpha.2

12 Sep 15:41
Compare
Choose a tag to compare
v2.0.0-alpha.2 Pre-release
Pre-release
  • Fix bugs in Windows build
  • Fix compiling in MacOSX (some issues remain)
  • Add support for C++
  • Add function to suggest kernel worksizes based on kernel and device info
  • ccl_event_wait_list_add() accepts variable number of events
  • Add ccl_queue_new_full() constructor
  • Add automatic build log, logs warning if build log not empty
  • Add get_build_log() to program module
  • Move ccl_enqueue_barrier/marker to queue module
  • Rename ccl_platforms_get_platform() to ccl_platforms_get()
  • Rename get info macros for coherence
  • Refactor info functions to avoid segfault in some cases
  • Profiler detects unprofilable queues and events
  • Get OpenCL version functions return integer instead of double
  • Improve menu device selector
  • Refactor image wrapper constructors
  • Remove types module
  • Remove unused/not useful ccl_info_scalar and ccl_info_array macros
  • Add a few more tests
  • Add several samples/examples
  • Add complete documentation (API and user guide)

v2.0.0-alpha.1

20 Aug 15:43
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release
  • Complete framework rewrite
  • Object-oriented wrapper for OpenCL
  • Provides several utility classes, functions and methods for simplifying the development and profiling of OpenCL programs written in C
  • This is an alpha release, it probably contains bugs and the API is subject to change
  • Feedback and suggestions greatly appreciated

v1.3.2

04 Aug 14:16
Compare
Choose a tag to compare
  • Fix memory leak in profiler module

v1.3.1

04 May 14:29
Compare
Choose a tag to compare
  • Make examples optional
  • Only use OpenMP in examples if available
  • Update docs to reflect MacOSX support
  • Enable OSX builds
  • Add helper object which contains OpenCL event and a name + function which adds instances of that object to the profile

v1.3.0

05 Mar 20:17
Compare
Choose a tag to compare
  • Improved Windows and cross-platform support
  • Switch to CMake build system
  • Client code only requires one header