flatironinstitute / finufft

Non-uniform fast Fourier transform library of types 1,2,3 in dimensions 1,2,3
Other
281 stars 72 forks source link

Dispatching FINUFFT_EXECUTE #485

Open DiamonDinoia opened 1 month ago

DiamonDinoia commented 1 month ago

Using something like: https://godbolt.org/z/GM94xb1j4 it will be possible to dispatch the entire finufft execute based on the plan selected removing branches for transform, data type, spreading width and dimensions.

ahbarnett commented 1 month ago

Does removing such branches really slow things down that much? Before such a large code change a test that, say, removes the branch on dimension (hardwire whatever dim) and tests whether it makes a difference, is the first step. Let's test before making the code too abstract.

On Wed, Jul 17, 2024 at 11:20 AM Marco Barbone @.***> wrote:

Using something like: https://godbolt.org/z/GM94xb1j4 it will be possible to dispatch the entire finufft execute based on the plan selected removing branches for transform, data type, spreading width and dimensions.

— Reply to this email directly, view it on GitHub https://github.com/flatironinstitute/finufft/issues/485, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNZRSQOT4L2NHIBASOTLQTZM2DTHAVCNFSM6AAAAABLA3TARSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQYTGOJQG44DIMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- *-------------------------------------------------------------------~^`^~._.~' |\ Alex Barnett Center for Computational Mathematics, Flatiron Institute | \ http://users.flatironinstitute.org/~ahb 646-876-5942