Go to file
yutianyu e255552a94 chore: add requirements.txt and update README setup/validate instructions
Co-authored-by: wawahejun <hejunlbbc@gmail.com>
2026-05-05 16:50:18 +08:00
cmake feat: scaffold operator runtime backends 2026-05-05 16:50:18 +08:00
examples feat: unify example backends and shared test cases 2026-05-05 16:50:18 +08:00
include/operator_runtime feat: scaffold operator runtime backends 2026-05-05 16:50:18 +08:00
ops feat: unify example backends and shared test cases 2026-05-05 16:50:18 +08:00
python/operator_runtime refactor: reorganize operator benchmarks 2026-05-05 16:50:18 +08:00
tests refactor: organize per-operator test runners 2026-05-05 16:50:18 +08:00
tools feat: scaffold operator runtime backends 2026-05-05 16:50:18 +08:00
.cnb.yml feat: add cnb 2026-05-05 16:50:18 +08:00
.gitignore chore: add project ignore rules 2026-05-05 16:50:18 +08:00
CMakeLists.txt feat: scaffold operator runtime backends 2026-05-05 16:50:18 +08:00
README.md chore: add requirements.txt and update README setup/validate instructions 2026-05-05 16:50:18 +08:00
requirements.txt chore: add requirements.txt and update README setup/validate instructions 2026-05-05 16:50:18 +08:00

README.md

Operator Runtime Training Camp

This repository is a training-oriented GPU operator runtime. It is intentionally small, but its workflow mirrors production operator libraries:

  1. Define the operator contract in ops/<op>/operator.yaml.
  2. Generate build and runtime registries from the manifest.
  3. Implement a backend-specific descriptor lifecycle.
  4. Expose a Python API with out-of-place, out-variant, and prepared execution.
  5. Validate correctness against PyTorch and benchmark steady-state execution.

Operators

Operator NVIDIA C++ TileLang MetaX
copy runnable runnable when TileLang is installed stub
vector_add runnable runnable when TileLang is installed stub
reduce_sum runnable, row-wise fp32 runnable when TileLang is installed stub
softmax runnable, row-wise fp32 runnable when TileLang is installed stub

Setup

pip install -r requirements.txt

Build

mkdir -p build
cd build
cmake .. -DCAMP_ENABLE_NVIDIA=ON -DCAMP_ENABLE_METAX=OFF
cmake --build . -j$(nproc)

Validate

python tools/validate_operator_manifest.py --ops-root ops --tests-root tests
python tests/run_ops.py --op copy --backend nvidia --mode all
CAMP_BUILD_DIR=build pytest tests/ -v --backend nvidia
pytest tests/ -v --backend tilelang
python tests/bench_all.py --backend nvidia --profile tests/perf_profiles/local_gpu.yaml

The TileLang backend requires the tilelang Python package.

Production Mapping

Training concept Production equivalent
operator.yaml reviewed operator spec / manifest
descriptor lifecycle create, workspace, execute, destroy
generated registry operation table / backend registry
tests/cases/<op>.py correctness, layout, and API contract coverage
PerformanceResult profiler report row with latency, bytes, flops, bandwidth
eager TileLang kernel puzzle-stage kernel using T.empty(...) return values
lazy TileLang out_idx template TileOPs-style kernel factory and output-position contract