06/16/2026
Marco Barbone, ingénieur logiciel au Center for Computational Mathematics de Flatiron Institute (Simons Foundation), présentera un séminaire portant sur la transformée de Fourier non uniformes.
📅 18 juin 2026
🕞 15 h 30 à 16 h 30
📍 Polytechnique Montréal
Pavillon Lassonde | M-2110
Résumé de la présentation (en anglais)
The nonuniform FFT (NUFFT) is widely used in scientific computing: it is what makes the first image of a black
hole, an MRI scan, a cryo-EM reconstruction, or an exoplanet power spectrum tractable. This talk is a practical,
bottom-up tour of what it takes to make NUFFTs fast on real hardware — and of a surprisingly general idea hiding
underneath them.
Starting from the structure of a NUFFT, the computational costs lies in : a tight inner loop that smears nonuniform
points onto a grid through a smooth kernel. Evaluating that kernel is really a broader problem in disguise —
how do you evaluate an expensive function cheaply? There is a general recipe: approximating it with simple
polynomials and evaluating those, with a little insight about how to do it, gives full accuracy at a tiny fraction of the
cost. The talk builds the intuition for why this works and what makes one approach fast and stable where another
is slow or hopeless.
With the right approximation in hand, the focus moves to making it fly on the machine. Vectorizing the inner loop
step by step with XSIMD ends with a small trick that gets the hardware to do twice the useful work per instruction.
Making one runtime parameter known at compile time — using the POET library — finally lets the compiler emit
clean vector code while keeping the source maintainable. The payoff is a 10–100transforms, consistent across
compilers and CPUs.
Finally, none of this should have to be rewritten for the next expensive function. treeweave packages the whole
pipeline behind a single call — handing it a function and a tolerance returns a drop-in, thread-safe replacement
called like the original. You pay the cost once; every evaluation afterward is cheap, from C++, C, Fortran, Python,
Julia, and MATLAB/Octave through one stable interface. Closing with real-world examples points to the broader
lesson the NUFFT teaches: pick the right approximation, then make it fit the machine.