|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| parse (p) | |
Variables | |
| A | |
| B | |
| n = int(os.environ.get("N", "128")) | |
| list | rows = [] |
| t = B[k][1] - A.get(k, (0, 0))[1] | |
| reverse | |
| tot = sum(r[0] for r in rows) | |
| s = pf.Solver((n, n, n), extent=(1.0, 1.0, 1.0)) | |
| dt | |
| tuple | R = (0.3 * 3.0 / (4.0 * math.pi)) ** (1.0 / 3.0) |
| X | |
| Y | |
| Z | |
| cutcell_pressure | |
| float | h = 1.0 / n |
| diffusivity | |
| scheme | |
| cutcell | |
| geo = s.diagnostics.scalar_geometry("c") | |
| cudart = ctypes.CDLL("libcudart.so") | |
| t0 = time.perf_counter() | |
| NS = int(os.environ.get("NS", "3")) | |
WO-9b instrument: wall time of advance_scalars on G-perf's 128^3 bed (dt D/h^2 = 1, koren,
Dirichlet spheres) after 3 flow steps; NS timed advances (env N = cells per axis, NS). The CUDA
profiler range wraps the timed advances (nsys --capture-range=cudaProfilerApi). On host, run with
KOKKOS_TOOLS_LIBS = the Kokkos simple kernel timer at NS=0 and NS=k and difference the two tables:
NS=3 OMP_NUM_THREADS=1 KOKKOS_TOOLS_LIBS=<kp_kernel_timer.so> PYTHONPATH=build_dev \
python advance_profile.py > kt3.txt (and NS=0 > kt0.txt)
python advance_profile.py diff kt0.txt kt3.txt 3
| advance_profile.parse | ( | p | ) |
Definition at line 14 of file advance_profile.py.
| advance_profile.A |
Definition at line 24 of file advance_profile.py.
| advance_profile.B |
Definition at line 24 of file advance_profile.py.
| advance_profile.n = int(os.environ.get("N", "128")) |
Definition at line 24 of file advance_profile.py.
| list advance_profile.rows = [] |
Definition at line 25 of file advance_profile.py.
| tuple advance_profile.t = B[k][1] - A.get(k, (0, 0))[1] |
Definition at line 27 of file advance_profile.py.
| advance_profile.reverse |
Definition at line 29 of file advance_profile.py.
| advance_profile.tot = sum(r[0] for r in rows) |
Definition at line 30 of file advance_profile.py.
Definition at line 42 of file advance_profile.py.
| advance_profile.dt |
Definition at line 43 of file advance_profile.py.
| tuple advance_profile.R = (0.3 * 3.0 / (4.0 * math.pi)) ** (1.0 / 3.0) |
Definition at line 44 of file advance_profile.py.
| advance_profile.X |
Definition at line 45 of file advance_profile.py.
| advance_profile.Y |
Definition at line 45 of file advance_profile.py.
| advance_profile.Z |
Definition at line 45 of file advance_profile.py.
| advance_profile.cutcell_pressure |
Definition at line 46 of file advance_profile.py.
| float advance_profile.h = 1.0 / n |
Definition at line 49 of file advance_profile.py.
| advance_profile.diffusivity |
Definition at line 50 of file advance_profile.py.
| advance_profile.scheme |
Definition at line 50 of file advance_profile.py.
| advance_profile.cutcell |
Definition at line 50 of file advance_profile.py.
| advance_profile.geo = s.diagnostics.scalar_geometry("c") |
Definition at line 52 of file advance_profile.py.
| advance_profile.cudart = ctypes.CDLL("libcudart.so") |
Definition at line 58 of file advance_profile.py.
| advance_profile.t0 = time.perf_counter() |
Definition at line 62 of file advance_profile.py.
| advance_profile.NS = int(os.environ.get("NS", "3")) |
Definition at line 63 of file advance_profile.py.