![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Execution-space selection + view aliases for the Kokkos marcher plugin. More...
#include <Kokkos_Core.hpp>Go to the source code of this file.
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
| namespace | openswmm::twoD::gpu |
Typedefs | |
| using | openswmm::twoD::gpu::ExecSpace = Kokkos::DefaultExecutionSpace |
| using | openswmm::twoD::gpu::MemSpace = ExecSpace::memory_space |
| using | openswmm::twoD::gpu::DView = Kokkos::View<double*, MemSpace> |
| mutable double array | |
| using | openswmm::twoD::gpu::CDView = Kokkos::View<const double*, MemSpace> |
| const double array | |
| using | openswmm::twoD::gpu::IView = Kokkos::View<int*, MemSpace> |
| mutable int array | |
| using | openswmm::twoD::gpu::CIView = Kokkos::View<const int*, MemSpace> |
| const int array | |
Execution-space selection + view aliases for the Kokkos marcher plugin.
One backend per plugin build, selected at compile time by the OPENSWMM_GPU_EXECSPACE_* define the plugin CMake sets:
omp → Kokkos::OpenMP (host-parallel; view copies are no-ops) cuda → Kokkos::Cuda (NVIDIA) hip → Kokkos::HIP (AMD) sycl → Kokkos::SYCL (Intel)
HIP and SYCL are top-level Kokkos:: names as of Kokkos 4.x (the project pins 4.x via vcpkg-overlays/kokkos). All buffers live in ExecSpace's memory_space: under OpenMP that is host memory, so the host↔device deep_copies in the solver are no-ops; under a device backend they become real transfers, confined to co-advance batch boundaries.