Opened 6 years ago

Last modified 6 years ago

#1196 new enhancement

Improve performance of Multipole interpolation

Reported by: Ian Hinder Owned by:
Priority: major Milestone:
Component: Other Version:
Keywords: Cc: francesco.panarale@…


For codes which don't use OpenMP, the interpolation of a large number of points by Multipole limits performance in some situations. One workaround is to reduce the number of points, and possibly use one of the more accurate integration methods which is already implemented. Multipole performs interpolation by calling the standard Cactus interpolation API. To increase the speed of interpolation, Multipole could be modified to implement the interpolation interface from CarpetInterp2.

I understand that the standard Cactus interpolation interface is not provided by CarpetInterp2 because more information needs to be passed than the interface allows. Was this just the fastest way to get something working, or is it really a fundamental problem? I thought that the major difference was that CarpetInterp2 computes and stores interpolation weights from the coordinates so that they can be used again in subsequent interpolations to the same points. Could the standard Cactus interpolation interface be used for this, perhaps by passing a table entry which says "store the interpolation coefficients for these points for later reuse"? This would allow existing codes to use faster interpolation without having their interpolation code rewritten to use the new interface.

Attachments (0)

Change History (1)

comment:1 Changed 6 years ago by Erik Schnetter

I do not think that CarpetInterp2 is faster per se. It may be faster (does anybody have numbers?) since it pre-calculates the stencil coefficients and the communication schedule. That is, if we offered a Cactus interpolator compatible implementation, then (by default) there would not be any speedup. The largest complication is to restructure to code to allow precalculation; this usually requires scheduling another routine, duplicating a loop, using a static variable, etc. This would still be required even if the Cactus interpolator interface was used.

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
Next status will be 'review'.
as The resolution will be set.
to The owner will be changed from (none) to the specified user.
Next status will be 'confirmed'.
The owner will be changed from (none) to anonymous.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.