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

Update MKL.jl to use the ILP64 interface #164

Merged
merged 2 commits into from May 14, 2024
Merged

Conversation

amontoison
Copy link
Contributor

@amontoison amontoison commented May 6, 2024

It should solve the issue with MKLSparse.jl.
JuliaSparse/MKLSparse.jl#36 (comment)

@amontoison amontoison requested a review from ViralBShah May 6, 2024 14:54
src/MKL.jl Outdated Show resolved Hide resolved
@ViralBShah
Copy link
Contributor

ViralBShah commented May 6, 2024

This will actually be a problem, I believe. When using INTERFACE_LP64, I believe you get dgemm for LP64 and dgemm_64 for ILP64, which is how we do LBT.

With INTERFACE_ILP64, we get dgemm as ILP64.

At least that is my understanding.

@amontoison
Copy link
Contributor Author

Can we also use INTERFACE_LP64 in MKLSparse.jl?

@ViralBShah
Copy link
Contributor

It may be better for MKLSparse.jl to depend on MKL.jl, which can be counted upon to set the environment up correctly.

@ViralBShah ViralBShah marked this pull request as draft May 14, 2024 13:13
@ViralBShah ViralBShah changed the title Update MKL.jl Update MKL.jl to use the ILP64 interface May 14, 2024
@ViralBShah
Copy link
Contributor

It looks it should be safe to set the ILP64 interface. I see the symbols in the ilp64 MKL libraries.

@ViralBShah ViralBShah marked this pull request as ready for review May 14, 2024 13:20
@ViralBShah ViralBShah merged commit 7f85950 into master May 14, 2024
6 checks passed
@ViralBShah ViralBShah deleted the amontoison-patch-1 branch May 14, 2024 13:21
@amontoison
Copy link
Contributor Author

amontoison commented May 14, 2024

Are you sure that symbols without suffix _64 are still the LP64 interface?
It could break packages compiled with LBT and a LP64 BLAS otherwise.

@ViralBShah
Copy link
Contributor

ViralBShah commented May 14, 2024

Darn that's a good point. We definitely want the non-suffixed versions to be LP64, and INTERFACE_LP64 is probably the only way to do it right.

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.

None yet

2 participants