Infrastructure selection for training
Compare plans for local GPU, HPC, and cloud before executing the selected candidate.
Import this workflow from AkôFlow Hub
Open the public README and measured execution results. The Hub includes the execution capture, activity metrics, logs and version history. Reading public results does not require an account.
In Desktop, choose Create workflow → Import from Hub and paste this version-specific URI:
akoflow://hub/publications/1fea5285-4538-4e67-a8f6-343eea1ff0cb/versions/1
Download the exact workflow YAML (v1). Configure the runtime prerequisites below before planning and executing it.
Run this example locally
Measure a local CPU model fit, compare three infrastructure plans using explicitly declared speed/startup/price assumptions, select a plan, and train the final model locally. This smoke example provisions no infrastructure and reports estimates separately from measured error.
Install Go and Python 3.12 or newer.
git clone https://github.com/UFFeScience/akoflow-examples.git &&
cd akoflow-examples &&
git checkout --detach d890c3171e3661890305b763b8fc3ede48bb61b4 &&
cd machine-learning/infrastructure-selection &&
./prepare.sh &&
./run.sh
Run the block from the directory where you keep your repositories. If you already cloned the repository, enter this example's directory and run ./prepare.sh && ./run.sh.
Preparation downloads the Go module and any declared Python packages once. The workload then runs locally with offline input data. Every meaningful step is a separate process; independent activities run in parallel after their dependencies complete.
Read outputs/manifest.json for the generated artifacts, outputs/dag-validation.json for dependency waves, and outputs/stage-<activity>.json for each activity's observed result. A failed stage stops the run and prevents a successful final manifest.
Expected outputs: decision.json, cost-comparison.csv.
Run the same activities in Desktop
Start your local AkôFlow daemon with Docker available and configure AKOFLOW_API_TOKEN in your shell. From this example's directory, run:
go run ../../tools/daemon-local -root ../.. -example machine-learning/infrastructure-selection
This command validates the daemon connection, builds the declared image, registers the local environment and workflow, and submits a real run. The daemon owns execution and file transfers. Open the printed run ID in Desktop to inspect each activity.
Activity responsibilities
| Activity | Responsibility |
|---|---|
profile-workload | Execute the profile-workload stage and publish its declared outputs for downstream activities. |
local-gpu | Execute the local-gpu stage and publish its declared outputs for downstream activities. |
hpc | Execute the hpc stage and publish its declared outputs for downstream activities. |
cloud | Execute the cloud stage and publish its declared outputs for downstream activities. |
compare-plans | Execute the compare-plans stage and publish its declared outputs for downstream activities. |
select-scope | Execute the select-scope stage and publish its declared outputs for downstream activities. |
train | Execute the train stage and publish its declared outputs for downstream activities. |
Inputs
- Workflow profile
- Execution scopes
- Budget and deadline
Outputs
- decision.json
- cost-comparison.csv
Provenance to preserve
- Planner version
- Predictions
- Plan-versus-observed error
Source bundle
The executable workflow and its implementation files are maintained in the separate AkôFlow examples repository. The documentation intentionally keeps code, container recipes, generators, and validation scripts out of the narrative page.
Open the complete source bundle ↗Execution evidence
Verified on local Docker: 7/7 activities completed. These captures belong to run showcase-infrastructure-selection-local-a206990755-run-20261020t191013.331438000.
Read the daemon execution record · Local output manifest
Each stage also ran through the standalone local command. Read the dependency and artifact validation.
profile-workload
After: workflow start.
local-gpu
After: profile-workload.
hpc
After: profile-workload.
cloud
After: profile-workload.
compare-plans
After: local-gpu, hpc, cloud.
select-scope
After: compare-plans.
train
After: select-scope.
Execution considerations
Evaluate candidates with frozen inputs and one common model. Queue planning experiments so concurrent load does not distort evidence.
AkôFlow boundary: the engine schedules, deploys, executes, transfers data, and records evidence. The ML or agent framework remains an implementation choice inside each activity.