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

Fixes for self-installed MKL from intel oneAPI #99

Merged
merged 4 commits into from
Feb 24, 2024

Conversation

j-fu
Copy link
Collaborator

@j-fu j-fu commented Feb 15, 2024

  • introduces Pardiso.mkl_is_available() for use in runtests.jl
  • test load mkl in init (like pardiso)
  • some link updates, hint at LD_LIBRARY_PATH

* introduces Pardiso.mkl_is_available() for use in runtests.jl
* test load mkl in __init__ (like pardiso)
* some link updates, hint at LD_LIBRARY_PATH
Copy link

codecov bot commented Feb 15, 2024

Codecov Report

Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (5457b3f) 39.68% compared to head (fccea5f) 40.67%.

Files Patch % Lines
src/Pardiso.jl 81.81% 2 Missing ⚠️
src/mkl_pardiso.jl 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #99      +/-   ##
==========================================
+ Coverage   39.68%   40.67%   +0.99%     
==========================================
  Files           4        4              
  Lines         378      386       +8     
==========================================
+ Hits          150      157       +7     
- Misses        228      229       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

* Run `Pardiso.show_build_log()` to see the build log for additional
information.
* Note that the `MKLROOT` environment variable must be set whenever using the library.
* Note that the `MKLROOT` environment variable must be set, and `LD_LIBRARY_PATH` must contain `$MKLROOT/lib`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this true? I don't think I have had to explicitly set this before.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The advise by intel is to run

source /opt/intel/oneapi/setvars.sh

This sets MKLROOT and adds the lib directory to the LD_LIBRARY_PATH . I accidently run with only MKLROOT set, and libmkl_rt was not found as a consequence.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

src/mkl_pardiso.jl Outdated Show resolved Hide resolved
src/mkl_pardiso.jl Outdated Show resolved Hide resolved
src/mkl_pardiso.jl Outdated Show resolved Hide resolved
j-fu and others added 3 commits February 16, 2024 11:49
Co-authored-by: Kristoffer Carlsson <[email protected]>
* make error msg less specific if it is not available.
* set to true in __init__ if libmkl_rt cannot be loaded
* checked by mkl_is_available(), so MKLPardisoSolver()
  cannot be instantiated if load failed
@j-fu
Copy link
Collaborator Author

j-fu commented Feb 16, 2024

IMHO ready to merge.

@j-fu
Copy link
Collaborator Author

j-fu commented Feb 24, 2024

Would first merge this and then retry the registry attempt at e62b47a

@KristofferC KristofferC merged commit b64c486 into JuliaSparse:master Feb 24, 2024
11 checks passed
@KristofferC
Copy link
Member

👍, JuliaRegistries/General#101593

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

Successfully merging this pull request may close these issues.

2 participants