Multi-GPU load-balancing GPGPU API for C# programmers

Discussion in 'Videocards vs General Purpose - NVIDIA Ageia PhysX' started by Tugrul_512bit, Apr 13, 2017.

  1. Tugrul_512bit

    Tugrul_512bit Member Guru

    Messages:
    114
    Likes Received:
    0
    So that you can write stuff with it and make a forum-scale benchmark where even a temporary overclock on one of GPUs will have effect on performance of the parallelized code that uses ALL GPUs even FPGAs.

    It also supports different types of pipelining to value GPUs' asynchronous abilities to get faster(through hiding latencies between separate queues' overlapped stages).

    It is open-source:

    (wiki) https://github.com/tugrul512bit/Cekirdekler/wiki
    (download) https://github.com/tugrul512bit/Cekirdekler/

    (another download, temporarily not working) https://www.codeproject.com/Articles/1181213/Easy-OpenCL-Multiple-Device-Load-Balancing-and-Pip

    Here is hello world:

    Code:
                ClNumberCruncher cr = new ClNumberCruncher(
                    AcceleratorType.GPU, @"
                        __kernel void hello(__global char * arr)
                        {
                            printf(""hello world"");
                        }
                    ");
    
                ClArray<byte> array = new ClArray<byte>(1000);
                array.compute(cr, 1, "hello", 1000, 100); 
    that broadcasts 1k bytes to all GPUs and prints hello world on console!

    Making a ray-tracer shouldn't be so hard. Mandelbrot generator? As fast as it gets.
     

Share This Page