CSE 60772 - High Performance Distributed Systems

CSE 60772 - High Performance Distributed Systems

View the Project on GitHub

PyFlowCL

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.

Getting started

Minimal run

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.