CSE 60772 - High Performance Distributed Systems
Compressible and incompressible CFD on structured 3D meshes. Mostly Python,
with MPI through mpi4py, PyTorch arrays on CPU or GPU, and a few C++
kernels.
jmacart@nd.edu)code/, a snapshot of the master branch. There is no public
repository.data/workstation-setup-pyflow.pdf (environment),
data/running-pyflowcl.pdf (running), data/using-paraview.pdf (viewing
output). Some links in them point to the group’s internal wiki.master supports nonreacting compressible flows (for example supersonic
flow over a wedge or cone) and some reacting flows. Other branches add
features such as incompressible flow. Ask Jon if you want to work with them.mpi4py and HDF5 with h5py.code/verification/. shear_layer_2D is a good first
one and needs no input data.dt or refining the grid.Build a CPU-only environment once, from this directory on a CRC front end:
scripts/setup-env.sh
It installs h5py from PyPI, which has no MPI-IO, so only single-rank runs
can write output. Build HDF5 and h5py from source (see the setup guide)
before running on multiple ranks.
Then submit the smoke test from crcfe01 or crcfe02:
mkdir -p results
qsub scripts/run-smoke.sge
scripts/driver_smoke.py is the 2D shear layer shrunk to 256×256 and 100
steps. Change the size with NX1, NX2, and NSTEPS. Output goes to
results/smoke/ and opens in ParaView. The initial condition uses unseeded
random perturbations, so runs are not bitwise identical.