comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: CUDA version of RANDOMN?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: CUDA version of RANDOMN? [message #62003 is a reply to message #62002] Fri, 15 August 2008 08:16 Go to previous messageGo to previous message
hotplainrice@gmail.co is currently offline  hotplainrice@gmail.co
Messages: 15
Registered: July 2008
Junior Member
On Aug 16, 12:28 am, wlandsman <wlands...@gmail.com> wrote:
> On Aug 15, 10:11 am, "hotplainr...@gmail.com" <hotplainr...@gmail.com>
> wrote:
>
>
>
>> Hey guys,
>
>> I need to write a kernel to replace the IDL RANDOMN POISSON
>
>> for loop
>>   for loop
>>      for loop
>>                        c = data[x,y,b]
>>                         if c gt 0.0 then begin
>>                                 n = RANDOMN( seedP, POISSON=c )
>>                         endif else begin
>>                                 n = 0
>>                         endelse
>>                        data[x,y,b] = n
>>     endfor
>>   endfor
>> endfor
>
>> Could someone point out an example code of how RANDOMN POISSON so that
>> I can implement it in CUDA?
>
> Your best bet is to probably look at the Poisson generating algorithm
> in "Numerical Recipes in C" if you are going to implement it CUDA.
>
> I have implemented the "Numerical Recipes in C" algorithm into the IDL
> procedure poidev.pro at http://idlastro.gsfc.nasa.gov/ftp/pro/math/poidev.pro.
> Although poidev.pro is normally slower than calling randomn(POISSON=),
> it has advantages for just the problem you describe, which can be
> written as simply
>
>           data = poidev(data)
>
> rather than using a triple FOR loop.   --Wayne

Thanks for the reply. I was about to use your code until I discovered
the problem of achieving this.

c = data[x,y,b]
if c gt 0.0 then begin
n = RANDOMN( seedP, POISSON=c )
endif else begin
n = 0
endelse

I guess the only way is to code a poisson kernel and then do tiling on
the data.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Need help with an Iterative solution in IDL (relative newb question)
Next Topic: Re: A very simple question about map_grid

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 15:41:23 PDT 2025

Total time taken to generate the page: 1.28442 seconds