alpasim_wizard) is AlpaSim’s configuration and deployment tool. It generates service configurations, manages Docker containers, and orchestrates distributed simulations.
Installation
The wizard is installed as part of the AlpaSim workspace:Usage
The wizard is invoked with a YAML configuration file:Configuration File
The wizard configuration is structured using OmegaConf/Hydra:Configuration Sections
Wizard Section
Unique identifier for this experiment run
Deployment method:
docker_compose: Docker Compose orchestrationslurm: SLURM cluster deploymentnone: Generate configs without running
Execution mode:
batch: Normal batch processingattach_bash: Interactive bash session in containerattach_vscode: VSCode remote debugging
Output directory for logs, configs, and results
Global log level:
DEBUG, INFO, WARNING, ERRORStarting port for service allocation (increments for each service)
External service addresses (for hybrid local/container setups)
Scenes Section
Test suite identifier from
suites_csv (mutually exclusive with scene_ids)Explicit list of scene IDs to simulate (mutually exclusive with
test_suite_id)Limit number of scenes (0 = no limit)
Directory containing scene USDZ files
Local directory with USDZ files (bypasses CSV files)
Services Section
Each service has similar configuration:Docker image name and tag
Number of service instances (for load balancing)
GPUs to allocate per instance (default: 0)
CPUs to allocate per instance (default: 4)
Memory in GB (SLURM only)
Environment variables for the service
Core Functionality
AlpasimWizard Class
Main entry point for the wizard:Factory method to create wizard from configuration
Main execution method:
- Clone driver code (if configured)
- Generate Docker Compose / SLURM configs
- Deploy services based on run_method
Clone driver repository to log directory if
driver_code_hash is setWizardContext
Shared context for wizard operations:ConfigurationManager
Generates service-specific configurations:Deployment Methods
Docker Compose
Generatesdocker-compose.yaml and run.sh:
SLURM
Generates SLURM batch scripts and submits jobs:None (Config Only)
Generate configurations without running:Advanced Features
Debug Flags
Enable debugging features:Driver Code Cloning
Clone specific driver version:${log_dir}/driver_code/.
Hybrid Deployments
Run some services locally, others in containers:Scene Selection
Generated Files
The wizard creates the following structure in${log_dir}:
Output Structure
Simulation results follow this hierarchy:- rollouts/: Top-level output directory
- /: Per-scene directory
- batch_/: Batch of parallel rollouts
- rollout_/: Individual rollout
simulation.asl: AlpaSim Simulation Logmetrics.parquet: Evaluation metrics*.jpg: Rendered images (if enabled)
- rollout_/: Individual rollout
- batch_/: Batch of parallel rollouts
- /: Per-scene directory
CLI Arguments
Path to YAML configuration file
Hydra-style configuration overrides
Example Workflows
Environment Variables
The wizard respects these environment variables:Automatically set by SLURM (used for job tracking)
SLURM account for GPU partition (if not overridden in config)
Related
- Runtime Module - Executed by wizard
- Evaluation Module - Configured by wizard
- gRPC Services - Deployed by wizard
CLI Commands
alpasim_wizard
Main wizard command for configuration and deployment.alpasim_check_config
Validates wizard configuration without running simulation. Useful for quick config checks on login nodes.- Validates YAML syntax and schema
- Checks NRE version compatibility
- Verifies scene availability
- Validates service configurations
- Does not launch any services