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

Replace runtime CPPPotential potentials with compile time provided ones. #1652

Open
5 of 14 tasks
joaander opened this issue Nov 8, 2023 · 0 comments
Open
5 of 14 tasks
Assignees
Labels
breaking Changes that will break API. complex A particularly complex or large project that involves significant amount of effort. hpmc HPMC component task Something needs to be done.

Comments

@joaander
Copy link
Member

joaander commented Nov 8, 2023

Description

On trunk-minor:

  • Note that CPP potential classes are deprecated.
  • Add pair potentials:
    • Lennard Jones
    • Step function
    • Union
    • Angular step
  • Add external potentials
    • Gravity.
  • Add example plugin.
  • Update tutorials.
  • Update hoomd-validation to use new potentials.

On trunk-major (later, close to the release of v5.0):

  • Remove CPP potential classes.
  • Port walls and harmonic external potentials to new framework.
  • Remove JIT framework.
  • Remove LLVM from CMake.
  • Remove all mentions of run time compile potentials from the documentation.

Motivation and context

The LLVM run time compilation code path is very costly to maintain. Using CPPPotential requires that users write C++ code regardless, so asking them to compile it is not a significant additional burden.

@joaander joaander added hpmc HPMC component breaking Changes that will break API. task Something needs to be done. complex A particularly complex or large project that involves significant amount of effort. labels Nov 8, 2023
@melodyyzh melodyyzh self-assigned this Jan 29, 2024
@joaander joaander mentioned this issue Mar 1, 2024
5 tasks
@joaander joaander self-assigned this May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Changes that will break API. complex A particularly complex or large project that involves significant amount of effort. hpmc HPMC component task Something needs to be done.
Projects
None yet
Development

No branches or pull requests

2 participants