Skip to content

Conversation

@cortner
Copy link
Member

@cortner cortner commented Nov 18, 2025

dev-0.10 uses ET only superficially, this PR is to integrate ET more deeply, remove duplicated functionality, with the end-goal to enable GPU evaluation.

  • complete ET+Lux model, match old-style
  • forces site energy gradients
  • basis site energy basis and site energy gradient basis
  • integrate as alternative model that acts exactly the same way
  • full GPU evaluation
  • one-body
  • pair potential
  • ET splines
  • ET splines on GPU

To decide before merging?

  • fully compatible calculator and tests
  • remove duplicated functionality => likely keep until 0.11, then clean up.

@cortner cortner changed the base branch from main to dev-0.10 November 18, 2025 09:43
@jameskermode jameskermode mentioned this pull request Nov 20, 2025
2 tasks
@cortner cortner changed the base branch from dev-0.10 to main December 10, 2025 04:23
@jameskermode
Copy link
Collaborator

See #312 which targets this PR and implements most of the remaining steps (but still needs to be cleaned up)

@cortner
Copy link
Member Author

cortner commented Dec 19, 2025

UPDATE: I think I now have all functionality that we can expect ET to provide. My plan is to finalize the unit tests and then I think we can make a plan how to proceed. Here is a tentative list:

Backend

  • splines (still missing)
  • gpu evaluation (I broke this again)

Low model level

  • pair potentials, E0s => I'd like to treat these as stacked models instead of integrated, to be discussed.
  • wrap the new ACE model into a calculator that takes care of energy, forces, virial, etc
  • provide a wrapper that generates an old ACE model, then converts to new
  • extensive correctness tests and unit tests to compare the two models for correctness and performance

User-facing

  • Throuhgout 0.10 keep both frameworks alive
  • For 0.11 retire the entirety of ACE 0.8, 0.9 infrastructure which is still surviving in 0.10

Speculative

  • bring back purification

@cortner
Copy link
Member Author

cortner commented Dec 29, 2025

@jameskermode -- this now has one-body and pair potentials and is in principle at a place where one could put together a complete ACE model, basis and calculators and start testing backward compatibility. The only technical thing left to do for me is testing the splines. (the functionality is in principle already there...)

@jameskermode
Copy link
Collaborator

Great, I'll rebase my calculators PR on this and continue

@cortner
Copy link
Member Author

cortner commented Dec 31, 2025

I realized I made a mistake in the design of the basis interface. I'm returning the site energy basis but for each center-atom species, the basis occupies the same indices. We need to perform a transformation so that bases for different species occupy separate indices. A question is whether this should be done at the site potential model level or at the calculator level. Maybe it can be done at the level of the site potential wrapper calculator? But it may need some additional logic. we should discuss what a good general-purpose approach is before charging ahead I think.

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.

3 participants