Skip to content

GPU simulation POC#5131

Draft
multitalentloes wants to merge 9 commits intoOPM:masterfrom
multitalentloes:full_gpu_sim_v1
Draft

GPU simulation POC#5131
multitalentloes wants to merge 9 commits intoOPM:masterfrom
multitalentloes:full_gpu_sim_v1

Conversation

@multitalentloes
Copy link
Copy Markdown
Member

Contains code changes in OPM-common to support SPE11 types simulations with property and assembly computations on GPU. Main PR: OPM/opm-simulators#7018

@multitalentloes multitalentloes added the manual:irrelevant This PR is a minor fix and should not appear in the manual label Apr 29, 2026
@multitalentloes multitalentloes force-pushed the full_gpu_sim_v1 branch 3 times, most recently from 6bdb8bd to 9144153 Compare May 6, 2026 08:33
kjetilly and others added 9 commits May 6, 2026 16:04
…uidSystem singleton

- Add OPM_HOST_DEVICE annotations and convert raw `throw` sites to OPM_THROW in
  Evaluation, DynamicEvaluation, BlackOilFluidState, BlackOilFluidSystem and
  the BrineCo2/Co2Gas/NullOil PVT classes.
- Refresh BlackOilFluidSystem_macrotemplate's getNonStaticInstance() so the
  non-static singleton mirrors the current static state after every getInstance()
  call (fixes stale PVT/density tables seen by the GPU intensive-quantities path).
- Add a small `mixingEnergy()` constexpr probe and an
  `inverseFormationVolumeFactorAndViscosity` helper used by GPU code.
- Update bin/genEvalSpecializations.py so generated Evaluation*.hpp pick up
  ErrorMacros.hpp.

CopyablePtr: GPU-friendly storage and host/device decorations

Extends `CopyablePtr` so it can be used both as a plain CPU smart pointer and as a
GPU-side handle (host/device-decorated accessors, allocator-aware construction,
explicit raw-pointer access for kernels). The behaviour on the host is unchanged.

Add missing decorator
Add polymorphism check to enforce commented warning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:irrelevant This PR is a minor fix and should not appear in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants