-
Notifications
You must be signed in to change notification settings - Fork 744
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 MKL Lapack functions #1388
Comments
The mkl_lapack.h file is huge and it didn't used to be possible to compile the generated code. I tried again in commit ccfa8af, but the build machines still don't have enough memory. As we can see from the Windows build log though, a whole lot of symbols don't actually exist, so we need to find a way to prune them. But if the only functions you're interested in are the ones you mention above, you could copy the declarations for those only and paste them in this class: If this sounds good, please open a pull request to that effect! |
Yes, I only need these functions for now, and i might stumble upon a few others, but I will havea an explicit list. I will add them to that file. By copying the declarations, you mean that I should only add their names to the list at line 64? |
No, I mean something like in commit 5bc74d8. |
OK, I'll do the port I'm currently on, keep track of missing functions, and then I'll try to add them to javacpp presets by hand (or cry for help if there's something I can't follow). |
I was able to get rid of all non-existent symbols by skipping all functions whose names end with an underscore, and I've managed to make it compile under Linux machines from GitHub Actions as well in commit b80d5a2, so could you give that a try and let me know if this works for you? |
Sure! Should I expect this commit to be available in maven snapshots repository (I expect that would be in a couple of hours or sooner?) or I must clone javacpp repository and build it myself? |
Please give it a try with the snapshots: http://bytedeco.org/builds/ |
Thanks! I've updated my project to 1.5.10-SNAPSHOT, but these functions are still missing from the current snapshot. BTW, here's the list of available XlanXX operations available in the snapshot that is currently available (the GB, SB, and TB versions are still missing).
|
Whoops, now I see that your commit was 7 hours ago, so it's probably included in the snapshot. But no, these functions are still missing. |
I see them perfectly fine in this file: |
Sorry for missing that. It turns out that I expected these files to have the =LAPACKE_= prefix, like their cousins =LAPACKE_slange= etc, while they have been generated without that prefix. Now I see that the un-prefixed versions are not available in http://bytedeco.org/javacpp-presets/mkl/apidocs/ The code that I had that uses these functions now had to be adapted to this "raw" way of calling. I'll do this tomorrow and report the results! Thank you. |
It works! (At least the cases that I tried so far). Thank you. |
I don't see any LAPACK_slansb, etc functions in MKL. It's possible they got removed in newer versions. Please verify with Intel! |
Yes. It turns out it's their mess. But, anyway, as far as JavaCPP is concerned, this now works as expected (well). |
JavaCPP presets 1.5.9 are missing MKL LAPACK norm operations: slansb, dlansb, slangb, dlangb, slantb, dlantb (maybe others too, I'll report if I encounter such cases).
These are standard LAPACK functions, and are listed in both LAPACK and MKL documentation, such as:
https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2023-0/langb.html
I couldn't find them listed in JavaCPP MKL preset source, so I'm not sure whether they are missing for a specific reason, or is it purely by chance. BTW, I used them in my C code, they are in MKL headers, and they work as expected in MKL...
The text was updated successfully, but these errors were encountered: