-
Notifications
You must be signed in to change notification settings - Fork 70
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
Missing NumPy functions needed for SLAC applications #1116
Comments
I have a pending PR for np.diff against cuNumeric that can be dusted off and merged. |
We need scipy.optimize.curve_fit. Under the hood this seems to use minpack. Depending on what options you pass to curve_fit I think it might also need cholesky. |
At present it seems like DeferredArray's unary_reduction() implementation doesn't allow reducing over multiple dimensions, which would probably be needed to average over an arbitrary subset of axes. Is this important to address in this issue, or is it not required for SLAC's application? |
We do not need to do average over arbitrary subset of axes. Just the 0th axis is enough. |
We have a need for scipy.curve_fit. |
@syamajala all the functions required for the base HDF5 processing script have been merted |
Ok. Will give them a try early next week. |
I might took a look at np.unique(return_index=True) if nobody else is working on it right now. |
We still need to investigate performance issues related to the functions that were implemented in this ticket. Here is a profile from before the missing functions were implemented: And a profile from after: |
There might be still some missing functions that correspond to the pieces of high python utilization, but i don't really see a performance issue in this profile other than the problem size is too small (especially for the public Python core). |
The following functions are missing: used by custom
use by SLAC code directly:
|
Also missing the following:
|
nansum does not support reducing over multiple dimensions:
Also for some reason nanpercentile is still falling back to numpy in cunumeric 24.06.00. It looks like it was merged above though? |
Adding these to the list:
|
I'm opening this issue so @manopapad and I can keep track of what needs to be implemented for the different cunumeric SLAC applications.
For psana we need:
@manopapad has a patch that tries to improve single index accesses to arrays although that code will be removed when np.uinque(return_index=True) is implemented. All the kernels for psana are just single GPU and do not need to be distributed.
For HDF5 analysis we need gpu and distributed versions of:
np.diff
#636, mergedFor HDF5 analysis we need the following extensions:
For a custom
curve_fit
implementation we need:The text was updated successfully, but these errors were encountered: