A model-agnostic evaluation framework for OPC/ILT research. Standardized EPE / PV-band / MRC metrics, a fully differentiable PyTorch Hopkins forward model, and an end-to-end OASIS workflow — bridging tensor-level optimization and fab-ready mask data.
Pure-PyTorch SOCS-truncated partial-coherence imaging supporting circular / annular / dipole / quasar illumination. The whole optical path is auto-differentiable — drop it into any ILT or end-to-end AI-OPC training loop.
EPE, PV Band, shot count and EUV stochastic robustness, computed identically across every model so leaderboard numbers are actually comparable.
MRC and DRC checks as hard-fail gates — DTCO process-node parameters bundled.
Tiling, contour extraction (manhattan & curvilinear), B-spline fitting and OASIS export through KLayout.
A minimal LithographyModel interface — heuristic, U-Net, diffusion or curvyILT, plug it in and benchmark.
The Hopkins forward model is a regular PyTorch op — autograd flows through SOCS kernels, the resist threshold and the loss. ILT, Neural-OPC, end-to-end mask training: all just .backward().
baselines/results.json # pip install openlithohub import torch from openlithohub._utils.hopkins import ( HopkinsParams, compute_socs_kernels, simulate_aerial_image_hopkins, ) mask = torch.zeros(64, 64, requires_grad=True) params = HopkinsParams(wavelength_nm=193, na=1.35, sigma=0.7) kernels, weights = compute_socs_kernels(params, 64, mask.device) aerial = simulate_aerial_image_hopkins( mask, kernels=kernels, weights=weights) loss = (aerial - target).pow(2).mean() loss.backward() # gradients flow through the optics
Join hundreds of researchers contributing to the open-source future of semiconductor manufacturing.