Skip to main content

µ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.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muGrid 1.2.0
File Size Uploaded
mugrid-1.2.0.tar.gz 1.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for muGrid 1.2.0
File
mugrid-1.2.0-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
mugrid-1.2.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
mugrid-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mugrid-1.2.0-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
mugrid-1.2.0-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
mugrid-1.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
mugrid-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mugrid-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mugrid-1.2.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
mugrid-1.2.0-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
mugrid-1.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mugrid-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
mugrid-1.2.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
mugrid-1.2.0-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
mugrid-1.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mugrid-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mugrid-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mugrid-1.2.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
mugrid-1.2.0-cp310-cp310-win_arm64.whl CPython 3.10 CPython 3.10 Windows ARM64 Details
mugrid-1.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mugrid-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mugrid-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mugrid-1.2.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details

Total release size: 120.2 MB

Release files / mugrid-1.2.0.tar.gz

Download URL mugrid-1.2.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
32a9632dc119a21c548946ad086588f1d4c3992b6b881923578db9e0d8d8c851
BLAKE2b-256 checksum
How to use checksums
01808efec9c850aeb0445a7c75c34fb480f58a1947b0db6839d45b474a8058dd
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.2.0-cp314-cp314-win_arm64.whl

Download URL mugrid-1.2.0-cp314-cp314-win_arm64.whl
Size 5.4 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
338458c145c8243239b6f180cf02e2de532b8818cb59b482c84231f810bf15cc
BLAKE2b-256 checksum
How to use checksums
992799cc5e23f983ca06a14fd29ce269393cff3e3c5c3d07d8af17afaee728b1
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.2.0-cp314-cp314-win_amd64.whl

Download URL mugrid-1.2.0-cp314-cp314-win_amd64.whl
Size 5.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e2c3522144e6a17fd52dc4e8636fe9fae59522262e7a765634e5d36cff6d9189
BLAKE2b-256 checksum
How to use checksums
5fc74f861dc64a7be512d24fcc5d1016b8d062e5d9bbf8bcc8407d269b90cfcf
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.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mugrid-1.2.0-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
4fb1c9e57c0f00a920d941a2b8bb4760ccae7575d9ddc143261a20f978b16238
BLAKE2b-256 checksum
How to use checksums
c2d2bfe9b7f21e9aa4beb40d4a969346b1838340422158901e3ba60bf4012089
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.2.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL mugrid-1.2.0-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
f5f39699fe25d9f0e2d0eb9e387ec381bb4c1bd88c01db8d387fc99d64ef7528
BLAKE2b-256 checksum
How to use checksums
56f92b6e4fb80a0fcb9ccfde41cbbff3e160351c8296679f5043fdcae9010006
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.2.0-cp313-cp313-win_arm64.whl

Download URL mugrid-1.2.0-cp313-cp313-win_arm64.whl
Size 5.3 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
05dc0b8d2e40a9fab092ae52d8193bb625bc0322d3f7d71a7cde2f6efb6f91b8
BLAKE2b-256 checksum
How to use checksums
7ba0a8757f26179e918c247d53edd050d9eeb25520c49724aae1a577e7ac30de
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.2.0-cp313-cp313-win_amd64.whl

Download URL mugrid-1.2.0-cp313-cp313-win_amd64.whl
Size 5.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cad0053a56c5524d969b3be385ea73376b52e6b5e0fdc1ef791e610f1631ab00
BLAKE2b-256 checksum
How to use checksums
0d072b5d1a54d2415b51207542aa906f0f6e9430bfed6717e5041b3eaebcad15
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.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mugrid-1.2.0-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
ba1e9c2b1178b59589c3af96b4a5136944574b3b4ef65e9ea4ec626a0c51ae75
BLAKE2b-256 checksum
How to use checksums
7ab7deab89334305060ebc8c04b39a4411713ac2a5a5e033d85cc08fb389a1a6
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.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mugrid-1.2.0-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
1bb69b4ddfe0455bdf2a87109e6dbc11444ea6ece48ad5892e8c0bc17704b715
BLAKE2b-256 checksum
How to use checksums
72809d31fc130136275807487459012d6aca4a0b4c43f1235d7192b4a4e0d2b8
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.2.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL mugrid-1.2.0-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
d4bccf56b38d286d0d4bb17e0bf574d28cceea48d45170820bfdaa4e478b8c21
BLAKE2b-256 checksum
How to use checksums
2d78a845f084f2966501168f3d199a566c996c1dda65067e3f9093bd31d57c57
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.2.0-cp312-cp312-win_arm64.whl

Download URL mugrid-1.2.0-cp312-cp312-win_arm64.whl
Size 5.3 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
fe82a84a9cbd8cb8ad34c3ff412472078d4a9da3cece407044d2360b12de4797
BLAKE2b-256 checksum
How to use checksums
176755bea3d21acfe4b5097bea999298b96f195ed1dd0dbc0cfba0da41fd85f9
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.2.0-cp312-cp312-win_amd64.whl

Download URL mugrid-1.2.0-cp312-cp312-win_amd64.whl
Size 5.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a81d7aa6ca75a1a8c1ad6ce465273e1ebca75f74dce12ef5634a2df94c2002eb
BLAKE2b-256 checksum
How to use checksums
496a0cfd4884895816874a6ea783d5413664b1bf72b66a6e2d39162e3fe2b655
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.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mugrid-1.2.0-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
52433fb2a8e583914b5c4bb2216a9d842b27d76ee1e7a0ca0722cb912737d725
BLAKE2b-256 checksum
How to use checksums
89115c46360533f9ea7be6577d732ab8978d65e5f2fb68216f1a86491b251672
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.2.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL mugrid-1.2.0-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
4a7847607b7779b8c450b11baf9a171104f4633aa4558b06e33cf15f6479e41e
BLAKE2b-256 checksum
How to use checksums
68138a6cbb097533511f6a961be21f6cbade238061c4f05ba86db5b22436bdf9
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.2.0-cp311-cp311-win_arm64.whl

Download URL mugrid-1.2.0-cp311-cp311-win_arm64.whl
Size 5.3 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
05a748c06b29944ba4b089f5109c03824b17a9580bab6a0152a53436dd110be7
BLAKE2b-256 checksum
How to use checksums
50cf37e585e5cfb81528ae8ef006d6eed463abfddd57f83c7082e2b48ac6259f
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.2.0-cp311-cp311-win_amd64.whl

Download URL mugrid-1.2.0-cp311-cp311-win_amd64.whl
Size 5.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a8a9a2fe5471aefc7cf6d9046604a7ce00a834a002c4d9153e54311c26c1b542
BLAKE2b-256 checksum
How to use checksums
f14548dff12f0405f37b1f3bb9f83584536ae15ecc9884a729700dbd647d3a7b
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.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mugrid-1.2.0-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
65db33bbfdb5689e3d9e3a3e42d60c09a861bce1035cf425abd440e050ea9992
BLAKE2b-256 checksum
How to use checksums
1da6cb8c760d266d332054e70c7a4cad2a8a8ce204ec9f2f250921121f1e37ce
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.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mugrid-1.2.0-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
e6371e6cd4046c4fc4df81599f8a8fd064d273eea1280dd06368550db02e1c83
BLAKE2b-256 checksum
How to use checksums
ce4393fdba6174f43e30e254f386b7e91d13ed73686309c402037484ef4d64bf
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.2.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL mugrid-1.2.0-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
869689c5ba360f022c88f7f39699a9bd6f6a8a804b6daddefbdb6e5ee13f7b8d
BLAKE2b-256 checksum
How to use checksums
ad451a3b57d9aa52fbecc4d70c975d3bdffc1b019b1a3d857ea460c7cdbd6b4d
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.2.0-cp310-cp310-win_arm64.whl

Download URL mugrid-1.2.0-cp310-cp310-win_arm64.whl
Size 5.3 MB
Tags CPython 3.10 Windows ARM64
SHA-256 checksum
How to use checksums
f85c59d4326f9c3aaf47efd4bc805b52953f99d9787360e1d7cf25d1fe5b5c3a
BLAKE2b-256 checksum
How to use checksums
61ec04d355ca9ec6bb6d2dfe8c8287d4efa988c569954c274cb4bbd42184f544
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.2.0-cp310-cp310-win_amd64.whl

Download URL mugrid-1.2.0-cp310-cp310-win_amd64.whl
Size 5.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ac8dee1a05c518f1d1a3cb8a456fe0c71d45f9a5c3310b3ece459b4e54cd383c
BLAKE2b-256 checksum
How to use checksums
aedda7ea0627727ec2dbc53d590cc6d599812f02aa3f5fb18a7e54d51c644de4
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.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mugrid-1.2.0-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
d064aea9d7470b57d6da89b75252e7c92f9bca11ff79a947fbf05aace5985d34
BLAKE2b-256 checksum
How to use checksums
c3d566b786edd9a64f8354ef4ea0b3257aa7f244d18eee1f800145aced44506c
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.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mugrid-1.2.0-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
c2f9bbee002d25b05c067a40d58e5c85f9cfa01a583cb9a95280fb87abc47f3d
BLAKE2b-256 checksum
How to use checksums
43832a272633978632bdc3c9be1b24e07dfdd4e757f88fc1feee7a4aebbbed40
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.2.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL mugrid-1.2.0-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
4248b330d11b2bdbae545182322025b7315c1e37dabcdb344734a7210037bc84
BLAKE2b-256 checksum
How to use checksums
e4b0049b37a452ddb04896aa16662b811adc57688550e972fbb236ab20f41c23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

1.4.0

26 release files

1.3.0

26 release files

This release

1.2.0 This release

24 release files

1.1.1

26 release files

1.0.0

26 release files

0.0.0

26 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page