Re: How to speed up KRIG2D by 30x [message #86155 is a reply to message #86140] |
Sat, 12 October 2013 08:28   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Chris Torrence writes:
> Okay, here is the new code, minus the comments. I added 3 new keywords: DOUBLE, XOUT, YOUT. DOUBLE forces double precision. XOUT, YOUT are output keywords that contain the final X/Y locations. I also vectorized the final loop, for even more speed.
>
> I also changed the C code of GRIDDATA to move the LUSOL out of the loop.
>
> Now, with Mike's changes and the vectorization, I'm getting the following results using Mike's test code at the top with 500 input points and 400 output points:
>
> Old KRIG2D: 30 seconds
> New KRIG2D: 0.51 seconds
> New GRIDDATA: 1.3 seconds
Fast Kriging may have saved the day in a map warping problem I've been
working on. This is really, really great! Thanks for being all over
this, and thanks to Michele for solving the original problem.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thue. ("Perhaps thou speakest truth.")
|
|
|