In ACE-Echo, a task contains computation written in Venus C. A DAG connects tasks through their inputs and returns. The selected backend keeps compiler geometry, memory conventions and simulation settings consistent.

  1. 01DefineInputs, outputs and reference
  2. 02DevelopVenus C tasks + BAS DAG
  3. 03SimulateGem5 on a selected backend
  4. 04EvaluateOutput agreement + timing
The ACE-Echo 1.0 software development loop. Hardware and RTL validation are separate steps.

Start with a working example

After installing the release, inspect workloads/5g_lite/tasks/forge_vector_smoke/. It contains two C tasks, one BAS graph and a small host reference. The first task adds two signed vectors; the second uses the upstream result to restore the first input. The smoke checks the complete outputs for its declared cases.

forge_vector_smoke/
├── Task_forgeAdd.c
├── Task_forgeRestore.c
├── forge_vector_smoke.bas
├── reference.py
└── run.py

Separate the contracts

Contract What to decide
Numerical behavior Element type, signedness, overflow, rounding and expected outputs
Task interface Input order, returned values and actual returned byte counts
Graph Dependencies and the values exposed as application outputs
Hardware A single explicit backend for compilation and simulation
Evidence The input cases, reference, output coverage and timing interval

The Venus guide introduces task code. The DSL guide describes BAS and compilation. The Scheduler guide explains application-contract execution.

Run and inspect

make smoke

The installation smoke writes a new run directory. General CLI operations record commands, logs and artifact identities under runs/. Gem5 outputs and task/DAG traces are collected when the selected operation produces them. Use the generated run manifest to locate artifacts instead of assuming the old Debug/emular_vins_result/ directory.

Fast mode is the normal development route. It reduces expensive observations while retaining the timing model; simulator agreement and independent algorithm correctness remain separate checks.

Develop with an Agent

Forge initializes and records a request. An AI coding host reads the repository skill and drives compile, run and compare operations with developer guidance. See the Forge onboarding instructions.

Earlier task-folder screenshots and VEMU instructions are retained in the original programming guide source. They describe the legacy workflow.