Skip to main content

OpenMP (Kokkos) GPU-plugin companion for the OpenSWMM 2D surface solver.

Project description

openswmm-gpu-omp

OpenMP (Kokkos) acceleration companion for the OpenSWMM 2D surface solver.

The base openswmm wheel is CPU-only and fully portable (Kokkos-free). This companion ships a single native plugin (libopenswmm_gpu_omp) that the OpenSWMM engine discovers and loads at runtime to run the 2D surface solver on the Kokkos-OpenMP backend.

Install

pip install openswmm            # CPU-only base engine
pip install openswmm-gpu-omp    # add OpenMP acceleration

That is all. There is no public Python API: at import, the base openswmm package detects this companion and adds it to the engine's plugin search path (OPENSWMM_GPU_PLUGIN_PATH). With OPENSWMM_2D_BACKEND left at its auto default, 2D surface runs then use OpenMP automatically. Setting OPENSWMM_2D_BACKEND=cpu forces the serial solver; uninstalling this package reverts to it permanently.

Notes

  • OpenMP only — no GPU driver required. Numerics match the serial CPU solver to ~1e-13 (not bit-identical); pin OPENSWMM_2D_BACKEND=cpu where bit-exact reproducibility is required.
  • The plugin is version-locked to the base engine (openswmm == <same version>) and additionally ABI-checked at load time.

See docs/2D_GPU_DEFAULTS.md in the engine repository for the full backend-selection matrix.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

openswmm_gpu_omp-6.0.0a2-py3-none-win_amd64.whl (151.7 kB view details)

Uploaded Python 3Windows x86-64

openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (680.3 kB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (625.5 kB view details)

Uploaded Python 3manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_x86_64.whl (788.0 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_arm64.whl (693.3 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 48bdca85dddc891bcd6b2f6bcfb4cab2d9a574d4e65c359d002fa825cc300a5b
MD5 f191125b68b0c4276e5db0d01e74f6ab
BLAKE2b-256 7e2320bde2ee81efa458df2c79fe14f039f8541e10b8e517c1f46884cf5e0fd4

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00702a19b86b6bcf1549cbeaf6f48f95f2282b3c9f1f4b1e45a70c24a3167e59
MD5 84e584e6908f6af7cd42bf018bb06a17
BLAKE2b-256 8730a0140b3a889942a7a93895a9e64f783e3e9face030369b898481096c7637

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ee3143f789738eb8ad4217e54694911d05714fcba63d4581fbae4efd06e76bf
MD5 9de3c86fa6049501aba58a8ec732b3ef
BLAKE2b-256 8ce909c53e866551d60fa95543175d4770c2f784e313372c920790888adc9f06

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 76bc6e3193523e33b3cacd95f6a7f9b1a8d5621ed4dbd5b5a72b4c3732a84aad
MD5 109b7b54d1aee8dc6cfe0667c16f0352
BLAKE2b-256 7f993fcc3da685843f6e6c601212516e1c514ca5a8b35595ff8ba3a170058862

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0b46a91b3dad655a297a542be04aad9843531f8a417fe7fdfe06df83311a96c7
MD5 7f1cfa09fc35d21b9991cb00fea7d0db
BLAKE2b-256 af93e78c190e5e4a4d92a0bc1767c5a7b0ce83aee499b65240974c161ecdf18c

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 eab9ca2d56b75563c6576fd17965e129b9360e1df00a60a4181cd68bce98fb4a
MD5 2146e5b70393b425f47c190f3f4af62a
BLAKE2b-256 e5a71dcf41fcabbfc533bd394a13a26d780460852dfb77698ab34c3738ef084f

See more details on using hashes here.

File details

Details for the file openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openswmm_gpu_omp-6.0.0a2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 544eb24fad98da509c7610e5ad0c66b119acc0a34e0b16640802b229a1046237
MD5 44c1947c06ec935ac3a947fba90b757d
BLAKE2b-256 364ad1c9ca21d94e7a7474322cf14a622a40f5536f4fa868c95bcbac311662d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page