µGrid
µGrid is a C++ library for discrete representation of fields on structured grids, with Python bindings. It provides efficient data structures and algorithms for solving partial differential equations on regular grids, with support for MPI parallelization and GPU acceleration.
Features
- Field collections: Manage scalar, vector, and tensor fields on structured grids with flexible memory layouts
- Domain decomposition: Cartesian decomposition with ghost cell communication for stencil operations
- Linear operators: Discrete differential operators including Laplacian and FEM gradient operators for spectral methods
- FFT engine: Built-in Fast Fourier Transform with MPI-parallel support (auto-selected slab or pencil decomposition) and native cuFFT/rocFFT N-D transforms on the GPU
- GPU support: Optional CUDA and HIP backends for GPU-accelerated computation
- NetCDF I/O: Serial and parallel file I/O for checkpointing and analysis
µGrid is written in C++20 and has language bindings for Python via pybind11.
This README contains only a small quick start guide. Please refer to the full documentation for more help.
Quick start
To install µGrid, run
pip install muGrid
Note that on most platforms this will install a binary wheel, that was compiled with a minimal configuration. To compile for your specific platform use
pip install -v --no-binary muGrid muGrid
which will compile the code. µGrid will autodetect MPI. GPU support (CUDA/ROCm) is off by default and must be enabled explicitly at build time (see the documentation); it is not autodetected. For I/O, it will try to use Unidata NetCDF for serial builds and PnetCDF for MPI-parallel builds. Monitor output to see which of these options were automatically detected.
Funding
This development has received funding from the Swiss National Science Foundation, the European Research Council, and the Deutsche Foschungsgemeinschaft.
Release files for muGrid 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mugrid-1.1.1.tar.gz | 1.6 MB | Details |
Built distributions (wheels)
Total release size: 130.4 MB
Release files / mugrid-1.1.1.tar.gz
| Download URL | mugrid-1.1.1.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
193d9d4f81d2e4468bde976786c4102d65e33919633dc3a0c2e51bad9d314884
|
|
BLAKE2b-256 checksum How to use checksums |
19e8d7251d9acbddbe8c29b8e7a4d07e9e30d45706d8d7e54bc8b10bea1266cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / mugrid-1.1.1-cp314-cp314-win_arm64.whl
| Download URL | mugrid-1.1.1-cp314-cp314-win_arm64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.14 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
2adb889f83e279ee975c15a71464612bd69086f146c2bf2637082f31eb2e942f
|
|
BLAKE2b-256 checksum How to use checksums |
3c588866d8ba580d808adde00e08a5c4f26088d274ab68d026c9ab5f3713ceca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp314-cp314-win_amd64.whl
| Download URL | mugrid-1.1.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ed77fc873f6414646edd1bdc4bca9c0bd9b6619b1e1f08d2326f24059ec10e04
|
|
BLAKE2b-256 checksum How to use checksums |
0b2ee1d79e611f3f48d97d598f272fa251cd90a4220951189e2229e41ffdcd08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mugrid-1.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a2169a5eca08628112403fbb8e4aed1a577ff7b39d5e4af314ecf473886c1b7c
|
|
BLAKE2b-256 checksum How to use checksums |
a8ea77e31de5cadfb2652bd647d313cdc9c8731d2eb168bdcd40862d1121a04f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mugrid-1.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a7a232ad1834d1371e80195bb7705cdc75ebd546eaaf9b6b3451f663959d4ccd
|
|
BLAKE2b-256 checksum How to use checksums |
a576463b050ff5b16807e886ca29a3349cfb20db360b22e3fdaa7e1ee59266fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | mugrid-1.1.1-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3fe889f3427ed725feda235ff5ba1b6661885f6c6bd2424628930c09b119ff10
|
|
BLAKE2b-256 checksum How to use checksums |
6490ffbaeee12cc382c2cdb77a9724a8c725176bb06ad330f4f2f60d4658fb0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp313-cp313-win_arm64.whl
| Download URL | mugrid-1.1.1-cp313-cp313-win_arm64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.13 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
2b3cb29a904f6b10cf4a9aa4758b63399c48f9401a91336b12628227bbb82e9a
|
|
BLAKE2b-256 checksum How to use checksums |
4bd1e5a54fe617c638b0d6a0de0b8272806c7381e1db4ec6a6b5f1265cf593a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp313-cp313-win_amd64.whl
| Download URL | mugrid-1.1.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
65be28a1c69be07cf8157c395ca272daf197c54212a5b46644ff4936cb85790e
|
|
BLAKE2b-256 checksum How to use checksums |
a883ebceb468237ec6c856d3ad9b4fdfbc12195974210e805b6ae20b7a00fe99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mugrid-1.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
41c66b38080f650fe7021db1b4ee1e8cb92e013be20fc9aecdea5aa965437bca
|
|
BLAKE2b-256 checksum How to use checksums |
91acad7103d389e65ba40ca28242a7e557e01a3d7969ea5285ea87338fd981ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mugrid-1.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
10237287c0d81eaa645f3d8583e21ab04d58cb5abb87ac68724cbd13df71c81f
|
|
BLAKE2b-256 checksum How to use checksums |
edd661883719ff94fd45fc6b0f9120e3db9b0de4366ef64d0b9e34b436344ee6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | mugrid-1.1.1-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b1766b5c87563ed65b617a7373d0a46993643ed5db6813604e57b177b8324a53
|
|
BLAKE2b-256 checksum How to use checksums |
b3b8615f6308238c9ed3b72ae1cf1e71b89ef238ab5c89752ed68f9e8383c38b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp312-cp312-win_arm64.whl
| Download URL | mugrid-1.1.1-cp312-cp312-win_arm64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.12 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
4a7b273852e8b0ed0bb5b563f76ce38d525f3aaa1110a1d3eac23812fc47c2f5
|
|
BLAKE2b-256 checksum How to use checksums |
5245b46c73772e1327a38cdfed393d575a046e8f398abcd614ea4785bb69d37c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp312-cp312-win_amd64.whl
| Download URL | mugrid-1.1.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
74062787d041f297e997e9099b2bd7de6a94b6f872d94d18b0ea9136d751b745
|
|
BLAKE2b-256 checksum How to use checksums |
6d83918c3fc253e446effd0cf4dbdbe86ab0c1d592b5f01cf25c86516341fb98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mugrid-1.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
19a35653a978eb45e1325dc405b086d2ae227fe2d0acb0785cfccbd295c596c0
|
|
BLAKE2b-256 checksum How to use checksums |
63f3f37bff7554b945d422caa60e060ed357ec62c2060266fd87cc1a891e113b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mugrid-1.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
dab33a676677dd0950f224c2f88038c09449ecee3df23b170fb7e73111d9dc2d
|
|
BLAKE2b-256 checksum How to use checksums |
c37a2ba0a3b10b6afb24ee19daad3c0e568c19d98e75180633381e7e8927d0af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | mugrid-1.1.1-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eb126fb6f48609015256a17497204d2014a5f32d78260fca47509f918534fc5a
|
|
BLAKE2b-256 checksum How to use checksums |
20e6d39f77fba09332babaa1a7b6f6041f873e748edaa556a1eca6248afb6293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp311-cp311-win_arm64.whl
| Download URL | mugrid-1.1.1-cp311-cp311-win_arm64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.11 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
5cb90b615ab0a86d7b7a93931aaa72f514c0fdd6eeb3efb627c2ef3292daa1b2
|
|
BLAKE2b-256 checksum How to use checksums |
6eb5635184737dc2a74a5112e1a4a309bebe12630234e4b227e27ebbce888c6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp311-cp311-win_amd64.whl
| Download URL | mugrid-1.1.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
17866c814dc22c01b132914ced620d25e663a7906b750f6ec2d234d6ee3e3c71
|
|
BLAKE2b-256 checksum How to use checksums |
73adcd8d5f7250fe86e7158e6e1b2277a1244d1cf574abd872a9ee67ca425421
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mugrid-1.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
40482e15684fcd39df458b568d2d0c5d5d9b6f8dbb610286985375b4900405f7
|
|
BLAKE2b-256 checksum How to use checksums |
a2984a07345c0c1c5adc97d0c201af5e24a47b900115d5e968ddaab8de064e0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mugrid-1.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f617d41b55087afbf461ea8a3d9b237757179e2b7ca68f113a5e0b1c78ec6e9a
|
|
BLAKE2b-256 checksum How to use checksums |
9a9a1806f3c0ef4efbc38647c62d0533c2572502012652d6b5dd29d813cc7900
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | mugrid-1.1.1-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
26a6bdf5ed292cdbbe881857a240d96c09a1de734baa5f152e7bb75c3c965df0
|
|
BLAKE2b-256 checksum How to use checksums |
0f0c10f6b60940197bdb61fe62ff88c5daaf53d18df30e9d8d4cb57f160ca598
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp310-cp310-win_arm64.whl
| Download URL | mugrid-1.1.1-cp310-cp310-win_arm64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.10 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
829118fd85e1a2cd0491805c607ccf3da8ee22e2a8ffbf47eb809cf7d4ea03f4
|
|
BLAKE2b-256 checksum How to use checksums |
d6e780e54a215adcec334dfa96964e1bb4caed21e13f82696472306d5bd69012
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp310-cp310-win_amd64.whl
| Download URL | mugrid-1.1.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d04df4498337052a854954d6a08764961c97397caf38dc6441dcc2f35096bb54
|
|
BLAKE2b-256 checksum How to use checksums |
94e02955d7ed6baaa37f213d98cacc7020d637e062aac2d54181f12202b91b31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mugrid-1.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3d012bc5869aec46e32922f4d1949f9ffb9d19e5e626facf871ecabd24ac9ed4
|
|
BLAKE2b-256 checksum How to use checksums |
72d2de7a709f3b0421856c6ba024d27b1437861b4d7356548bab894395a4520b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mugrid-1.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 5.0 MB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
7ce1f5269addfcdaf513e1408725ffe925b40dabaa3bb3a8ad403253fa8e7f83
|
|
BLAKE2b-256 checksum How to use checksums |
95b71ece5b80b6d9b8222eda07ba1f7ef09d6145e32a01dce8d1f22c46c380cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mugrid-1.1.1-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | mugrid-1.1.1-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7e91c4fee60c44c30730debffdf077b93df024a9f34a4475fe8b8cb62e1fefc0
|
|
BLAKE2b-256 checksum How to use checksums |
d0786365659eb5bd103e1c8bbde4d005f5459bb4d2f8e72a5236055dc48acc3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|