Skip to content

Add more ifx 2023 versions to CI#2875

Open
vchuravy wants to merge 23 commits into
mainfrom
vc/enzyme_ifx
Open

Add more ifx 2023 versions to CI#2875
vchuravy wants to merge 23 commits into
mainfrom
vc/enzyme_ifx

Conversation

@vchuravy

Copy link
Copy Markdown
Member

No description provided.

vchuravy and others added 5 commits June 12, 2026 16:20
ifx 2023.1.0's LTO linker still defaults to typed-pointer mode and
rejects the opaque-pointer bitcode that opt 17 emits. Intel flipped
the default in 2023.2.x, so only 2023.0.0 and 2023.1.0 need the
LLVM 15 pin.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread .github/workflows/fortran.yml Outdated
@vchuravy

Copy link
Copy Markdown
Member Author

I think the strategy here should be that we support the 2023 versions of ifx, and otherwise strongly recommend the use of Flang. It is unsustainable to support ifx since their stance seems to be "the use of LLVM is internal and we won't tell you what version you get"

@joewallwork

Copy link
Copy Markdown
Collaborator

I think the strategy here should be that we support the 2023 versions of ifx, and otherwise strongly recommend the use of Flang. It is unsustainable to support ifx since their stance seems to be "the use of LLVM is internal and we won't tell you what version you get"

Okay sure, I can rework this PR for you to only consider the 2023 versions.

@joewallwork

Copy link
Copy Markdown
Collaborator

I think the strategy here should be that we support the 2023 versions of ifx, and otherwise strongly recommend the use of Flang. It is unsustainable to support ifx since their stance seems to be "the use of LLVM is internal and we won't tell you what version you get"

Okay sure, I can rework this PR for you to only consider the 2023 versions.

Done in 2132de6. Added a note on this in 1c5697d.

@joewallwork joewallwork requested a review from wsmoses June 22, 2026 14:15
@joewallwork joewallwork changed the title Add many more ifx versions to CI Add more ifx 2023 versions to CI Jun 22, 2026
@joewallwork joewallwork mentioned this pull request Jun 25, 2026
@joewallwork

Copy link
Copy Markdown
Collaborator

Hm I thought that it was just the 2023.2.x series causing issues (based on #2902 and CI errors here) but when I drop that I now get errors with 2023.1.0. Perhaps I've set up the matrix incorrectly - will debug here.

@joewallwork

Copy link
Copy Markdown
Collaborator

Apologies for the noise. I'll create a separate debug PR.

* Create separate jobs for flang and ifx
* Fix IFX 2023.1.0 + LLVM 16: add %oflags substitution to preserve typed pointer IR
@joewallwork joewallwork mentioned this pull request Jun 25, 2026
1 task
@joewallwork

Copy link
Copy Markdown
Collaborator

There appears to be no consistency with which errors are cropping up with ifx. I've seen failures with 2023.2.4 (debug mode), 2023.0.0 (debug mode), and here 2023.0.0 (release mode) and 2023.1.0 (release mode).

All of the failures are in allocatedArraySimple_with_explicit_interface, although sometimes with ForwardMode and sometimes with ReverseMode. Most of the time, they are at -O0 and look like

/usr/lib/llvm-16/bin/opt -load-pass-plugin=/home/runner/work/Enzyme/Enzyme/build/Enzyme/LLVMEnzyme-16.so -load=/home/runner/work/Enzyme/Enzyme/build/Enzyme/LLVMEnzyme-16.so --enzyme-attributor=0 -opaque-pointers=0 -passes=enzyme -o /dev/stdout
error: <unknown>:0:0: in function selectfirst__enzyme_autodiff_.t228p.t229p.t230p.t231p.t232p void (void (%"QNCA_a0$float*$rank1$"*, float*)*, float*, float*, float*, float*): Enzyme: failed to find fn to differentiate  call void (...) @selectfirst__enzyme_autodiff_(void (%"QNCA_a0$float*$rank1$"*, float*)* %arg0, float* %arg1, float* %arg2, float* %arg3, float* %arg4) - found - void (%"QNCA_a0$float*$rank1$"*, float*)* %arg0

Occasionally there is an error such as https://github.com/EnzymeAD/Enzyme/actions/runs/28177099241/job/83456332058?pr=2875 at higher optimisation levels, too.

Given that the Fortran code in the allocatedArraySimple_with_explicit_interface examples hasn't been changed and those tests had been passing for several years, presumably recent changes to the lit config have broken things. Let's try reverting changes to those files to check.

@joewallwork

Copy link
Copy Markdown
Collaborator

Okay I've got a fix now. Apologies for the debugging here as some of it turned out not to be relevant. Removing changes to the test files in de72418. Once #2905 is merged, we can merge main here and hopefully things will be back online.

@vchuravy vchuravy enabled auto-merge June 29, 2026 15:45
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.

2 participants