# Quick guide: ML engineer

GPUs, per-call resource requests, and which optimizations the runtime applies on your behalf, plus how to confirm work actually reached the GPU.

Source: https://university.eugo.io/resources/quick-guide-ml-engineer

---

- Kind: Quick guide
- Topics: gpu-acceleration, ai-ml, performance

## What you need to know first

- **PyTorch, not TensorFlow** — Eugo does not support TensorFlow, spaCy, or JAX. Plan around PyTorch.
- **Ask for GPUs per call** — Resource requirements go on the call site via .options(num_gpus=...), not on the function definition. Mixed pipelines should request GPUs only where needed.
- **Offloading is automatic but conditional** — Eugo moves heavy array work to GPUs when the transfer is worth paying for. Small arrays stay on CPU by design. Verify where work ran rather than assuming.

## For long-lived state

- **Use an actor for an expensive model** — If loading the model costs more than the inference, decorate a class instead of a function. The actor holds the loaded model across many method calls.

