Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for CPU threading over time series with different observation times #36

Open
lgarrison opened this issue Aug 29, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@lgarrison
Copy link
Member

Right now we can (slightly) parallelize individual periodograms, and pretty robustly parallelize multiple periodograms with the same NU points. The latter is possible because finufft supports threading over stacked NUFFTs.

However, in many cases, we want to parallelize over time series with different observation times. This is already possible with Python multiprocessing, but that has its own challenges. It should be possible to dynamically dispatch periodograms to finufft, probably at the C++ level with OpenMP. This would be a fairly large departure from the way we're using finufft now through the Python interface. However, we're already using all the necessary technologies (C++, Pybind11, OpenMP); I had this in the back of my mind when doing the original implementation.

It's possible we would want a different Python API, depending on how gnarly it is to support all the individual/stacked/non-stacked cases (we may not want to support threading over multiple stacks, each with their own NU points, for sanity's sake!).

@lgarrison lgarrison added the enhancement New feature or request label Aug 29, 2024
@lgarrison
Copy link
Member Author

Relevant to #34 (not the multi-band part, but the millions-of-periodograms part)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant