1 Reply Latest reply on Jun 10, 2015 2:30 PM by kknox

    clFFT multi-GPU with batch mode

    Meteorhead

      Hi!

       

      What is the canonical way of getting multi-GPU processing of batched FFTs working? I tried using clFFT 2.4 from Github, and tried giving it multiple queues and buffers, but I got error code -4097 (CL_FFT_FEATURE_NOT_IMPLEMENTED) or something similar.

       

      What was the intention of the implementors? Why does the API expose a feature that is not yet implemented? What is the correct way of doing this? It is not quite clear how I should setup the plan. What should be the batch size? The total number of 2D images that I have manually broken down to multiple buffers? Or is it the total number divided by the number of queues?

       

      Any help is apreciated.

       

      Cheers,

      Máté

        • Re: clFFT multi-GPU with batch mode
          kknox

          Hi Meteorhead

           

          The return code you are getting is expected; the library itself does not have the capability to use multi-gpus yet.  We were probably overreaching in our design when we crafted the clFFT API to support multiple command queues.  I think now, in hindsight, I would implement the multi-gpu functionality as a wrapper around a base API which only worried about single GPU functionality.

           

          It is still possible to split FFT's across GPU's but it is left to the user to implement, for the time being.  Issues/questions like this are probably best asked in the clFFT issues tracker, to increase visibility to the devs: Issues · clMathLibraries/clFFT · GitHub