-
Notifications
You must be signed in to change notification settings - Fork 7
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
add mkl_fft and llvmlite to software stack? #71
Comments
On 8/6/2024 1:23 PM, Moustakas wrote:
As part of a major performance-focused restructuring of
https://github.com/desihub/fastspecfit
we would like to request two additional packages be added to DESI conda stack:
* https://github.com/numba/llvmlite
* https://github.com/IntelPython/mkl_fft
John -- I think llvmlite is already there as part of Numba. The other
package I was hoping for besides mkl_fft is the Intel SVML library,
which is installed via the package 'intel-cmplr-lib-rt'.
Jeremy
|
Context on pinning mkl=2020.0. When porting to cori, we found that numpy/scipy.linalg.eigh had non-reproducible answers even when run back-to-back on the same input in the same python script on the same machine. @lastephey traced this to an MKL issue and put together a reproducer at https://github.com/lastephey/eigh-mkl-bug. She reported that to Intel via our internal contacts on the NESAP team, and they filed internal Intel tickets about it, concluding that
Their argument is basically that reproducibility at the machine round-off level is meaningless and we shouldn't worry about it, favoring performance gains instead. In practice, that makes testing a huge pain because the output always changes and you have to check in detail every time whether the change was bad or not. While they were sorting out the Regarding mkl_fft, in general I'm hesitant to bring in more required dependencies, and we're already in a bit of dependency hell with the desiconda packages, so there has to be a pretty strong case for the improvement offered by mkl_fft. I also view MKL-specific dependencies as risky since the future isn't guaranteed to be Intel/MKL-compatible, e.g. I wouldn't be surprised if some future machine used something like https://www.nvidia.com/en-us/data-center/grace-hopper-superchip/ and wasn't 100% MKL compatible and we use some MKL-alternative instead. Ideally that would be transparent at the numpy/scipy level, but if we find that we need to install MKL-specific dependencies and our code doesn't work if they aren't installed (vs. just running faster if they are installed), that's a warning flag for future maintainability. |
As part of a major performance-focused restructuring of https://github.com/desihub/fastspecfit that I'm doing with @jdbuhler, we would like to request two additional packages be added to DESI conda stack:
However, these packages are not compatible with the currently pinned version of
mkl=2020.0
. There's a comment in https://github.com/desihub/desiconda/blob/main/conf/conda-pkgs.sh that says:Is there a report, thread, or ticket which discusses this issue?
The latest version of
mkl
is2023.1.0
. Can we test the effect of upgrading this package?https://anaconda.org/anaconda/mkl/files
The text was updated successfully, but these errors were encountered: