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

[OpenBLAS] Update to v0.3.26 #7911

Merged
merged 1 commit into from
Jan 5, 2024
Merged

Conversation

giordano
Copy link
Member

@giordano giordano commented Jan 5, 2024

No description provided.

@giordano giordano added julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies linear algebra 🔢 labels Jan 5, 2024
@giordano giordano enabled auto-merge (squash) January 5, 2024 14:54
@giordano
Copy link
Member Author

giordano commented Jan 5, 2024

With OpenMathLib/OpenBLAS#4394 Apple M series CPUs use NeoverseN1 kernels when OpenBLAS is compiled with DYNAMIC_ARCH (which is what we do here). Some quick benchmarks on M1: with OpenBLAS 0.3.25:

julia> using LinearAlgebra, BenchmarkTools

julia> peakflops()
1.7049262964078418e11

julia> x = randn(1_000); y = randn(size(x));

julia> @btime dot($x, $y);
  402.705 ns (0 allocations: 0 bytes)

with OpenBLAS v0.3.26:

julia> using LinearAlgebra, BenchmarkTools

julia> peakflops()
1.8042546290642157e11

julia> x = randn(1_000); y = randn(size(x));

julia> @btime dot($x, $y);
  143.777 ns (0 allocations: 0 bytes)

Up to OpenBLAS v0.3.25 you can get similar performance on Apple Silicon by exporting the environment variable

OPENBLAS_CORETYPE=NEOVERSEN1

@giordano giordano merged commit c5c6513 into JuliaPackaging:master Jan 5, 2024
24 of 25 checks passed
@giordano giordano deleted the mg/openblas branch January 5, 2024 16:01
giordano added a commit to JuliaLang/julia that referenced this pull request Jan 6, 2024
Memo to self:

* update version number in `stdlib/OpenBLAS_jll/Project.toml`
* update version number and sha in `deps/openblas.version`
* refresh checksums with `make -f contrib/refresh_checksums.mk -j
openblas`

In the [release notes of
v0.3.26](https://github.com/OpenMathLib/OpenBLAS/releases/tag/v0.3.26)
one of the more interesting point is perhaps

> included support for Apple M1 and newer targets in DYNAMIC_ARCH builds

Quoting from
JuliaPackaging/Yggdrasil#7911 (comment)

> Some quick benchmarks on M1: with OpenBLAS 0.3.25:
> ```julia
> julia> using LinearAlgebra, BenchmarkTools
> 
> julia> peakflops()
> 1.7049262964078418e11
> 
> julia> x = randn(1_000); y = randn(size(x));
> 
> julia> @Btime dot($x, $y);
>   402.705 ns (0 allocations: 0 bytes)
> ```
> with OpenBLAS v0.3.26:
> ```julia
> julia> using LinearAlgebra, BenchmarkTools
> 
> julia> peakflops()
> 1.8042546290642157e11
> 
> julia> x = randn(1_000); y = randn(size(x));
> 
> julia> @Btime dot($x, $y);
>   143.777 ns (0 allocations: 0 bytes)
> ```
> Up to OpenBLAS v0.3.25 you can get similar performance on Apple
Silicon by exporting the environment variable
> ```sh
> OPENBLAS_CORETYPE=NEOVERSEN1
> ```
MichelJuillard pushed a commit to MichelJuillard/Yggdrasil that referenced this pull request Jan 8, 2024
KristofferC pushed a commit to JuliaLang/julia that referenced this pull request Jan 24, 2024
Memo to self:

* update version number in `stdlib/OpenBLAS_jll/Project.toml`
* update version number and sha in `deps/openblas.version`
* refresh checksums with `make -f contrib/refresh_checksums.mk -j
openblas`

In the [release notes of
v0.3.26](https://github.com/OpenMathLib/OpenBLAS/releases/tag/v0.3.26)
one of the more interesting point is perhaps

> included support for Apple M1 and newer targets in DYNAMIC_ARCH builds

Quoting from
JuliaPackaging/Yggdrasil#7911 (comment)

> Some quick benchmarks on M1: with OpenBLAS 0.3.25:
> ```julia
> julia> using LinearAlgebra, BenchmarkTools
>
> julia> peakflops()
> 1.7049262964078418e11
>
> julia> x = randn(1_000); y = randn(size(x));
>
> julia> @Btime dot($x, $y);
>   402.705 ns (0 allocations: 0 bytes)
> ```
> with OpenBLAS v0.3.26:
> ```julia
> julia> using LinearAlgebra, BenchmarkTools
>
> julia> peakflops()
> 1.8042546290642157e11
>
> julia> x = randn(1_000); y = randn(size(x));
>
> julia> @Btime dot($x, $y);
>   143.777 ns (0 allocations: 0 bytes)
> ```
> Up to OpenBLAS v0.3.25 you can get similar performance on Apple
Silicon by exporting the environment variable
> ```sh
> OPENBLAS_CORETYPE=NEOVERSEN1
> ```

(cherry picked from commit b682592)
grasph pushed a commit to Moelf/Yggdrasil that referenced this pull request Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies linear algebra 🔢
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant