Skip to main content

Flash-Aurora

DOI

Inference and serving for Microsoft Aurora and other geospatial foundation models. A request takes an analysis cube in and writes NetCDF or GeoTIFF out. The tensors keep a lat/lon layout, so the engine uses shape-specialized kernels, named mixed precision (bf16_mixed@fp32 by default), and a job-level GPU scheduler rather than an LLM serving loop.

Walkthrough slides · Tutorial · Benchmark tables

Install

pip install flash-aurora

From source:

git clone https://github.com/CatManJr/Flash-Aurora.git
cd Flash-Aurora
uv sync

Set CUTE_DSL_ARCH when the CuTe kernels need an explicit GPU architecture (sm_89 on RTX 4090, sm_120a on Blackwell). If PyPI is slow, point uv at a mirror with UV_DEFAULT_INDEX or a local uv.toml; keep the committed uv.lock on the official index.

Quick start

from datetime import datetime
from pathlib import Path

from flash_aurora import AuroraEngine, DataDownloader

engine = AuroraEngine.from_preset(
    "era5_pretrained",
    asset_root=Path("/path/to/assets"),
    inference_precision="bf16_mixed@fp32",
)
downloader = DataDownloader.from_preset(
    "era5_pretrained",
    asset_root=engine.config.asset_root,
)
request = downloader.ingest_request(
    datetime(2023, 1, 1, 6),
    time_index=1,
    download=True,
)
batch = engine.prepare(request, rollout_steps=4)
forecasts = list(engine.rollout_stream(batch, steps=4))
engine.release_gpu(move_model_to_cpu=True)
engine.close()

Scheduler loopback, two-GPU placement, and the notebook index: docs/tutorial.md.

What it does

Production mixed precision (bf16_mixed@fp32) is faster than unfused FP32 and stays closer to that twin than framework autocast. One forward step on RTX PRO 6000 Blackwell is about $570$--$680,\mathrm{ms}$ on the $0.25^{\circ}$ weather presets, versus about $1.7$--$2.1,\mathrm{s}$ for unfused FP32. Each bar is a separate process (--isolate-tiers).

One-step end-to-end forward latency by precision tier

Recommended tiers stay within per-variable tolerances versus the unfused FP32 reference (seed 42). bf16@* is not a production path.

Stacked mean relative error by precision tier and preset

Window-attention kernels are short-window CuTe DSL (N = 144 on the default $0.25^{\circ}$ encoder), not a generic LLM attention stack.

CuTe DSL window attention versus PyTorch SDPA on Blackwell

Serving is one GPU per job. A ZeroMQ coordinator fills idle workers; it does not batch tokens inside one forward. Scheduler notebooks.

One job per worker Refill while hres_0.1 is pending

A preset that does not fit one GPU can run encoder / backbone / decoder on two devices in the same process (DistributedConfig). ROI export clips on the egress path so a region of interest does not require a global dump.

Presets

Preset Grid Source
era5_pretrained $721 \times 1440$ CDS ERA5
aurora_v1p5 / aurora_v1p5_ensemble $721 \times 1440$ CDS ERA5 (extended)
small_pretrained $400 \times 800$ CDS ERA5
hres_t0_finetuned / tc_tracking $721 \times 1440$ WeatherBench2 HRES
hres_0.1 $1801 \times 3600$ IFS analysis
cams $451 \times 900$ CAMS
wave $721 \times 1440$ WB2 + MARS

wave usually needs a hand-placed MARS cache; see example_wave.ipynb. Notebooks for every preset are listed in the tutorial.

License

MIT. Aurora code is derived from Microsoft Aurora (MIT), frozen at v1.8.0, with Aurora 1.5 from tag v2.0.1. Kernel files under flash_aurora.models.ops follow their per-file headers (including NVIDIA BSD-3-Clause where noted).

Bodnar et al., A Foundation Model for the Earth System, Nature (2025). doi:10.1038/s41586-025-09005-y. Upstream docs: microsoft.github.io/aurora.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flash_aurora-0.1.4.tar.gz (31.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flash_aurora-0.1.4-py3-none-any.whl (367.7 kB view details)

Uploaded Python 3

File details

Details for the file flash_aurora-0.1.4.tar.gz.

File metadata

  • Download URL: flash_aurora-0.1.4.tar.gz
  • Upload date:
  • Size: 31.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flash_aurora-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0567c48190cb6fdef103af0b2311d5220c2aad7f1b0ae466bccc7b5d1cf76c06
MD5 748c6ed587f681a83381ef580e46e9e0
BLAKE2b-256 eb712943541b1aa2bbd15670b6bce36d935d1600ac0da7765bd4d87ab5124450

See more details on using hashes here.

File details

Details for the file flash_aurora-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: flash_aurora-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 367.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.4 {"installer":{"name":"uv","version":"0.12.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for flash_aurora-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9113bbd387c6a01065983336fbc1b35ce6af7e36231e5acde087fde0ea35c391
MD5 eb42397059e986f4abdf06ea44441efd
BLAKE2b-256 8786dce104d53018c11a8ae08756b41503c9a6889264c7d4906b2532e281e53c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page