Files
Advait Paliwal 7024a86024 Replace Pi tool registrations with skills and CLI integration
- Remove all manually registered Pi tools (alpha_search, alpha_get_paper,
  alpha_ask_paper, alpha_annotate_paper, alpha_list_annotations,
  alpha_read_code, session_search, preview_file) and their wrappers
  (alpha.ts, preview.ts, session-search.ts, alpha-tools.test.ts)
- Add Pi skill files for alpha-research, session-search, preview,
  modal-compute, and runpod-compute in skills/
- Sync skills to ~/.feynman/agent/skills/ on startup via syncBundledAssets
- Add node_modules/.bin to Pi subprocess PATH so alpha CLI is accessible
- Add /outputs extension command to browse research artifacts via dialog
- Add Modal and RunPod as execution environments in /replicate and
  /autoresearch prompts
- Remove redundant /alpha-login /alpha-logout /alpha-status REPL commands
  (feynman alpha CLI still works)
- Update README, researcher agent, metadata, and website docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 00:38:45 -07:00

1.4 KiB

name, description
name description
modal-compute Run GPU workloads on Modal's serverless infrastructure. Use when the user needs remote GPU compute for training, inference, benchmarks, or batch processing and Modal CLI is available.

Modal Compute

Use the modal CLI for serverless GPU workloads. No pod lifecycle to manage — write a decorated Python script and run it.

Setup

pip install modal
modal setup

Commands

Command Description
modal run script.py Run a script on Modal (ephemeral)
modal run --detach script.py Run detached (background)
modal deploy script.py Deploy persistently
modal serve script.py Serve with hot-reload (dev)
modal shell --gpu a100 Interactive shell with GPU
modal app list List deployed apps

GPU types

T4, L4, A10G, L40S, A100, A100-80GB, H100, H200, B200

Multi-GPU: "H100:4" for 4x H100s.

Script pattern

import modal

app = modal.App("experiment")
image = modal.Image.debian_slim(python_version="3.11").pip_install("torch==2.8.0")

@app.function(gpu="A100", image=image, timeout=600)
def train():
    import torch
    # training code here

@app.local_entrypoint()
def main():
    train.remote()

When to use

  • Stateless burst GPU jobs (training, inference, benchmarks)
  • No persistent state needed between runs
  • Check availability: command -v modal