Blog & Updates

Project updates, technical articles, and release announcements from the OpenLithoHub team.

ILTTooling

ILT Checkpointing & RDP Vertex Decimation: Survive Preemption, Cut OASIS Bytes

`LevelSetILTModel.predict(checkpoint_dir=, save_freq=, resume_from=)` periodically `torch.save`s the mask logit, Adam state, and best-loss tracker — SLURM preemption or a CUDA crash on a multi-thousand-iter run no longer wipes prior progress, and resume-vs-uninterrupted determinism is pinned by test. `export_oasis_mbw(vertex_tolerance_nm=...)` runs anchored Ramer-Douglas-Peucker simplification on each sampled curvilinear polygon — default `0.0` keeps bit-exact academic behaviour; positive values cut full-chip OASIS data volume and the MBMW shot/byte budget without measurable wafer-image change.

May 22, 2026 Read More arrow_forward
ReproducibilityTooling

Deterministic Mode + SRAF Min-Area Filter: Bit-Reproducible Scoring, MRC-Clean Exports

`--deterministic` on `openlithohub eval` and `optimize` centralises the four torch backend flags needed for bit-reproducible scoring — `cudnn.deterministic`, `cudnn.benchmark=False`, no TF32 on cudnn or matmul. `--export-min-area` drops sub-resolution SRAF polygons via shoelace area before OASIS insert, so fab-ready exports clear MRC without touching academic scoring (defaults stay `0.0`, Hackathon-safe). Both are also wired through the `/v1/optimize` HTTP form.

May 22, 2026 Read More arrow_forward
APIFaçade

Object-Oriented API: `Mask`, `LitheEngine`, `Report` — One Façade Over the Whole Pipeline

`from openlithohub import Mask, LitheEngine` is now the shortest path from an OASIS file to a scored report. Frozen-dataclass `Mask` with suffix-sniffing constructors (`from_oasis` / `from_pt` / `from_npy` / `from_gds`) carries `(tensor, pixel_size_nm, layer)` so callers stop juggling tensors and metadata separately. `LitheEngine.optimize` and `.evaluate` wrap the existing model registry, tiling, and metrics with a teardown lifecycle. The functional API is unchanged — use whichever shape fits the task. Closes #10.

May 20, 2026 Read More arrow_forward
ILTPW-OPC

Process-Window-Aware ILT: Co-Optimise Across the Dose/Focus Corner Sweep

`LevelSetILTModel.predict(process_window=True)` swaps nominal-only MSE for a 5-corner weighted loss using the new `openlithohub.workflow.process_window` module. `ProcessWindowCorner` + `pw_fidelity_loss` reuse the existing `simulate_aerial_image` PSF — no new physics, no API break, defaults stay nominal. Same call site, dose × focus robustness for free.

May 20, 2026 Read More arrow_forward
ILTSRAF

SRAF Non-Printing Penalty as a Differentiable Loss

`benchmark.metrics.sraf_print_penalty(aerial, sraf_mask, *, print_threshold=0.30, margin=0.05)` punishes SRAF-region intensity rising above the print floor. Squared-ReLU keeps gradients alive in the safe region, so the optimiser feels SRAF risk before any post-hoc MRC check ever fires. Drops into any `torch.optim` loop in two lines.

May 20, 2026 Read More arrow_forward
ToolingCalibration

Auto-Calibrate Resist Threshold + Optical σ from a Gauge Table in 30 Seconds

New `notebooks/auto_calibration.ipynb` shows how to invert measured-vs-simulated CD error onto physical knobs with `torch.optim.Adam` — no special calibration code, just the same autograd graph the rest of OpenLithoHub already uses. CPU only, pre-fit MAE 1.999 px → ~0 px after 200 steps on a synthetic GaugeTable.

May 20, 2026 Read More arrow_forward
ReleaseTooling

From Library to Micro-Service: Drive OpenLithoHub from C++/Slurm with curl

v0.1.0-alpha ships `openlithohub serve` — a small FastAPI wrapper that turns the optimization engine into a long-running HTTP service. Models load lazily and stay resident, so fab-side schedulers (Slurm/LSF) and legacy C++/Java/Perl pipelines can drive Python-only models with a single multipart POST. `curl -X POST :8000/v1/optimize -F [email protected] -F model=neural-ilt -o optimized.oas`.

May 20, 2026 Read More arrow_forward
ToolingDX

Jupyter WYSIWYG: PredictionResult and MRC Reports Now Render Inline

Result dataclasses (`PredictionResult`, `MRCResult`, `CurvilinearMRCResult`, `DRCResult`, `MonteCarloFailureResult`, `SimulatorResult`) gained `_repr_html_` methods. In a notebook, the last expression of a cell renders as a styled panel — pass/fail badge, key/value table, violation rows, mask thumbnail — instead of `MRC passed: False (3 violations)`. Degrades gracefully to plain repr when matplotlib is missing.

May 20, 2026 Read More arrow_forward
RFCMRC

RFC 0003 — A Standard MRC Rule-Deck Schema (JSON / TOML)

Different fabs ship MRC rules in different formats — Calibre SVRF, Synopsys ICV, vendor YAML, ad-hoc Excel. RFC 0003 defines a single JSON/TOML rule-deck format covering every parameter the OpenLithoHub MRC checkers consume, with an in-tree validator and a worked FreePDK45 metal-1 example.

May 19, 2026 Read More arrow_forward
ToolingDeployment

Export Trained Models to ONNX / TorchScript / TensorRT

The new `openlithohub export` CLI takes any registered model and emits an ONNX (dynamo path, with a TorchScript fallback for non-`torch.export`-able models like NeuralILT) or TorchScript artifact ready to drop into TensorRT. `pip install openlithohub[export]` for the onnxscript dependency.

May 19, 2026 Read More arrow_forward
ToolingEPE

Calibre / CSV Gauge Parser — and Why It Refuses Headerless Files

A new `openlithohub.workflow.parse_gauge` ingests Calibre `.gg` and CSV gauge files used by EPE measurement flows. Unlike most parsers, ours refuses files without a recognizable header — silent fallback to a canonical column order produces wrong EPE numbers and we'd rather error loudly.

May 19, 2026 Read More arrow_forward
ToolingOptics

Measured-Source and Zernike-Pupil I/O for the Hopkins Forward Model

OpenLithoHub's differentiable Hopkins/SOCS forward model now accepts measured source maps and Zernike-coefficient pupil aberrations loaded from common formats — drop in real scanner data instead of synthetic illuminations.

May 19, 2026 Read More arrow_forward
ReleaseAnnouncement

OpenLithoHub v0.1 — Open Computational Lithography for the AI Era

Announcing the public launch: unified dataset adapters, a real differentiable Hopkins/SOCS forward model, MRC as a hard gate, and a vendor-neutral simulator hook API. Read the full launch post on docs.openlithohub.com.

May 19, 2026 Read More arrow_forward
ResearchEUV

EUV 3D-Mask Shadowing as a First-Order Eval Metric

Why thin-mask Hopkins disagrees with rigorous Maxwell at 3nm and below — and how a cheap anisotropic shadow operator gives a useful proxy without paying for a full EMF solver.

May 19, 2026 Read More arrow_forward
TutorialArchitecture

Vendor-Neutral Simulator Hooks: Plug Calibre or Tachyon Without Forking

A new BaseSimulator ABC lets labs with commercial simulators use them as ground-truth oracles without rewiring the framework. Reference Hopkins adapter included.

May 19, 2026 Read More arrow_forward
ToolingDatasets

PDK-Aware Synthetic Layouts: SRAM, Contacts, Random Logic — MRC-Clean by Construction

Three rule-based pattern generators on FreePDK45 / ASAP7 ship in v0.1. Layouts are guaranteed to pass the MRC gate by construction. The diffusion path is stubbed out and pinned to RFC 0001 + 0002.

May 19, 2026 Read More arrow_forward
RFCRoadmap

Roadmap: RFC 0001 (Layout-MAE) and RFC 0002 (Layout Tokens)

Two design RFCs lock in the v0.2 path: a small ViT-S MAE pretrained on rasterised PDK layouts as the open backbone, and a polygon-vertex tokeniser that round-trips losslessly and replaces the diffusion stub with an autoregressive sequence model.

May 19, 2026 Read More arrow_forward
TutorialResearch

Introducing Curvilinear Mask Support in OASIS Workflow

The new B-spline fitting engine enables smooth curvilinear contour export, reducing mask write time by 18% compared to Manhattan approximations.

September 28, 2024 Read More arrow_forward
Announcement

LithoSim Dataset Now Available via HuggingFace

Our partnership with NeurIPS'25 brings the first large-scale sub-28nm lithography simulation dataset to the open-source community.

September 10, 2024 Read More arrow_forward
Research

How EUV Stochastic Metrics Predict Yield Loss

A deep dive into our Monte Carlo photon noise simulation and how it correlates with real-world fab yield data at the 3nm node.

August 22, 2024 Read More arrow_forward