Home / TRANSP output

TRANSP runtime: timing plots and interpretation

Download the original Word guide (.docx)

User guide based on the supplied plotgen.i definitions. All variable names in this guide are output CDF plotting variables. Internal source-code variable names are intentionally omitted.

1. Timing plots available to users

Open the TRANSP output <runid>.CDF file and select the following variables or predefined multigraphs. Multigraphs are named plot collections, not additional CDF variables.

2. Overall CPU time and wall time

CDF plotting variable Units What it measures
CPTIM hours Total CPU time used so far
WALLTIME hours Elapsed wall-clock time
CPPTRANSP hours PTRANSP timing (when applicable)
PT_CPTIME hours PT_SOLVER CPU time (when applicable)
PT_WTIME hours PT_SOLVER wall time (when applicable)

Multigraph CPWALL displays CPTIM and WALLTIME. PT_TIME displays PT_CPTIME and PT_WTIME. CPDIS includes CPTIM and model CPU-time diagnostics.

Illustrative example: at the final output time, CPTIM = 12 hours and WALLTIME = 3 hours. This means 12 accumulated CPU-hours were reported during 3 elapsed hours. The ratio (4 CPU-hours per wall-hour) is not, by itself, an MPI speedup or a count of MPI ranks.

3. CPU time distribution by model (CPDIS)

CDF plotting variable Model/component
CPTIM Total CPU time
CPMCFI Monte Carlo fast-ion model (NUBEAM)
CPFPP ICRF and Fokker–Planck model
CPECH ECH model
CPGEOM Flux-surface geometry
CPXPGL xplasma loading
CPSC0 Neutral transport
CPOUT Output system
CPTRK Straight-line tracker
CPLH JET lower hybrid
CPPTRANSP PTRANSP (when applicable)

Illustrative example (not a measured TRANSP run): CPTIM = 10 h; CPMCFI = 5 h; CPFPP = 2 h; CPGEOM = 0.5 h; CPECH = 0.3 h; CPSC0 = 0.2 h; CPOUT = 0.4 h. These correspond to 50%, 20%, 5%, 3%, 2%, and 4% of CPTIM respectively. The selected values account for 84% of CPTIM, but the remainder should not be labeled a single model without checking other timing categories and overlap.

At a selected time t: model share (%) = 100 × model timing(t) / CPTIM(t). For an interval [t1,t2], use 100 × [model timing(t2) − model timing(t1)] / [CPTIM(t2) − CPTIM(t1)], provided the counters are cumulative and comparable.

4. Detailed model timing plots

BMCPU — fast-ion/NUBEAM CPU breakdown

CDF plotting variable Description
CPMCFI Total fast-ion code
CPBDEP Fast-ion deposition
CPBMCINI Monte Carlo table setup
CPXPGL xplasma load
CPBORB Fast-ion orbit following and collisions
CPBOUT Fast-ion output renormalization

BMPLL — NUBEAM parallel timing

CDF plotting variable Description
CPBMAX Maximum thread CPU time
CPBMIN Minimum thread CPU time
CPBROOT Root thread CPU time
WC_NUBEAM NUBEAM wall-clock time

CPGEO — geometry and equilibrium

CDF plotting variable Description
CPGEOM Flux-surface geometry
CPMHDQ MHD equilibrium
CPGEOCAL Flux-surface averages

CPICH — ICRF and Fokker–Planck

CDF plotting variable Description
CPFPP Overall ICRF/FP timing
CPWAVE ICRF wave calculation
CPFP_SOLV Fokker–Planck solver
CPFP_COEF Coefficient setup
CPFP_QLO Quasilinear operator
CPFP_RAD Radial transport loop
CPFP_OUT Final output

5. How to interpret the plots

  1. Start with CPWALL: compare total accumulated CPU time (CPTIM) with elapsed wall time (WALLTIME).

  2. Use CPDIS to rank model costs. For a given output time, divide each model timing value by CPTIM to estimate its share.

  3. Use BMCPU to investigate which parts of NUBEAM dominate. Do not add CPMCFI to its own subcomponent timings.

  4. Use BMPLL to compare NUBEAM thread timing and wall time; these are different measures and should not be stacked as independent CPU costs.

  5. Use CPICH to determine whether wave calculations, the Fokker–Planck solver, or other ICRF/FP stages dominate. Do not add CPFPP to its own subcomponents.

  6. Use time differences between consecutive output points to identify intervals with unusually high computational cost.

  7. Some variables may be absent if the corresponding physics model or feature was not enabled for the run.

6. Important cautions

Timing values are reported in hours. CPU and wall-clock measures have different meanings. Model totals and subcomponent values may overlap, and the provided plot definitions do not establish that every category is mutually exclusive. Only use percentages as an accounting breakdown after checking counter scope and overlap.

This guide describes available plotting variables; the uploaded plotgen.i does not include timing measurements for a specific run.