Skip to content

Conversation

imciner2
Copy link
Contributor

This updates 1.10 to contain two new OpenBLAS patches that come from upstream (they are included in newer OpenBLAS versions already). Specifically the patches do:

  • Use AVX512 kernels on modern processors
  • Fix incorrect CASUM computation in fallback kernel

This fixes the reported linear algebra issue: JuliaLang/LinearAlgebra.jl#1406.

I believe I updated all the checksums/files to make this work, specifically I did

  • Updated version number in stdlib/OpenBLAS_jll/Project.toml
  • Updated version number and sha in deps/openblas.version
  • Refresh checksums by running make -f contrib/refresh_checksums.mk -j openblas

cc @giordano, @ViralBShah

* Backport patch to use AVX512 kernels on modern processors
* Backport patch that fixes incorrect CASUM computation in fallback
  kernel
@ViralBShah
Copy link
Member

The build is failing on linux.

@imciner2
Copy link
Contributor Author

It is showing this error:

In file included from [buildroot]/src/processor.cpp:963:
[buildroot]/src/processor_x86.cpp: In function 'std::vector<jl_target_spec_t> jl_get_llvm_clone_targets()':
[buildroot]/src/processor_x86.cpp:1164:31: error: 'JL_TARGET_CLONE_BFLOAT16' was not declared in this scope; did you mean 'JL_TARGET_CLONE_FLOAT16'?
 1164 |                 t.en.flags |= JL_TARGET_CLONE_BFLOAT16;
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
      |                               JL_TARGET_CLONE_FLOAT16
make[1]: *** [Makefile:234: processor.o] Error 1

which shouldn't be a consequence of this PR. It looks like that is a consequence of 7a28ad5 being backported without the BFloat16 define - cc @gbaraldi.

@ViralBShah
Copy link
Member

ViralBShah commented Aug 20, 2025

@imciner2 Is this issue only on 1.10? This is severe enough to require a new 1.10 release, and the original issue suggested that this did not happen on 1.11 (and hence unlikely on 1.12 also).

@imciner2
Copy link
Contributor Author

@imciner2 Is this issue only on 1.10? This is severe enough to require a new 1.10 release, and the original issue suggested that this did not happen on 1.11 (and hence unlikely on 1.12 also).

You mean the linear algebra issue here? This is only in OpenBLAS pre-0.3.25(ish), and 1.11+ are all on newer versions than that, so they aren't affected. The original reporter even compared against 1.11 in the initial report to show it was broken and somehow fixed.

@imciner2
Copy link
Contributor Author

The errors are now the same test failures as on the branch normally, so they aren't caused by this change. It should be good to merge.

@ViralBShah ViralBShah mentioned this pull request Aug 29, 2025
65 tasks
@ViralBShah ViralBShah added the backport 1.12 Change should be backported to release-1.12 label Aug 29, 2025
@DilumAluthge
Copy link
Member

The errors are now the same test failures as on the branch normally, so they aren't caused by this change.

I think that this statement is correct.

On backports-release-1.10 (#58889), I see the following failures:

  1. Check ---> llvmpasses ---> Failed Tests (1): Julia :: remove-addrspaces.ll
  2. Test ---> [seen on multiple platforms] ---> testset intrinsics ---> Got exception outside of a @test Failed to parse LLVM assembly: <string>:1:8: error: expected type define ptr addrspace(1) @entry(ptr addrspace(1) %0) #0 {
  3. Test ---> [seen on multiple platforms] ---> testset Unicode ---> [...] Evaluated: 16 == 0

On this PR, I see the above three failures. But I also see the following on this PR only:

  1. Check ---> asan ---> failing with timeout.

However, I suspect that the asan timeout is spurious. So I've retried the job. Let's see if it passes on retry.

@DilumAluthge
Copy link
Member

After a retry, asan is green.

Per #59346 (comment), it seems that the failures on this PR are the same failures that already exist on backports-release-1.10.

@ViralBShah Is this good to merge?

@ViralBShah ViralBShah merged commit 1a3c229 into JuliaLang:backports-release-1.10 Sep 12, 2025
3 of 6 checks passed
@ViralBShah
Copy link
Member

We should probably kick off a new release to include this.

@DilumAluthge
Copy link
Member

We should probably kick off a new release to include this.

It's in progress. #58889

@DilumAluthge
Copy link
Member

We should probably kick off a new release to include this.

It's in progress. #58889

I'll run the backports script again either today or this weekend.

@KristofferC
Copy link
Member

KristofferC commented Sep 17, 2025

@ViralBShah, you added the 1.12 backport label but 1.12 is on OpenBLAS 0.3.29 so this should not be backported to there, I guess?

Based on

This is only in OpenBLAS pre-0.3.25(ish), and 1.11+ are all on newer versions than that, so they aren't affected.

I'll remove the backport label.

@KristofferC KristofferC removed the backport 1.12 Change should be backported to release-1.12 label Sep 17, 2025
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.

4 participants