Skip to content

Linux beside Aspen Plus

AI | seedling | planted 2026-10-11 | tended 2026-10-11 | 437 words, 2 min

Why the AI and data stack lives in a Linux layer under Windows rather than replacing it, and what that layer holds.

Aspen Plus runs on Windows and nowhere else, and that one fact shaped the whole layout of the workstation. A process engineer who gives up the steady-state simulator to get a cleaner machine learning environment has traded the wrong thing.

The choice was between three layouts. A dual boot keeps both systems but makes switching a reboot, which is enough friction that one side goes unused. A live USB is a demonstration, not a workstation. The Windows Subsystem for Linux, version 2, runs a real Ubuntu kernel inside Windows, shares the file system, and passes the GPU through, so CUDA work in Linux sees the same RTX 4090 that the Windows tools see.11NVIDIA’s CUDA on WSL guide describes GPU passthrough to the WSL2 kernel; the driver lives on the Windows side and the CUDA toolkit inside Ubuntu. That is the layout in use: Windows 11 on the metal, Ubuntu 24.04 in the subsystem, Aspen Plus on one side and everything data-shaped on the other.

The Linux side holds the Python environment, managed with uv or conda, carrying the engineering stack I already had: scikit-learn, XGBoost and SHAP for tabular models, SIPPY for system identification, CasADi and Pyomo for optimization, BioSTEAM for techno-economic models. It also holds Docker, which runs Open WebUI, and will hold Ollama when the move from LM Studio happens.

Time-series data from a pilot unit arrive as thousands of tags at thirty-second intervals over weeks, which is tens of millions of rows per campaign in the worst case. Excel is the wrong container above a few hundred thousand rows and a database server is more than one person needs. Parquet files queried with DuckDB sit in between: columnar, compressed, fast to scan, and readable from Python without a running service.22DuckDB reads Parquet directly and runs analytical SQL in process; the documentation covers the Python package and the Parquet reader. The pattern is general and nothing in it is specific to any one unit.

What has surprised me is how little I miss on the Windows side. The simulator, the office tools and the vault application stay where they are. The terminal, the models and the data moved. The two meet at a shared folder, and a result computed in Linux opens in Excel without ceremony.

Still open is the laptop. A Surface Pro cannot run this layout well, and the question is whether the next portable machine is a Linux laptop that reaches the desktop over Tailscale or a second Windows machine with the same subsystem.

Footnotes

  1. NVIDIA’s CUDA on WSL guide describes GPU passthrough to the WSL2 kernel; the driver lives on the Windows side and the CUDA toolkit inside Ubuntu. ↩

  2. DuckDB reads Parquet directly and runs analytical SQL in process; the documentation covers the Python package and the Parquet reader. ↩

Sources

  1. Microsoft (2025). Windows Subsystem for Linux documentation. https://learn.microsoft.com/windows/wsl/
  2. NVIDIA (2025). CUDA on WSL user guide. https://docs.nvidia.com/cuda/wsl-user-guide/
  3. DuckDB documentation. https://duckdb.org/docs/