Skip to content

Releases: tugrul512bit/Cekirdekler

v1.4.1_update5

17 Nov 19:51
3efebd5
Compare
Choose a tag to compare

flushLastUsedCommandQueue() function added to numberCruncher class.

Used in enqueue mode.

Flushes commands in last used command queue.

Useful for some graphics cards that don't start accepting commands immediately.

Use rar files named ...._update5

v1.4.1_update4

07 Nov 21:39
f9d8efa
Compare
Choose a tag to compare

Only difference from update 3 is, addition of "-cl-std=CL1.2" option to compile parameters in C++ project and exchanging new DLL file in the ..._update3.rar and re-adding it as ..._update4 rar file in the entrance folder.

Now this should let you use even more different cards (if you have any failing to use this project). Now it targets OpenCL 1.2 instead of devices' default option.

If you are already using update3, then you only need to copy KutuphaneCL.dll from update4 to your project folder.

v1.4.1_update3

16 Oct 17:40
Compare
Choose a tag to compare

Fixed v1.4.1_update2's device-pool dispose() method to release worker threads successfully.

CekrideklerCPP project: https://github.com/tugrul512bit/CekirdeklerCPP
CekrideklerCPP2 project: https://github.com/tugrul512bit/CekirdeklerCPP2

v1.4.1_update2

02 Jul 09:36
Compare
Choose a tag to compare

Added "OpenCL 2.0 Dynamic parallelism" support(along with kernel-only features of OpenCL 2.0 such as work-group-reduction functions).

To use OpenCL 2.0, KutuphaneCL.dll must be derived from CekrideklerCPP2 project(produces KutuphaneCL2.dll which needs to be renamed to KutuphaneCL.dll again). CekirdeklerCPP uses only OpenCL1.2. CekirdeklerCPP2 uses only OpenCL2.0, selects v2.0 platforms and v2.0 devices.

No need to create default queue for dynamic parallelism. It is handled by Cekirdekler.dll whenever enqueue_kernel() function is found in kernel C99 code string. Device-queue size is automatically adjusted between preferred and max values of device.

CekrideklerCPP2 project:

https://github.com/tugrul512bit/CekirdeklerCPP2

v1.3.8

17 Jun 20:11
Compare
Choose a tag to compare

added callback option to ClTask. When a task is executed in device pool, its callback function is called.

uses cekirdeklercpp project v1.3.8

64-binary zip file contains all needed files

v1.3.5

16 Jun 18:52
Compare
Choose a tag to compare

device pool finish() optimized

v1.3.4

16 Jun 13:04
Compare
Choose a tag to compare

bug fixed: pool quitting early when finish() is called and a device hasn't received a task.

v1.3.3

15 Jun 23:05
Compare
Choose a tag to compare

Added serial mode to ClTask to run in ClDevicePool.

Added broadcast mode to ClTask to run in ClDevicePool.

Added single device mode to ClTask to run in ClDevicePool.

Optimized pool performance.

Dropped round-robin mode compatibility. (only compute_at_will is working)

v1.3.2

11 Jun 12:57
Compare
Choose a tag to compare

added multiple kernel instance generation based on compute-id + kernel name (decreases number of clsetkernelarg() calls and makes async queue computing with same kernel name and different parameters)(for tiled computing by task pool + device pool)

added task (to compute() later instead)

added task pool and device pool features (non separable kernels are distributed to devices with greedy algorithm)

uses CekirdeklerCPP 1.3.1 binary (kutuphanecl.dll, 64 bit)

v1.2.12_update

03 Jun 16:58
Compare
Choose a tag to compare

fixed version info, deleted old binaries

v1.2.12:

needs KutuphaneCL.dll (CekirdeklerCPP project) v1.2.12

added concurrency option to single device pipeline class, to limit its number of command queues between 1 and 16 inclusive

optimized it for performance

fixed minor bugs.