You have multiple GPUs? You know C# programming? You need high-performance-computing?

5    10 May 2017 22:08 by u/tugrul_stacked_hbm

There is a new feature "device to device pipelining" in Cekirdekler API that can bind a different GPU for each stage of an OpenCL pipeline such that they all work concurrently and trade data between them at the same time with double buffering.

This makes full use of multiple pci-e bridges of the mainboard and all cores of GPUs if the kernels have high compute to data ratio.

This work scheduling is for non-distributable kernel systems where each kernel has atomic-functions or similar optimizations to communicate other threads in same kernel execution.

Here is how it works:

https://github.com/tugrul512bit/Cekirdekler/wiki/Pipelining:-Device-to-Device

and some tutorial:

https://www.codeproject.com/Articles/1181213/Easy-OpenCL-Multiple-Device-Load-Balancing-and-Pip

and a simple comparison agains for loop single thread, parallel for loop and linq:

https://www.youtube.com/watch?v=pNIBzQvc4F8

0 comments

No comments archived.