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

Fix for StaticInt no longer subtyping Integer #80

Merged
merged 2 commits into from
Nov 23, 2023

Conversation

vandenman
Copy link
Contributor

Fixes #79

Adds Static as a direct dependency (it was already an indirect dependency).

Tests pass locally with Static v0.7.8 and Static v0.8.8, hence the compat bounds of 0.7, 0.8.

Suggestions, comments and other feedback is welcome!

With this fix I was able to obtain these benchmark results:

julia> versioninfo()
Julia Version 1.9.4
Commit 8e5136fa297 (2023-11-14 08:46 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 64 × AMD Ryzen Threadripper PRO 3975WX 32-Cores
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, znver2)
  Threads: 64 on 64 virtual cores
Environment:
  JULIA_EDITOR = code

gemm_Float64_10_1000_znver2_AVX2__multithreaded

Comparing them to the ones on https://github.com/JuliaLinearAlgebra/Octavian.jl, they are pretty interesting. Unsurprisingly, MKL.jl does not do very well since this is on an AMD CPU. Surprisingly, the performance of BLIS drops massively from size 244 (median 783.96 GFLOPS) to size 249 (median 55.69 GFLOPS). No idea what is going on there. The performance of the other libraries seems to agree with the results in Octavian.jl.

@chriselrod
Copy link
Collaborator

That's an interesting CPU, you're welcome to add those results to the README or docs of either package.

Thanks for the fix!

@chriselrod chriselrod merged commit ae6dfec into JuliaLinearAlgebra:master Nov 23, 2023
4 of 5 checks passed
@vandenman vandenman deleted the bugfix_StaticInt branch November 23, 2023 14:21
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.

MethodError: no method matching mkl_set_num_threads(::Static.StaticInt)
2 participants