faster emission line sims for MKL>=2018.0.2 #390
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes desihub/desitarget#323 where
select_mock_targets
became mysteriously slower for BGS and ELG using the latest desiconda. I traced this to a single line indesisim.templates.EMSpectrum
:The Gaussian is evaluated at all wavelengths
self.log10wave
instead of just a few sigma aroundthislinewave
. For earlier desiconda installations using the Intel Math Kernel Library (MKL) 2018.0.1, this wasn't a problem. But newer desiconda installations use MKL 2018.0.2, which is 10x slower for this particular case of evaluating exponentials of large arrays of large negative numbers that will mostly result in 0.I fixed this by pre-filtering the wavelengths to +/- 5 sigma around the line to add. This restores the performance, and even makes it a bit faster than before.