-
Notifications
You must be signed in to change notification settings - Fork 4
Description
@dcmvdbekerom I set up a quite extreme example where we see the weaknesses of the LDM method / FFT when there are very little lines and a large spectral range.
- LDM : 27s
- historical : 0.43s
https://github.com/radis/radis-benchmark/blob/master/manual_benchmarks/OH%20benchmark.ipynb
I do not think the LDM can be improved much for these conditions. Instead, we should make use of the fact that RADIS has the historical method already implemented, and switch to it automatically.
I discussed this previously, but in a first approximation :
- DLM scales as
spectral range / wstep * log(spectral range / wstep)(FFT) - historical method (line-centered lineshape with cutoff) scales as
broadening_cutoff * spectral range / wstep^2(convolution)* N_lines
Therefore the ratio R should be a good indicator of when to use LDM (R >> Rcrit) and when to use the historical method (R << Rcrit)
R = broadening_cutoff / wstep * N_lines / log(spectral range / wstep)
In the benchmark example, I calculated R=50e6 and we're definitly in a historical method computation, so we can already say that Rcrit >> 50e6.
This in itself could be a GSOC project, actually !
- Build a big map of benchmark cases
- Run the methods and manually optimize
- Derive a better R expression.
- Implement the automatic switch using a high-level "optimization='auto'" mode in calc_spectrum
Related
- GPU Roadmap as it's all about performance too GPU Roadmap radis#144
- the original LDM topic implement DLM radis#37