What is Eugo?
Eugo is a cloud platform for high-performance computing. You write ordinary Python in a browser-based notebook, and Eugo compiles, vectorizes, and distributes it across a cluster of ARM and GPU compute nodes.
No servers to provision, no environments to configure, no autoscaling policy to tune.
The shape of it
Three things, and the relationship between them:
| Thing | What it is |
|---|---|
| Interactive session | A running EugoIDE instance in your browser. Where you write code. |
| Cluster | A head node plus compute nodes, launched on demand. Where code runs at scale. |
| Workspace | The environment that owns your storage, libraries, and resource allocation. |
You open a session inside a workspace. From that session you launch a cluster. Your notebook code dispatches work to the cluster and collects results back. When the work is done you shut the cluster down, and the session stays open for the next thing.
What you actually write
The API is deliberately small. Here is a complete distributed program:
import eugo.hpc
@eugo.hpc.distribute
def process(partition):
# Ordinary Python. Nothing here knows it is running on a cluster.
return expensive_transform(partition)
futures = [process(p) for p in partitions]
results = eugo.hpc.get(futures)
Two things changed from a single-machine version: a decorator on the function, and one call to
resolve the results. The body of process is unmodified.
That is the design goal. Notebook code stays readable, with no .remote() on every call site, no
explicit cluster initialization, and no separate configuration file describing your topology.
eugo namespace is emptyimport eugo on its own gives you nothing. The distributed-compute API lives under eugo.hpc, so
import eugo.hpc is the import you want.
What Eugo is not
The phrase "cloud HPC platform" covers a lot of ground, so here are the boundaries.
- Not a managed Kubernetes. You do not write manifests or think about pods.
- Not a job scheduler you submit scripts to. Work is dispatched interactively from a notebook.
- Not a rewrite of your analysis. Your pandas, NumPy, and scientific Python code carries over.
Supported libraries
The scientific Python stack is preinstalled and supported: NumPy, pandas, SciPy, scikit-learn, PyTorch, and the usual geospatial and imaging libraries.
Eugo does not support TensorFlow, spaCy, or JAX. If your pipeline depends on one of them, plan for that before you migrate. It is the constraint most likely to surprise you.
What comes next
The next lesson covers why this exists: the specific problem that makes provisioning your own instances unattractive. If you would rather see it working first, skip ahead to opening your first session.
Video: What is Eugo, in 90 seconds. Same material, with a transcript.