![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Placeholder GPU surface-solver plugin (Phase 0 scaffold). More...
Functions | |
| OPENSWMM_GPU_ABI int | openswmm_gpu_probe (OpenSwmmGpuProbe *out) |
| Query the plugin for a usable GPU device. | |
| OPENSWMM_GPU_ABI void * | openswmm_make_gpu_surface_solver (const OpenSwmmGpuProbe *) |
| Construct the GPU surface solver. | |
Placeholder GPU surface-solver plugin (Phase 0 scaffold).
Implements the GpuPluginAbi.h contract with NO actual GPU backend. It exists so the runtime discovery / dlopen / fallback wiring (docs/2D_GPU_PORTABLE_CVODE_STRATEGY.md §4.2) can be built and exercised before the Kokkos kernel lands (Phase 2). The probe reports "no device", so the core's auto-selection falls back to the serial CPU CvodeSurfaceSolver.
This translation unit deliberately depends on NOTHING beyond the C ABI header and the C++ standard library — no Kokkos, no SUNDIALS — so it compiles with a plain host compiler on every platform.
| OPENSWMM_GPU_ABI int openswmm_gpu_probe | ( | OpenSwmmGpuProbe * | out | ) |
Query the plugin for a usable GPU device.
Must be cheap and side-effect-free beyond backend initialization.
| out | Caller-allocated struct to fill. Zero-initialized on entry by the plugin. |
| OPENSWMM_GPU_ABI void * openswmm_make_gpu_surface_solver | ( | const OpenSwmmGpuProbe * | probe | ) |
Construct the GPU surface solver.
| probe | The probe result the core obtained from openswmm_gpu_probe(). |