Skip to content

Conversation

@white238
Copy link
Member

@white238 white238 commented Jun 19, 2025

Adds Enzyme as a TPL that is not fully enabled but exists in the TPL build. Set -DSERAC_USE_ENZYME=ON on the command line for config-build.py or cmake to enable.

Notable Changes:

  • Updates to Spack 1.0
  • Updates to TOSS4 to clang@19 and gcc@13
  • Updates to new Tribol that includes tet support

Things currently out of scope of this PR but up for debate and will hopefully done shortly after:

  • Updating mac build
  • Updating docker containers (working on it but radiuss-docker repo is quite broken and needs to be updated)
  • Updating blueos and toss4_cray
  • Updating to clang-format 19

Updated docs:
https://serac.readthedocs.io/en/task-white238-spack_enzyme_compiler/sphinx/quickstart.html#building-serac-s-dependencies-via-spack-uberenv
https://serac.readthedocs.io/en/task-white238-spack_enzyme_compiler/sphinx/dev_guide/tpl_build.html

PRs this is dependent on:
llnl/uberenv#147
llnl/radiuss-spack-configs#134

Worked around Spack issue:
spack/spack#51244

@white238 white238 force-pushed the task/white238/spack_enzyme_compiler branch from 8a9435f to dbb41a5 Compare July 10, 2025 20:27
@white238 white238 force-pushed the task/white238/spack_enzyme_compiler branch from 5671480 to 72eba14 Compare July 23, 2025 02:03
@white238 white238 changed the title WIP: Spack Enzyme build Spack Enzyme build Aug 28, 2025
Copy link
Collaborator

@tupek2 tupek2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit outside my expertise, but looks amazing! Regarding mac builds... is it likely to break current builds, or are you saying that mac build + enzyme is still a future development?

@white238
Copy link
Member Author

A bit outside my expertise, but looks amazing! Regarding mac builds... is it likely to break current builds, or are you saying that mac build + enzyme is still a future development?

I updated the instructions (clang 14 -> clang 19) but did not test them.

@tupek2
Copy link
Collaborator

tupek2 commented Aug 28, 2025

OK, I've been using clang 19 on my mac for a few weeks now. I've had small issues with petsc, but maybe unrelated to that change. Thanks.

Copy link
Collaborator

@chapman39 chapman39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty chris. let me know how you want to delegate future prs

@ebchin
Copy link
Member

ebchin commented Aug 28, 2025

It looks like this will turn off Tribol + Enzyme once it is merged, so exact Jacobians will no longer be available (if true). There will likely need to be some work on the Tribol side to work with ClangEnzyme instead of LLDEnzyme, so it may not be trivial to turn this back on.

Copy link
Member

@ebchin ebchin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me look into Tribol's exact Jacobians before we merge this...

Copy link
Member

@ebchin ebchin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed with @white238, we will do a follow-on PR with updated Tribol soon.

@white238 white238 merged commit 85317ce into develop Aug 29, 2025
13 checks passed
@white238 white238 deleted the task/white238/spack_enzyme_compiler branch August 29, 2025 16:19
@ebchin ebchin mentioned this pull request Sep 4, 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.

5 participants