JuliaCon 2026

How We Made Julia Make Microchips
2026-08-14 , Room 5

ASML builds the lithography machines that enable the world’s most advanced microchips. For our newest DUV systems, Julia has become part of the control software stack—directly participating in algorithms that influence wafer quality and overall system performance.

At JuliaCon 2025 we shared our early exploration and our intention to use Julia in production. One year later, we are excited to report concrete results: we successfully exposed wafers on a prototype machine using a Julia library built with juliac/PackageCompiler, and the performance, stability, and developer experience were all very promising.

In this talk, we will share how we designed, optimized, and deployed time‑critical Julia code in an environment where algorithms must complete within strict millisecond‑level deadlines, remain predictable, and integrate with a large, safety‑critical control system written in multiple languages.

We will highlight the architecture patterns we adopted, the trade‑offs we had to make, and a collection of “unexpected lessons” from working with Julia in a real industrial setting.


Control algorithms inside a lithography system must satisfy demanding timing constraints. They are mathematically nontrivial, involve real‑time data flows, and are executed on machines that simply cannot miss a deadline. Bringing Julia into this environment required us to think carefully about compilation pipelines, memory behavior, determinism, integration boundaries, and observability.

In this talk we will discuss:

  • Our general approach to time‑critical Julia algorithms
    How we design the algorithmic code, how we structure the surrounding Julia modules, and how we ensure that the core logic can be analyzed, tested, and optimized independently of the machine.
  • Bridging production and testing environments
    How we co‑develop algorithms in simulation and on‑machine setups, what kinds of differences matter, and how we keep Julia code consistent across both.
  • Compilation and deployment challenges
    A practical look at our experience with PackageCompiler and JuliaC, including:
  • latency considerations
  • binary portability
  • ABI boundaries
  • linking against a larger C/C++ ecosystem

We will share the pitfalls that surprised us the most—especially those specific to embedding Julia in a non‑Julia control stack.
* What worked extraordinarily well
Where Julia exceeded our expectations in performance, productivity, or reliability, and which language features made the biggest difference.
* What to watch out for when bringing Julia to production
Realistic expectations, dos and don’ts, and general advice for teams embedding Julia into industrial systems.

Our goal is to give the Julia community a realistic, experience-based look at using Julia for production-grade, time‑critical applications. We hope this will help others who are considering Julia for high‑performance or industrial workloads.

Software Architect in ASML working on Julia algorithms in the near real time system.
GitHub

This speaker also appears in:

Born in Mexico City. Studied a Bachelors in Chemical Engineering at UNAM. M.Sc. on Materials Science and Engineering at MIT. Studied PhD at TU Eindhoven on Applied Physics.
Worked for Philips Research 1 year.
Working at ASML for 13 years on algorithms.

This speaker also appears in: