Nonuniform fast transforms #1294
Labels
P3
Highest Priority, someone is/should be actively working on this
performance
New feature or request to make the code faster
In general, the computation of locally defined or singular quantities will be more efficient with non-uniform fast transforms. In particular, I am referring to the type 2 nonuniform fast transform, which evaluates spectral coefficients at non-uniformly spaced points.
Although a fixed grid with nodes uniformly spaced throughout the plasma is fine for optimizing continuous functions defined throughout the volume, it is of course not well-suited for locally defined quantities such as bounce integrals. There are two hurdles with computing these quantities efficiently:
We should pick a JAX compatible NFFT package and write drop in replacements for the currently used MMTs. We can check the$\epsilon$ errors of these external NFFT libraries by comparing to those utilities on the tests in that PR.
(Note that for strongly singular integrals$1 / \sqrt(1 - \lambda |B|)$ , we will maybe still use MMT's for |B| since the integrands are not smooth functions of |B|, and the nodes are packed more tightly near the edges. This should be fine since |B| is parameterized by a series expansion in a single variable along each cut of the field line, so it is cheaper. The other quantities in the integrand are 2D functions where this would be more useful. For the weakly singular ones, all the quantities should be able to use NFFTs without issue).Here are some candidates:
The text was updated successfully, but these errors were encountered: