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 #62005 is a reply to message #62004] Fri, 15 August 2008 07:28 Go to previous message
wlandsman is currently offline  wlandsman
Messages: 743
Registered: June 2000
Senior Member
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
[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: Sun Oct 12 19:44:20 PDT 2025

Total time taken to generate the page: 0.01366 seconds