Re: [Haskell-cafe] Data.Array.Accelerate initialization timings

Hi Alex,
I've seen that method, but I don't see how can I use it for initialization
purposes. It creates Acc (Array e i) from Array e i, but what should I do
while I don't have Array yet? And when Array is already initialized, 'use'
will transfer it to GPU memory which will add some extra timings, but won't
optimize what I have at the moment.
However, I'll try to use it somehow. Maybe I misunderstand the mechanics.
Thanks a lot!
On 20 February 2012 16:06, Alex Gremm
Hi Paul,
even though I just started reading about Accelerate, it seems to me that you didn't use the "use" method which according to [1] initiates asynchronous data transfer from host to GPU.
Cheers, Alex
[1]: http://www.cse.unsw.edu.au/%7Echak/papers/acc-cuda.pdf On 20/02/12 14:46, Paul Sujkov wrote:
Hi everyone,
since accelerate mail list seems to be defunct, I'm trying to ask specific questions here. The problem is: array initialization in Data.Array.Accelerate takes a 10x amount of time in contrast to both Data.Array and bare C++ CUDA array initialization. This can be due to Data.Array.Accelerate having two backends (however, it's own tests show that my nVidia card is CUDA-capable), but I'm not aware of how can I profile GPU to check whether it is used or not. Anyway, here's code:
both generateArray (DIM3) and generateArray1 (DIM1) take the same amount of time to initialize array. I'd say the problem is in GPU memory copying time, but here's bare C++ code:
which does exactly the same, but 10 times faster. I'm wandering what am I doing wrong and how to check if I really am. Thanks in advance if anyone can point me on my mistakes!
-- Regards, Paul Sujkov
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Regards, Paul Sujkov
participants (1)
-
Paul Sujkov