{ "cells": [ { "cell_type": "markdown", "id": "gpucmp-0001", "metadata": {}, "source": "# JAX-ALFA Performance Benchmarks: Hardware Platform Comparison" }, { "cell_type": "markdown", "id": "gpucmp-0002", "metadata": {}, "source": [ "*Last updated: May 2026*" ] }, { "cell_type": "markdown", "id": "gpucmp-0003", "metadata": {}, "source": "This notebook compares JAX-ALFA wall-clock performance across hardware platforms\n(GPUs and CPUs) for a selected set of configurations. Rather than sweeping the\nfull run matrix, a fixed reference configuration is used so that hardware\ndifferences are the only variable.\n\nPer-platform full sweeps (all resolutions, SGS models, precisions) are reported\nseparately in the platform-specific benchmark notebooks (e.g. `Benchmark_A100`).\n\nThe primary metric is **time per iteration (ms/iter)**. Speedup is expressed\nrelative to the A100 (80 GB) baseline." }, { "cell_type": "markdown", "id": "gpucmp-0004", "metadata": {}, "source": "## Hardware\n\n| Platform label | System | Type | Device | Memory / Cores |\n| --- | --- | --- | --- | --- |\n| A100 (80 GB) | NVIDIA DGX Cloud | GPU | NVIDIA A100 Tensor Core GPU | 80 GB HBM2e |\n| RTX 6000 Ada | HAL (Lambda workstation) | GPU | NVIDIA RTX 6000 Ada Generation | 48 GB GDDR6 |\n| RTX A6000 (Chaos) | Chaos (AMD EPYC workstation) | GPU | NVIDIA RTX A6000 (Ampere) | 48 GB GDDR6 |\n| Xeon w9-3495X | HAL (Lambda workstation) | CPU | Intel Xeon w9-3495X | 56 cores / 112 threads |" }, { "cell_type": "markdown", "id": "gpucmp-0005", "metadata": {}, "source": [ "## Selected Configurations\n", "\n", "Cross-platform runs use the following fixed configurations:\n", "\n", "| Resolution | SGS model | Precision |\n", "| --- | --- | --- |\n", "| $128^3$ | LASDD-SM | SP |\n", "| $128^3$ | LASDD-SM | DP |\n", "\n", "These configurations are run for all available cases on each platform.\n", "Additional configurations can be added to `SELECTED_N`, `SELECTED_SGS`,\n", "and `SELECTED_PREC` below." ] }, { "cell_type": "markdown", "id": "gpucmp-0006", "metadata": {}, "source": [ "## Setup" ] }, { "cell_type": "code", "id": "gpucmp-0007", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:35.128620Z", "start_time": "2026-06-05T14:08:34.128101Z" } }, "source": [ "import re\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from pathlib import Path\n", "\n", "plt.rcParams.update({\n", " 'text.usetex': True,\n", " 'font.size': 14,\n", " 'axes.labelsize': 16,\n", " 'xtick.labelsize': 12,\n", " 'ytick.labelsize': 12,\n", "})" ], "outputs": [], "execution_count": 1 }, { "cell_type": "markdown", "id": "gpucmp-0008", "metadata": {}, "source": [ "### Repository root, platform directories, and filter" ] }, { "cell_type": "code", "id": "gpucmp-0009", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:35.155628Z", "start_time": "2026-06-05T14:08:35.135104Z" } }, "source": "def find_repo_root(start=None):\n path = Path(start or ('__file__' in globals() and __file__) or Path.cwd()).resolve()\n for candidate in (path, *path.parents):\n if (candidate / 'examples').is_dir() and (candidate / 'docs').is_dir():\n return candidate\n raise FileNotFoundError('Could not locate JAXALFA0.1 repository root')\n\nBaseDir = find_repo_root()\nprint(f'Repository root: {BaseDir}')\n\n# Register all platforms here (GPUs and CPUs).\n# Directories that do not exist are silently skipped.\nPLATFORM_DIRS = {\n 'A100 (80 GB)': BaseDir / 'examples',\n 'RTX 6000 Ada': BaseDir / 'examples_A6000ada',\n 'RTX A6000 (Chaos)': BaseDir / 'examples_A6000',\n 'Xeon w9-3495X': BaseDir / 'examples_XeonW9',\n}\n\n# Reference platform for speedup calculations\nREFERENCE_PLATFORM = 'A100 (80 GB)'\n\n# Configurations included in the cross-platform comparison\nSELECTED_N = [128] # grid sizes\nSELECTED_SGS = ['LASDD-SM'] # SGS model labels\nSELECTED_PREC = ['SP', 'DP'] # precisions", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Repository root: /Users/sukantabasu/Dropbox/Codes/LES/JAX-ALFA/JAXALFA0.1\n" ] } ], "execution_count": 2 }, { "cell_type": "markdown", "id": "gpucmp-0010", "metadata": {}, "source": [ "### Data loading" ] }, { "cell_type": "code", "id": "gpucmp-0011", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:35.560495Z", "start_time": "2026-06-05T14:08:35.164296Z" } }, "source": [ "_DIR_RE = re.compile(\n", " r'(?P\\d+)x(?P\\d+)x(?P\\d+)'\n", " r'_(?PLAD|LASDD)'\n", " r'_(?PSM|WL)'\n", " r'_(?PSP|DP)$'\n", ")\n", "_TIME_RE = re.compile(r'Total Elapsed Time:\\s+([\\d.]+)\\s+seconds')\n", "_ITER_RE = re.compile(r'Finished Iteration\\s+(\\d+)\\s*/\\s*(\\d+)')\n", "\n", "\n", "def parse_run_log(log_path):\n", " \"\"\"Return (total_seconds, total_iterations) from run.log, or None.\n", " Uses the last entry in the file (most recent completed run).\n", " \"\"\"\n", " text = log_path.read_text(errors='replace')\n", " all_times = _TIME_RE.findall(text)\n", " if not all_times:\n", " return None\n", " total_sec = float(all_times[-1])\n", " iters = _ITER_RE.findall(text)\n", " if not iters:\n", " return None\n", " last_done, last_total = int(iters[-1][0]), int(iters[-1][1])\n", " if last_done < last_total:\n", " return None\n", " return total_sec, last_total\n", "\n", "\n", "def scan_platform(examples_dir, platform_label):\n", " records = []\n", " for log_path in sorted(examples_dir.glob('*/runs/*/run.log')):\n", " run_dir = log_path.parent\n", " run_name = run_dir.name\n", " case = run_dir.parent.parent.name\n", " m = _DIR_RE.match(run_name)\n", " if not m:\n", " continue\n", " result = parse_run_log(log_path)\n", " if result is None:\n", " continue\n", " total_sec, total_iters = result\n", " nx = int(m.group('nx'))\n", " dyn_key = m.group('dyn')\n", " base_key = m.group('base')\n", " prec_key = m.group('prec')\n", " sgs_label = f\"{dyn_key}-{base_key}\"\n", " records.append({\n", " 'Platform': platform_label,\n", " 'Case': case,\n", " 'Resolution': f'{nx}\\u00b3',\n", " 'N': nx,\n", " 'Dynamic proc.': dyn_key,\n", " 'Base model': base_key,\n", " 'SGS model': sgs_label,\n", " 'Precision': prec_key,\n", " 'Total iterations': total_iters,\n", " 'Total time (s)': round(total_sec, 3),\n", " 'Time/iter (ms)': round(total_sec * 1000 / total_iters, 4),\n", " })\n", " return records\n", "\n", "\n", "all_records = []\n", "for label, path in PLATFORM_DIRS.items():\n", " if path.is_dir():\n", " recs = scan_platform(path, label)\n", " all_records.extend(recs)\n", " print(f'{label}: {len(recs)} completed runs found')\n", " else:\n", " print(f'{label}: directory not found — skipped ({path})')\n", "\n", "df_all = pd.DataFrame(all_records)\n", "\n", "# Apply cross-platform filter\n", "df = df_all[\n", " df_all['N'].isin(SELECTED_N) &\n", " df_all['SGS model'].isin(SELECTED_SGS) &\n", " df_all['Precision'].isin(SELECTED_PREC)\n", "].copy()\n", "\n", "print(f'\\nSelected runs for comparison: {len(df)}')" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A100 (80 GB): 57 completed runs found\n", "RTX 6000 Ada: 10 completed runs found\n", "RTX A6000 (Chaos): 1 completed runs found\n", "Xeon w9-3495X: directory not found — skipped (/Users/sukantabasu/Dropbox/Codes/LES/JAX-ALFA/JAXALFA0.1/examples_XeonW9)\n", "\n", "Selected runs for comparison: 10\n" ] } ], "execution_count": 3 }, { "cell_type": "markdown", "id": "gpucmp-0012", "metadata": {}, "source": [ "## Results Table" ] }, { "cell_type": "code", "id": "gpucmp-0013", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:35.646494Z", "start_time": "2026-06-05T14:08:35.562721Z" } }, "source": [ "sort_keys = ['Case', 'N', 'SGS model', 'Precision', 'Platform']\n", "df_sorted = df.sort_values(sort_keys).reset_index(drop=True)\n", "\n", "display_cols = ['Platform', 'Case', 'Resolution', 'SGS model',\n", " 'Precision', 'Total iterations', 'Total time (s)', 'Time/iter (ms)']\n", "\n", "styled = (\n", " df_sorted[display_cols]\n", " .style\n", " .format({'Total time (s)': '{:.1f}', 'Time/iter (ms)': '{:.2f}'})\n", " .set_caption('Cross-platform comparison: wall-clock time per iteration')\n", " .set_table_styles([{'selector': 'caption',\n", " 'props': [('font-weight', 'bold'), ('font-size', '13pt')]}])\n", ")\n", "styled" ], "outputs": [ { "data": { "text/plain": [ "" ], "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Cross-platform comparison: wall-clock time per iteration
 PlatformCaseResolutionSGS modelPrecisionTotal iterationsTotal time (s)Time/iter (ms)
0A100 (80 GB)CBL_N91128³LASDD-SMDP504005118.8101.56
1RTX 6000 AdaCBL_N91128³LASDD-SMDP504006933.8137.58
2A100 (80 GB)CBL_N91128³LASDD-SMSP504002270.645.05
3RTX 6000 AdaCBL_N91128³LASDD-SMSP504001504.629.85
4RTX A6000 (Chaos)CBL_N91128³LASDD-SMSP504003611.571.66
5RTX 6000 AdaDC_Wangara128³LASDD-SMSP1728004557.426.37
6A100 (80 GB)NBL_A94128³LASDD-SMSP30000013505.445.02
7A100 (80 GB)SBL_GABLS1128³LASDD-SMDP32400026538.981.91
8A100 (80 GB)SBL_GABLS1128³LASDD-SMSP32400011819.636.48
9RTX 6000 AdaSBL_GABLS3128³LASDD-SMSP3240008610.726.58
\n" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 4 }, { "cell_type": "markdown", "id": "gpucmp-0014", "metadata": {}, "source": "## Time per Iteration by Platform\n\nGrouped bar chart showing time per iteration for each case and precision,\nwith one bar per hardware platform (GPU or CPU)." }, { "cell_type": "code", "id": "gpucmp-0015", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:36.933940Z", "start_time": "2026-06-05T14:08:35.657690Z" } }, "source": "platforms_present = df_sorted['Platform'].unique()\ncases_present = sorted(df_sorted['Case'].unique())\nprecisions = ['SP', 'DP']\n\nplatform_colors = {\n 'A100 (80 GB)': '#4e79a7',\n 'RTX 6000 Ada': '#f28e2b',\n 'RTX A6000 (Chaos)': '#59a14f',\n 'Xeon w9-3495X': '#e15759',\n}\n\nfig, axs = plt.subplots(1, len(precisions), figsize=(7 * len(precisions), 5),\n constrained_layout=True, sharey=False)\n\nfor ax, prec in zip(axs, precisions):\n sub = df_sorted[df_sorted['Precision'] == prec]\n n_groups = len(cases_present)\n n_plat = len(platforms_present)\n bar_width = 0.7 / max(n_plat, 1)\n x = np.arange(n_groups)\n\n for i, plat in enumerate(platforms_present):\n vals = []\n for case in cases_present:\n row = sub[(sub['Platform'] == plat) & (sub['Case'] == case)]\n vals.append(row['Time/iter (ms)'].values[0] if not row.empty else np.nan)\n offset = (i - n_plat / 2 + 0.5) * bar_width\n ax.bar(x + offset, vals, width=bar_width * 0.9,\n color=platform_colors.get(plat, '#aaa'),\n edgecolor='black', linewidth=0.6,\n label=plat)\n\n ax.set_xticks(x)\n ax.set_xticklabels([c.replace('_', r'\\_') for c in cases_present], fontsize=11)\n ax.set_ylabel(r'Time per iteration (ms)')\n ax.set_title(f'{prec} --- LASDD-SM, $128^3$')\n ax.legend(frameon=False, fontsize=10)\n ax.grid(axis='y', alpha=0.3)\n\nfig.suptitle(r'Hardware Platform Comparison: Time per Iteration', fontsize=16)\nplt.show()", "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 5 }, { "cell_type": "markdown", "id": "gpucmp-0016", "metadata": {}, "source": "## Speedup Relative to A100 (80 GB)\n\nSpeedup = $t_{\\mathrm{A100}} / t_{\\mathrm{platform}}$ for matched\n(Case, Resolution, SGS model, Precision) pairs.\nValues above 1 indicate the alternative platform is faster than the A100 baseline." }, { "cell_type": "code", "id": "gpucmp-0017", "metadata": { "ExecuteTime": { "end_time": "2026-06-05T14:08:37.535138Z", "start_time": "2026-06-05T14:08:36.989665Z" } }, "source": "df_ref = df_sorted[df_sorted['Platform'] == REFERENCE_PLATFORM].copy()\nmatch_keys = ['Case', 'N', 'SGS model', 'Precision']\n\nalt_platforms = [p for p in platforms_present if p != REFERENCE_PLATFORM]\nif not alt_platforms:\n print('No alternative platforms available yet — register an examples_/ directory in PLATFORM_DIRS to compare.')\nelse:\n speedup_records = []\n for plat in alt_platforms:\n df_alt = df_sorted[df_sorted['Platform'] == plat].copy()\n merged = df_ref[match_keys + ['Time/iter (ms)', 'Resolution']].merge(\n df_alt[match_keys + ['Time/iter (ms)']],\n on=match_keys, suffixes=('_ref', '_alt')\n )\n merged['Speedup'] = merged['Time/iter (ms)_ref'] / merged['Time/iter (ms)_alt']\n merged['vs. Platform'] = plat\n speedup_records.append(merged)\n\n df_speedup = pd.concat(speedup_records, ignore_index=True)\n\n fig, axs = plt.subplots(1, len(precisions), figsize=(7 * len(precisions), 5),\n constrained_layout=True, sharey=True)\n\n for ax, prec in zip(axs, precisions):\n sub = df_speedup[df_speedup['Precision'] == prec]\n n_groups = len(cases_present)\n n_plat = len(alt_platforms)\n bar_width = 0.7 / max(n_plat, 1)\n x = np.arange(n_groups)\n\n for i, plat in enumerate(alt_platforms):\n vals = []\n for case in cases_present:\n row = sub[(sub['vs. Platform'] == plat) & (sub['Case'] == case)]\n vals.append(row['Speedup'].values[0] if not row.empty else np.nan)\n offset = (i - n_plat / 2 + 0.5) * bar_width\n ax.bar(x + offset, vals, width=bar_width * 0.9,\n color=platform_colors.get(plat, '#aaa'),\n edgecolor='black', linewidth=0.6, label=plat)\n\n ax.axhline(1.0, color='k', linestyle='--', linewidth=1.2, label='A100 baseline')\n ax.set_xticks(x)\n ax.set_xticklabels([c.replace('_', r'\\_') for c in cases_present], fontsize=11)\n ax.set_ylabel(r'Speedup vs.\\ A100 (80 GB)')\n ax.set_title(f'{prec} --- LASDD-SM, $128^3$')\n ax.legend(frameon=False, fontsize=10)\n ax.grid(axis='y', alpha=0.3)\n\n fig.suptitle(r'Hardware Platform Speedup vs.\\ A100 (80 GB)', fontsize=16)\n plt.show()", "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 6 } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.10.0" } }, "nbformat": 4, "nbformat_minor": 5 }