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

Introduce an EspressoSystem class in the core #4615

Closed
RudolfWeeber opened this issue Nov 26, 2022 · 1 comment · Fixed by #4741
Closed

Introduce an EspressoSystem class in the core #4615

RudolfWeeber opened this issue Nov 26, 2022 · 1 comment · Fixed by #4741

Comments

@RudolfWeeber
Copy link
Contributor

... which holds the state of the simulation.

  • in the long run, each espressomd.System python class whoudl one one of them, via the script interface
  • to ease the transition, the core class can be made available via a global, initially.
  • globals, as far as they are still needed, would become members of this class
@jngrad jngrad changed the title Introduce an Espressosystem cllass in the core Introduce an EspressoSystem class in the core Nov 30, 2022
@jngrad
Copy link
Member

jngrad commented Nov 30, 2022

There is src/core/EspressoSystemStandAlone.hpp which is currently just a facade to emulate the python System class in C++ unit tests, and src/core/EspressoSystemInterface.hpp which is a facade to control data exchange with the GPU.

Both of these classes can be removed once the "real" class is implemented.

@kodiakhq kodiakhq bot closed this as completed in #4741 Jun 16, 2023
kodiakhq bot added a commit that referenced this issue Jun 16, 2023
Fixes #4615

Description of changes:
- completely rewrite the `EspressoSystemInterface` class
   - the new `System` class uses composition for GPU particle data management, resource deallocation, and globals
   - GPU particle data management now uses standard `thrust` vectors and properly deallocates device memory
   - simplify the `espressomd.system.System` class
- simplify GPU code
   - 9 CUDA global variables were removed (partial fix for #2628)
   - ~300 lines of CUDA code were removed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants