terradev-cli 3.7.1__tar.gz → 3.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- terradev_cli-3.7.2/CHANGELOG_v3.7.1.md +77 -0
- terradev_cli-3.7.2/CUCO_INTEGRATION_GUIDE.md +341 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/PKG-INFO +28 -29
- {terradev_cli-3.7.1/terradev_cli → terradev_cli-3.7.2}/README.md +26 -27
- terradev_cli-3.7.2/build_v3.7.1.sh +42 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/pyproject.toml +2 -2
- {terradev_cli-3.7.1 → terradev_cli-3.7.2/terradev_cli}/README.md +26 -27
- terradev_cli-3.7.2/terradev_cli/__init__.py +10 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/setup.py +2 -2
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/PKG-INFO +28 -29
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/SOURCES.txt +9 -0
- terradev_cli-3.7.2/test_cli_ux_battle.py +559 -0
- terradev_cli-3.7.2/test_cli_ux_battle_fixed.py +654 -0
- terradev_cli-3.7.2/test_cli_ux_final.py +524 -0
- terradev_cli-3.7.2/test_final_integration.py +355 -0
- terradev_cli-3.7.2/test_integrated_optimization.py +449 -0
- terradev_cli-3.7.2/test_p10_production_failover.py +667 -0
- terradev_cli-3.7.1/terradev_cli/__init__.py +0 -11
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.clawhubignore +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.ebextensions/python.config +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.env.example +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.env.template +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.github/workflows/ci.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.github/workflows/deploy.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.github/workflows/release.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/.github/workflows/static.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/BingSiteAuth.xml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/Dockerfile +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/Dockerfile.hub +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/LICENSE +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/MANIFEST.in +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/PAGES_README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/PROGRESS_UPDATE_JUPYTER.ipynb +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/README_ACTION.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/README_DOCKER.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/README_JUPYTER.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/README_long.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/SKILL.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/USER_GUIDE.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/VLLM_OPTIMIZATION_SUMMARY.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/action.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/action.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/activations/973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/ai-discovery.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/analysis/api-differences-comparison.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/analysis/cost-structure-differences.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/analysis/inference-arbitrage-pivot.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/apis/free-apis-latency-arbitrage.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/b2b_roi_analysis.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/bucket-policy.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/business/compute-arbitrage-business.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/byoapi_real_snapshot.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/rag-template/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/complete_weakness_resolution_report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/config.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/demo/generate_gif.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/demo/terradev-demo.gif +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/demo_k8s_config.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docker-compose.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/architecture.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/index.html +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/robots.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/docs/sitemap.xml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/eb_deploy.zip +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/genius_data_storage/data_compressor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/genius_data_storage/genius_data_demo.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/genius_data_storage/integrity_verifier.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/genius_data_storage/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/genius_data_storage/zero_egress_accessor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/gpu-check.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/grafana_training_dashboard.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/helm/terradev/values.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/high_throughput_workload.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/index.html +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/cli-tool.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/docker-integration.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/kaggle_notebooks/01_hf_spaces_cost_optimization.ipynb +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/llms.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/provider.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/modules/datadog/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/nginx.conf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/openclaw-skill/terradev-gpu-cloud/.clawhubignore +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/openclaw-skill/terradev-gpu-cloud/LICENSE +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/openclaw-skill/terradev-gpu-cloud/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/openclaw-skill/terradev-gpu-cloud/SKILL.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/openclaw-skill/terradev-gpu-cloud/gpu-check.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/parallel_provisioning.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/partnerships/brand-partnerships.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/partnerships/partnership-roadmap.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/pricing_analysis_report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/prometheus_training_config.yml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/provision_based_pricing_analysis.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/pypi_traffic_report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/pyproject_v2.toml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/real_day_one_snapshot.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/remaining_25_analysis_report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/render.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/requirements-render.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/requirements.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/requirements_api.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/requirements_eb.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/requirements_stripe.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/robots.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/sample_workload.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/setup/account-setup-guide.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/setup/setup.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/setup.cfg +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/sitemap.xml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/telemetry_production.db-shm +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/telemetry_production.db-wal +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/README_old.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/README_with_emojis.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/__main__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/bandit-report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/auth.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/checkpoint_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/config.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/cost_scaler.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/cost_tracker.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/dag_executor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/data_governance.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/dataset_stager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/deployment_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/drift_detector.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/egress_optimizer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/gitops_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/gpu_topology.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/helm_generator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/helm_generator_old.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/hf_cli_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/hf_smart_templates.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/hf_spaces.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/inference_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/job_state_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/manifest_cache.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/model_orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/parallel_provisioner.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/preflight_validator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/price_discovery.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/price_discovery_mock.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/price_intelligence.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/quick_start.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/rate_limiter.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/ssh_key_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/stripe_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/telemetry.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/telemetry_backup.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/terradev_engine.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/tier_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/trace_viewer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/training_monitor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/training_orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/core/warm_pool_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/integrations/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/integrations/datadog_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/integrations/prometheus_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/integrations/wandb_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/dvc_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/guardrails_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/huggingface_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/kserve_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/kubernetes_enhanced_fixed.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/langchain_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/langgraph_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/langsmith_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/lmcache_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/mlflow_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/ollama_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/phoenix_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/qdrant_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/ray_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/sglang_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/vllm_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/ml_services/wandb_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/alibaba_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/aws_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/azure_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/base_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/baseten_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/coreweave_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/crusoe_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/demo_mode.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/digitalocean_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/fluidstack_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/gcp_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/hetzner_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/huggingface_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/hyperstack_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/inferx_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/oracle_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/provider_factory.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/real_pricing.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/runpod_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/siliconflow_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/tensordock_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/providers/vastai_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/terradev_cli/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/terradev_cli/cli.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/utils/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/build/lib/utils/formatters.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_clean.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_final.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_optimization.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_optimization_fixed.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_optimization_simple.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_simple.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cli_tiered.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/config.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/helm_generator_old.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/manifest_cache.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/price_discovery_mock.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/stripe_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/telemetry_backup.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/tier_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/demo.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/kubernetes_enhanced_fixed.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/langsmith_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/ml_services/wandb_service.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/safety-report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/telemetry_protection.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terradev_cli/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terradev_cli/cli.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/requires.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform.tfvars.example +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_cli/README.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_cli/demo_usage.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_cli/install.sh +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_cli/terradev_cli.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/operations.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/test_vllm_optimization.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/Makefile +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/ci_pipeline.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/conftest.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/simple_test.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_dag_executor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_integration.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_job_state_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_providers.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_semantic_router.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_ssh_key_manager.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_training_monitor.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/volatility_charts/aws_a100_volatility.png +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/volatility_charts/aws_v100_volatility.png +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/volatility_charts/runpod_a100_volatility.png +0 -0
- {terradev_cli-3.7.1 → terradev_cli-3.7.2}/volatility_charts/runpod_v100_volatility.png +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Changelog v3.7.1
|
|
2
|
+
|
|
3
|
+
## 🚀 CUDA Graph Optimization with NUMA Awareness
|
|
4
|
+
|
|
5
|
+
### 🧠 Revolutionary Passive Optimization
|
|
6
|
+
- **Automatic CUDA Graph Detection**: Passively analyzes models for CUDA Graph compatibility without user intervention
|
|
7
|
+
- **NUMA-Aware Scoring**: Rates endpoints by CUDA Graph performance potential (PIX: 1.0, PXB: 0.8, PHB: 0.6, SYS: 0.3)
|
|
8
|
+
- **Model-Specific Intelligence**: Different optimization strategies for transformers, CNNs, and MoE models
|
|
9
|
+
- **Background Analysis**: Runs automatically every 5 minutes to optimize warm pool and endpoint selection
|
|
10
|
+
|
|
11
|
+
### 🔍 NUMA Topology Intelligence
|
|
12
|
+
- **GPU/NIC Alignment**: Automatically detects and prioritizes endpoints with optimal PCIe topology
|
|
13
|
+
- **Intra-GPU NUMA Support**: AMD MI300X XCD locality awareness for maximum performance
|
|
14
|
+
- **RDMA Optimization**: Boosts scores for endpoints with GPUDirect RDMA capabilities
|
|
15
|
+
- **Performance Estimates**: Provides 1.2-5x speedup estimates based on topology analysis
|
|
16
|
+
|
|
17
|
+
### 📊 Smart Model Detection
|
|
18
|
+
- **Transformers**: Highest priority (0.9 base score) - benefit most from CUDA Graphs
|
|
19
|
+
- **CNNs**: Moderate priority (0.7 base score) - benefit moderately
|
|
20
|
+
- **MoE Models**: Lower priority (0.4 base score) - dynamic routing challenges
|
|
21
|
+
- **Auto-detection**: Model types identified automatically from model IDs
|
|
22
|
+
|
|
23
|
+
### 🔄 Enhanced Warm Pool Manager
|
|
24
|
+
- **CUDA Graph Priority Boosting**: Graph-compatible models get higher warm pool priority
|
|
25
|
+
- **Endpoint Optimization**: Routes to NUMA-optimal endpoints automatically
|
|
26
|
+
- **Performance Tracking**: Monitors graph capture time and replay speedup
|
|
27
|
+
- **Background Optimization**: Continuous analysis without user configuration
|
|
28
|
+
|
|
29
|
+
### 🛠️ Integration Layer
|
|
30
|
+
- **Zero Configuration**: Everything works passively in the background
|
|
31
|
+
- **Auto-Enable**: CUDA Graph optimization enabled automatically on module import
|
|
32
|
+
- **Default Instances**: Easy access to optimization components
|
|
33
|
+
- **Graceful Fallback**: System continues to work if optimization fails
|
|
34
|
+
|
|
35
|
+
### 📈 Performance Improvements
|
|
36
|
+
- **2-5x speedup** for CUDA Graph workloads with optimal NUMA topology
|
|
37
|
+
- **30-50% bandwidth penalty eliminated** through automatic GPU/NIC alignment
|
|
38
|
+
- **Zero overhead** - no additional CLI commands or configuration required
|
|
39
|
+
- **Model-aware routing** - different strategies for different model types
|
|
40
|
+
|
|
41
|
+
## 🐛 Bug Fixes
|
|
42
|
+
- Fixed README duplication issue in PyPI descriptions
|
|
43
|
+
- Improved error handling in CUDA Graph optimization
|
|
44
|
+
- Enhanced NUMA topology detection accuracy
|
|
45
|
+
|
|
46
|
+
## 📦 Package Updates
|
|
47
|
+
- Updated version to 3.7.1 across all files
|
|
48
|
+
- Updated PyPI description to highlight CUDA Graph optimization
|
|
49
|
+
- Comprehensive README with complete tutorial
|
|
50
|
+
- Enhanced package metadata for better discoverability
|
|
51
|
+
|
|
52
|
+
## 🔧 Technical Details
|
|
53
|
+
- **New Files**:
|
|
54
|
+
- `terradev_cli/core/cuda_graph_integrator.py` - Integration layer
|
|
55
|
+
- Enhanced `terradev_cli/core/semantic_router.py` - NUMA-aware graph scoring
|
|
56
|
+
- Enhanced `terradev_cli/core/warm_pool_manager.py` - Graph-aware warming
|
|
57
|
+
- **Enhanced Files**:
|
|
58
|
+
- `terradev_cli/core/__init__.py` - Auto-enable optimization
|
|
59
|
+
- `terradev_cli/setup.py` - Updated description and version
|
|
60
|
+
- `README.md` - Complete tutorial with CUDA Graph content
|
|
61
|
+
|
|
62
|
+
## 🎯 Use Cases
|
|
63
|
+
This release is perfect for:
|
|
64
|
+
- **ML Engineers** deploying transformer models with maximum performance
|
|
65
|
+
- **Research Teams** working with large language models and MoE architectures
|
|
66
|
+
- **Production Teams** needing automatic optimization without manual tuning
|
|
67
|
+
- **Cloud Users** wanting to eliminate NUMA topology performance penalties
|
|
68
|
+
|
|
69
|
+
## 📚 Documentation
|
|
70
|
+
- Complete tutorial in README.md with 12-step guide
|
|
71
|
+
- Automatic optimization - no new CLI commands to learn
|
|
72
|
+
- Performance estimates and optimization potential indicators
|
|
73
|
+
- Model-specific recommendations automatically generated
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
**Note**: This is a passive optimization release. All features work automatically in the background without requiring any user configuration or new CLI commands.
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
# CUCo Integration Guide for Terradev
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide describes the complete integration of CUCo (Compute-Communication Co-design) into Terradev's optimization pipeline with p95-based performance boundaries and intelligent auto-application.
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
### Components
|
|
10
|
+
|
|
11
|
+
1. **CUCo Optimizer** (`terradev_cli/optimization/cuco_optimizer.py`)
|
|
12
|
+
- Analyzes workloads for CUCo optimization potential
|
|
13
|
+
- Generates optimized CUDA kernels with compute-communication fusion
|
|
14
|
+
- Validates against p95 performance boundaries
|
|
15
|
+
- Manages optimization lifecycle
|
|
16
|
+
|
|
17
|
+
2. **Auto Optimizer** (`terradev_cli/optimization/auto_optimizer.py`)
|
|
18
|
+
- Orchestrates comprehensive optimization pipeline
|
|
19
|
+
- Integrates CUCo with existing optimizations (warm pool, semantic routing, auto-scaling)
|
|
20
|
+
- Provides continuous monitoring and re-optimization
|
|
21
|
+
- Handles optimization decisions and rollbacks
|
|
22
|
+
|
|
23
|
+
3. **MCP Tools** (`terradev-mcp/terradev_mcp_cuco_tools.py`)
|
|
24
|
+
- 8 new MCP tools for CUCo integration
|
|
25
|
+
- Provides remote optimization capabilities via MCP protocol
|
|
26
|
+
- Enables Claude Desktop integration
|
|
27
|
+
|
|
28
|
+
4. **CLI Commands** (`terradev_cli/cli_optimization.py`)
|
|
29
|
+
- Command-line interface for optimization management
|
|
30
|
+
- Interactive analysis, benchmarking, and configuration
|
|
31
|
+
- P95 boundary validation
|
|
32
|
+
|
|
33
|
+
## P95 Performance Boundaries
|
|
34
|
+
|
|
35
|
+
### Workload Types and Boundaries
|
|
36
|
+
|
|
37
|
+
| Workload Type | Fusion Efficiency | Overlap Ratio | Speedup | Memory Util | Compute Util | Network Util |
|
|
38
|
+
|---------------|------------------|---------------|---------|-------------|--------------|--------------|
|
|
39
|
+
| Flash Attention | 0.87 | 0.78 | 1.13x | 0.82 | 0.91 | 0.72 |
|
|
40
|
+
| MoE Dispatch | 0.84 | 0.76 | 1.18x | 0.79 | 0.89 | 0.71 |
|
|
41
|
+
| KV Cache Transfer | 0.83 | 0.74 | 1.09x | 0.81 | 0.88 | 0.69 |
|
|
42
|
+
| GEMM + AllGather | 0.86 | 0.77 | 1.26x | 0.83 | 0.92 | 0.73 |
|
|
43
|
+
|
|
44
|
+
### Validation Criteria
|
|
45
|
+
|
|
46
|
+
- **Fusion Efficiency**: Ratio of fused kernel efficiency to p95 baseline
|
|
47
|
+
- **Overlap Ratio**: Communication-computation overlap percentage
|
|
48
|
+
- **Speedup**: End-to-end performance improvement
|
|
49
|
+
- **Resource Utilization**: Memory, compute, and network bandwidth utilization
|
|
50
|
+
|
|
51
|
+
## Auto-Application Logic
|
|
52
|
+
|
|
53
|
+
### Decision Framework
|
|
54
|
+
|
|
55
|
+
1. **Workload Analysis**
|
|
56
|
+
- GPU count ≥ 2
|
|
57
|
+
- Communication intensity ≥ 0.3
|
|
58
|
+
- Compatible workload types (LLM training, MoE, attention, inference)
|
|
59
|
+
- Supported network topologies (NVLink, InfiniBand, RoCE)
|
|
60
|
+
|
|
61
|
+
2. **Cost-Benefit Analysis**
|
|
62
|
+
- Minimum performance gain: 1.2x (20% improvement)
|
|
63
|
+
- Maximum cost increase: 50%
|
|
64
|
+
- Confidence score ≥ 70%
|
|
65
|
+
|
|
66
|
+
3. **P95 Compliance**
|
|
67
|
+
- All metrics must meet or exceed p95 boundaries
|
|
68
|
+
- Strict mode: 100% compliance required
|
|
69
|
+
- Normal mode: 80% compliance acceptable
|
|
70
|
+
|
|
71
|
+
### Optimization Pipeline
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
# Automatic optimization flow
|
|
75
|
+
1. Detect deployment/workload
|
|
76
|
+
2. Analyze workload characteristics
|
|
77
|
+
3. Check optimization prerequisites
|
|
78
|
+
4. Generate optimization plan
|
|
79
|
+
5. Validate against p95 boundaries
|
|
80
|
+
6. Apply optimizations if beneficial
|
|
81
|
+
7. Monitor performance continuously
|
|
82
|
+
8. Trigger re-optimization as needed
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Usage Examples
|
|
86
|
+
|
|
87
|
+
### CLI Usage
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Analyze deployment for optimization
|
|
91
|
+
terradev optimize analyze deploy_001 --workload-spec workload.json
|
|
92
|
+
|
|
93
|
+
# Apply optimizations automatically
|
|
94
|
+
terradev optimize analyze deploy_001 --auto-apply
|
|
95
|
+
|
|
96
|
+
# Benchmark optimization impact
|
|
97
|
+
terradev optimize benchmark deploy_001 --duration 15
|
|
98
|
+
|
|
99
|
+
# Get optimization recommendations
|
|
100
|
+
terradev optimize recommendations deploy_001
|
|
101
|
+
|
|
102
|
+
# Show optimization dashboard
|
|
103
|
+
terradev optimize dashboard
|
|
104
|
+
|
|
105
|
+
# Validate P95 boundaries
|
|
106
|
+
terradev optimize validate-p95 moe metrics.json
|
|
107
|
+
|
|
108
|
+
# Rollback optimizations
|
|
109
|
+
terradev optimize rollback deploy_001 --type cuco
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### MCP Usage
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"mcpServers": {
|
|
117
|
+
"terradev": {
|
|
118
|
+
"command": "npx",
|
|
119
|
+
"args": ["terradev-mcp"],
|
|
120
|
+
"env": {
|
|
121
|
+
"TERRADEV_PROVIDER": "runpod"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Available MCP tools:
|
|
129
|
+
- `analyze_workload_for_cuco`
|
|
130
|
+
- `deploy_optimized_kernels`
|
|
131
|
+
- `benchmark_optimization_impact`
|
|
132
|
+
- `auto_optimize_deployment`
|
|
133
|
+
- `get_optimization_recommendations`
|
|
134
|
+
- `rollback_optimization`
|
|
135
|
+
- `get_optimization_dashboard`
|
|
136
|
+
- `validate_p95_boundaries`
|
|
137
|
+
|
|
138
|
+
### Configuration
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"optimization": {
|
|
143
|
+
"auto_optimize": true,
|
|
144
|
+
"optimization_interval": 300,
|
|
145
|
+
"performance_threshold": 0.8,
|
|
146
|
+
"cost_threshold": 1.5,
|
|
147
|
+
"enable_cuco": true,
|
|
148
|
+
"cuco_config": {
|
|
149
|
+
"enabled": true,
|
|
150
|
+
"min_gpu_count": 2,
|
|
151
|
+
"min_communication_intensity": 0.3,
|
|
152
|
+
"min_performance_gain": 1.2,
|
|
153
|
+
"max_cost_increase": 0.5,
|
|
154
|
+
"auto_apply": true,
|
|
155
|
+
"monitoring_enabled": true,
|
|
156
|
+
"p95_strict_mode": false
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Implementation Details
|
|
163
|
+
|
|
164
|
+
### CUCo Kernel Generation
|
|
165
|
+
|
|
166
|
+
The system generates optimized CUDA kernels based on workload type:
|
|
167
|
+
|
|
168
|
+
1. **MoE Kernels**: Dispatch-compute-combine fusion with expert parallelism
|
|
169
|
+
2. **Attention Kernels**: Ring attention with pipelined KV rotation
|
|
170
|
+
3. **Training Kernels**: Gradient computation with AllReduce overlap
|
|
171
|
+
4. **Generic Kernels**: Adaptable compute-communication patterns
|
|
172
|
+
|
|
173
|
+
### Performance Monitoring
|
|
174
|
+
|
|
175
|
+
Continuous monitoring tracks:
|
|
176
|
+
- Latency and throughput metrics
|
|
177
|
+
- GPU utilization patterns
|
|
178
|
+
- Communication efficiency
|
|
179
|
+
- Cost per performance
|
|
180
|
+
- P95 compliance rates
|
|
181
|
+
|
|
182
|
+
### Rollback Mechanism
|
|
183
|
+
|
|
184
|
+
Safe rollback capabilities:
|
|
185
|
+
- Kernel version management
|
|
186
|
+
- Performance baseline restoration
|
|
187
|
+
- Configuration reversion
|
|
188
|
+
- Impact assessment
|
|
189
|
+
|
|
190
|
+
## Integration with Existing Features
|
|
191
|
+
|
|
192
|
+
### Warm Pool Integration
|
|
193
|
+
|
|
194
|
+
- Pre-compile CUCo kernels for warm pool instances
|
|
195
|
+
- Reduce cold start latency with optimized kernels
|
|
196
|
+
- Maintain optimization state across pool cycles
|
|
197
|
+
|
|
198
|
+
### Semantic Routing Integration
|
|
199
|
+
|
|
200
|
+
- Route requests to CUCo-optimized instances
|
|
201
|
+
- Balance optimization benefits with request patterns
|
|
202
|
+
- Dynamic routing based on performance metrics
|
|
203
|
+
|
|
204
|
+
### Auto-Scaling Integration
|
|
205
|
+
|
|
206
|
+
- Scale with CUCo-optimized configurations
|
|
207
|
+
- Maintain optimization benefits during scaling events
|
|
208
|
+
- Cost-aware scaling decisions
|
|
209
|
+
|
|
210
|
+
## Best Practices
|
|
211
|
+
|
|
212
|
+
### When to Use CUCo
|
|
213
|
+
|
|
214
|
+
**Ideal Workloads:**
|
|
215
|
+
- Multi-GPU distributed training
|
|
216
|
+
- Mixture of Experts (MoE) models
|
|
217
|
+
- Large-scale attention mechanisms
|
|
218
|
+
- High-communication workloads
|
|
219
|
+
|
|
220
|
+
**Minimum Requirements:**
|
|
221
|
+
- 2+ GPUs with NVLink/InfiniBand/RoCE
|
|
222
|
+
- Communication intensity ≥ 30%
|
|
223
|
+
- Compatible framework (PyTorch, TensorFlow)
|
|
224
|
+
- Sufficient memory bandwidth
|
|
225
|
+
|
|
226
|
+
### Performance Tuning
|
|
227
|
+
|
|
228
|
+
1. **Workload Characterization**
|
|
229
|
+
- Profile communication patterns
|
|
230
|
+
- Identify bottlenecks
|
|
231
|
+
- Measure baseline performance
|
|
232
|
+
|
|
233
|
+
2. **Boundary Validation**
|
|
234
|
+
- Validate against p95 standards
|
|
235
|
+
- Monitor compliance rates
|
|
236
|
+
- Adjust thresholds as needed
|
|
237
|
+
|
|
238
|
+
3. **Cost Management**
|
|
239
|
+
- Track optimization ROI
|
|
240
|
+
- Monitor cost per performance
|
|
241
|
+
- Set appropriate thresholds
|
|
242
|
+
|
|
243
|
+
### Monitoring and Maintenance
|
|
244
|
+
|
|
245
|
+
1. **Continuous Monitoring**
|
|
246
|
+
- Track performance trends
|
|
247
|
+
- Monitor p95 compliance
|
|
248
|
+
- Alert on degradation
|
|
249
|
+
|
|
250
|
+
2. **Regular Updates**
|
|
251
|
+
- Update p95 boundaries quarterly
|
|
252
|
+
- Refresh optimization profiles
|
|
253
|
+
- Review cost-benefit analysis
|
|
254
|
+
|
|
255
|
+
3. **Quality Assurance**
|
|
256
|
+
- Validate kernel compilations
|
|
257
|
+
- Test rollback procedures
|
|
258
|
+
- Document optimization outcomes
|
|
259
|
+
|
|
260
|
+
## Troubleshooting
|
|
261
|
+
|
|
262
|
+
### Common Issues
|
|
263
|
+
|
|
264
|
+
1. **Kernel Compilation Failures**
|
|
265
|
+
- Check GPU architecture compatibility
|
|
266
|
+
- Verify CUDA toolkit version
|
|
267
|
+
- Review kernel code syntax
|
|
268
|
+
|
|
269
|
+
2. **Performance Degradation**
|
|
270
|
+
- Validate p95 compliance
|
|
271
|
+
- Check resource utilization
|
|
272
|
+
- Review workload changes
|
|
273
|
+
|
|
274
|
+
3. **Cost Overruns**
|
|
275
|
+
- Adjust cost thresholds
|
|
276
|
+
- Review optimization frequency
|
|
277
|
+
- Consider selective optimization
|
|
278
|
+
|
|
279
|
+
### Debug Commands
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# Check optimization status
|
|
283
|
+
terradev optimize dashboard
|
|
284
|
+
|
|
285
|
+
# Validate configuration
|
|
286
|
+
terradev optimize config show
|
|
287
|
+
|
|
288
|
+
# Test specific workload
|
|
289
|
+
terradev optimize validate-p95 moe test_metrics.json
|
|
290
|
+
|
|
291
|
+
# Review optimization history
|
|
292
|
+
terradev optimize recommendations deploy_001
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Performance Benchmarks
|
|
296
|
+
|
|
297
|
+
### Expected Gains
|
|
298
|
+
|
|
299
|
+
| Workload Type | Average Speedup | Cost Increase | ROI |
|
|
300
|
+
|---------------|-----------------|---------------|-----|
|
|
301
|
+
| MoE Training | 1.18x | 15% | 1.2 |
|
|
302
|
+
| Attention | 1.13x | 10% | 1.3 |
|
|
303
|
+
| KV Cache | 1.09x | 8% | 1.1 |
|
|
304
|
+
| GEMM+AllGather | 1.26x | 20% | 1.3 |
|
|
305
|
+
|
|
306
|
+
### Real-World Results
|
|
307
|
+
|
|
308
|
+
- **Flash Attention**: 11.3% latency reduction, 37.7ms pipeline bubble elimination
|
|
309
|
+
- **MoE Dispatch**: 18% speedup with expert skewness handling
|
|
310
|
+
- **KV Cache Transfer**: 9.5% improvement in cache transfer latency
|
|
311
|
+
- **Distributed Training**: 26.2% improvement in large matrix operations
|
|
312
|
+
|
|
313
|
+
## Future Enhancements
|
|
314
|
+
|
|
315
|
+
### Planned Features
|
|
316
|
+
|
|
317
|
+
1. **Advanced Workload Detection**
|
|
318
|
+
- ML-based workload classification
|
|
319
|
+
- Automatic optimization profile selection
|
|
320
|
+
- Dynamic threshold adjustment
|
|
321
|
+
|
|
322
|
+
2. **Enhanced P95 Boundaries**
|
|
323
|
+
- Hardware-specific boundaries
|
|
324
|
+
- Workload-specific tuning
|
|
325
|
+
- Real-time boundary updates
|
|
326
|
+
|
|
327
|
+
3. **Multi-Cloud Optimization**
|
|
328
|
+
- Cross-cloud workload placement
|
|
329
|
+
- Provider-specific optimizations
|
|
330
|
+
- Cost-aware multi-cloud routing
|
|
331
|
+
|
|
332
|
+
### Research Integration
|
|
333
|
+
|
|
334
|
+
- Integration with latest CUCo research
|
|
335
|
+
- Support for new GPU architectures
|
|
336
|
+
- Advanced kernel synthesis techniques
|
|
337
|
+
- Hardware-aware optimization strategies
|
|
338
|
+
|
|
339
|
+
## Conclusion
|
|
340
|
+
|
|
341
|
+
The CUCo integration provides Terradev with enterprise-grade kernel optimization capabilities, delivering significant performance improvements while maintaining cost efficiency and operational simplicity. The p95-based boundary system ensures consistent, high-quality optimizations across diverse workloads and deployment scenarios.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 3.7.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 3.7.2
|
|
4
|
+
Summary: NUMA-aware GPU provisioning and orchestration for stateless MoE workloads of all sizes
|
|
5
5
|
Author-email: Terradev Team <team@terradev.com>
|
|
6
6
|
Maintainer-email: Terradev Team <team@terradev.com>
|
|
7
7
|
License: BUSL-1.1
|
|
@@ -84,17 +84,16 @@ Requires-Dist: build>=0.10.0; extra == "dev"
|
|
|
84
84
|
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
85
85
|
Dynamic: license-file
|
|
86
86
|
|
|
87
|
-
# Terradev CLI v3.7.
|
|
87
|
+
# Terradev CLI v3.7.2
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
NUMA-aware GPU provisioning and orchestration for stateless MoE workloads of all sizes
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
<img src="https://raw.githubusercontent.com/theoddden/Terradev/main/demo/terradev-demo.gif" alt="Terradev CLI Demo" width="800">
|
|
93
|
-
</p>
|
|
91
|
+

|
|
94
92
|
|
|
95
|
-
##
|
|
93
|
+
## What's New in v3.7.1
|
|
94
|
+
|
|
95
|
+
### CUDA Graph Optimization with NUMA Awareness
|
|
96
96
|
|
|
97
|
-
### 🧠 CUDA Graph Optimization with NUMA Awareness
|
|
98
97
|
Revolutionary passive CUDA Graph optimization that automatically analyzes and optimizes GPU topology for maximum graph performance:
|
|
99
98
|
|
|
100
99
|
```bash
|
|
@@ -106,31 +105,31 @@ terradev provision -g H100 -n 4
|
|
|
106
105
|
# Warm pool prioritizes graph-compatible models
|
|
107
106
|
```
|
|
108
107
|
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
108
|
+
#### Performance Gains:
|
|
109
|
+
- 2-5x speedup for CUDA Graph workloads with optimal NUMA topology
|
|
110
|
+
- 30-50% bandwidth penalty eliminated through automatic GPU/NIC alignment
|
|
111
|
+
- Zero configuration - everything runs passively in the background
|
|
112
|
+
- Model-aware optimization - different strategies for transformers vs MoE models
|
|
114
113
|
|
|
115
|
-
|
|
114
|
+
#### NUMA Topology Intelligence
|
|
116
115
|
- **PIX (Same PCIe Switch)**: Optimal for CUDA Graphs (1.0 score)
|
|
117
|
-
- **PXB (Same Root Complex)**: Very good (0.8 score)
|
|
116
|
+
- **PXB (Same Root Complex)**: Very good (0.8 score)
|
|
118
117
|
- **PHB (Same NUMA Node)**: Good (0.6 score)
|
|
119
118
|
- **SYS (Cross-Socket)**: Poor for graphs (0.3 score)
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
#### Model-Specific Optimization
|
|
122
121
|
- **Transformers**: Highest priority (0.9 base score) - benefit most from graphs
|
|
123
122
|
- **CNNs**: Moderate priority (0.7 base score) - benefit moderately
|
|
124
123
|
- **MoE Models**: Lower priority (0.4 base score) - dynamic routing challenges
|
|
125
124
|
- **Auto-detection**: Model types identified automatically from model IDs
|
|
126
125
|
|
|
127
|
-
|
|
126
|
+
#### Background Optimization
|
|
128
127
|
- **Passive Analysis**: Runs automatically every 5 minutes
|
|
129
128
|
- **Warm Pool Enhancement**: CUDA Graph models get higher priority
|
|
130
129
|
- **Endpoint Selection**: Routes to NUMA-optimal endpoints automatically
|
|
131
130
|
- **Performance Tracking**: Monitors graph capture time and replay speedup
|
|
132
131
|
|
|
133
|
-
##
|
|
132
|
+
## Complete Tutorial
|
|
134
133
|
|
|
135
134
|
### Step 1: Install Terradev
|
|
136
135
|
```bash
|
|
@@ -160,7 +159,7 @@ This shows you where to get your API key. Then configure it:
|
|
|
160
159
|
terradev configure --provider runpod
|
|
161
160
|
```
|
|
162
161
|
|
|
163
|
-
Paste your API key when prompted. It's stored locally at
|
|
162
|
+
Paste your API key when prompted. It's stored locally at ~/.terradev/credentials.json, never sent to a Terradev server. Add more providers later:
|
|
164
163
|
|
|
165
164
|
```bash
|
|
166
165
|
terradev configure --provider vastai
|
|
@@ -407,7 +406,7 @@ terradev analytics --days 30
|
|
|
407
406
|
terradev optimize
|
|
408
407
|
```
|
|
409
408
|
|
|
410
|
-
##
|
|
409
|
+
## Features
|
|
411
410
|
|
|
412
411
|
- **19 Cloud Providers**: RunPod, VastAI, Lambda Labs, AWS, GCP, Azure, Oracle, and more
|
|
413
412
|
- **Automatic Topology Optimization**: NUMA alignment, RDMA, CPU pinning
|
|
@@ -419,7 +418,7 @@ terradev optimize
|
|
|
419
418
|
- **GitOps Automation**: Production-ready workflows with ArgoCD/Flux
|
|
420
419
|
- **CUDA Graph Optimization**: Passive NUMA-aware graph performance optimization
|
|
421
420
|
|
|
422
|
-
##
|
|
421
|
+
## Installation
|
|
423
422
|
|
|
424
423
|
```bash
|
|
425
424
|
# Basic installation
|
|
@@ -435,9 +434,9 @@ pip install terradev-cli[azure] # Azure
|
|
|
435
434
|
pip install terradev-cli[hf] # HuggingFace Spaces
|
|
436
435
|
```
|
|
437
436
|
|
|
438
|
-
##
|
|
437
|
+
## Configuration
|
|
439
438
|
|
|
440
|
-
Your API keys are stored locally at
|
|
439
|
+
Your API keys are stored locally at ~/.terradev/credentials.json and never sent to Terradev servers.
|
|
441
440
|
|
|
442
441
|
```bash
|
|
443
442
|
# Configure multiple providers
|
|
@@ -447,22 +446,22 @@ terradev configure --provider aws
|
|
|
447
446
|
terradev configure --provider gcp
|
|
448
447
|
```
|
|
449
448
|
|
|
450
|
-
##
|
|
449
|
+
## Performance
|
|
451
450
|
|
|
452
451
|
- **2-8x throughput improvements** with vLLM optimization
|
|
453
452
|
- **30-50% bandwidth penalty eliminated** with NUMA topology
|
|
454
453
|
- **2-5x CUDA Graph speedup** with optimal topology
|
|
455
454
|
- **Up to 90% cost savings** with automatic provider switching
|
|
456
455
|
|
|
457
|
-
##
|
|
456
|
+
## Contributing
|
|
458
457
|
|
|
459
458
|
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
460
459
|
|
|
461
|
-
##
|
|
460
|
+
## License
|
|
462
461
|
|
|
463
|
-
|
|
462
|
+
BUSL 1.1 License - see [LICENSE](LICENSE) file for details.
|
|
464
463
|
|
|
465
|
-
##
|
|
464
|
+
## Support
|
|
466
465
|
|
|
467
466
|
- **Documentation**: [Full User Guide](USER_GUIDE.md)
|
|
468
467
|
- **Issues**: [GitHub Issues](https://github.com/theoddden/Terradev/issues)
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
# Terradev CLI v3.7.
|
|
1
|
+
# Terradev CLI v3.7.2
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
NUMA-aware GPU provisioning and orchestration for stateless MoE workloads of all sizes
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
<img src="https://raw.githubusercontent.com/theoddden/Terradev/main/demo/terradev-demo.gif" alt="Terradev CLI Demo" width="800">
|
|
7
|
-
</p>
|
|
5
|
+

|
|
8
6
|
|
|
9
|
-
##
|
|
7
|
+
## What's New in v3.7.1
|
|
8
|
+
|
|
9
|
+
### CUDA Graph Optimization with NUMA Awareness
|
|
10
10
|
|
|
11
|
-
### 🧠 CUDA Graph Optimization with NUMA Awareness
|
|
12
11
|
Revolutionary passive CUDA Graph optimization that automatically analyzes and optimizes GPU topology for maximum graph performance:
|
|
13
12
|
|
|
14
13
|
```bash
|
|
@@ -20,31 +19,31 @@ terradev provision -g H100 -n 4
|
|
|
20
19
|
# Warm pool prioritizes graph-compatible models
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
22
|
+
#### Performance Gains:
|
|
23
|
+
- 2-5x speedup for CUDA Graph workloads with optimal NUMA topology
|
|
24
|
+
- 30-50% bandwidth penalty eliminated through automatic GPU/NIC alignment
|
|
25
|
+
- Zero configuration - everything runs passively in the background
|
|
26
|
+
- Model-aware optimization - different strategies for transformers vs MoE models
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
#### NUMA Topology Intelligence
|
|
30
29
|
- **PIX (Same PCIe Switch)**: Optimal for CUDA Graphs (1.0 score)
|
|
31
|
-
- **PXB (Same Root Complex)**: Very good (0.8 score)
|
|
30
|
+
- **PXB (Same Root Complex)**: Very good (0.8 score)
|
|
32
31
|
- **PHB (Same NUMA Node)**: Good (0.6 score)
|
|
33
32
|
- **SYS (Cross-Socket)**: Poor for graphs (0.3 score)
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
#### Model-Specific Optimization
|
|
36
35
|
- **Transformers**: Highest priority (0.9 base score) - benefit most from graphs
|
|
37
36
|
- **CNNs**: Moderate priority (0.7 base score) - benefit moderately
|
|
38
37
|
- **MoE Models**: Lower priority (0.4 base score) - dynamic routing challenges
|
|
39
38
|
- **Auto-detection**: Model types identified automatically from model IDs
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
#### Background Optimization
|
|
42
41
|
- **Passive Analysis**: Runs automatically every 5 minutes
|
|
43
42
|
- **Warm Pool Enhancement**: CUDA Graph models get higher priority
|
|
44
43
|
- **Endpoint Selection**: Routes to NUMA-optimal endpoints automatically
|
|
45
44
|
- **Performance Tracking**: Monitors graph capture time and replay speedup
|
|
46
45
|
|
|
47
|
-
##
|
|
46
|
+
## Complete Tutorial
|
|
48
47
|
|
|
49
48
|
### Step 1: Install Terradev
|
|
50
49
|
```bash
|
|
@@ -74,7 +73,7 @@ This shows you where to get your API key. Then configure it:
|
|
|
74
73
|
terradev configure --provider runpod
|
|
75
74
|
```
|
|
76
75
|
|
|
77
|
-
Paste your API key when prompted. It's stored locally at
|
|
76
|
+
Paste your API key when prompted. It's stored locally at ~/.terradev/credentials.json, never sent to a Terradev server. Add more providers later:
|
|
78
77
|
|
|
79
78
|
```bash
|
|
80
79
|
terradev configure --provider vastai
|
|
@@ -321,7 +320,7 @@ terradev analytics --days 30
|
|
|
321
320
|
terradev optimize
|
|
322
321
|
```
|
|
323
322
|
|
|
324
|
-
##
|
|
323
|
+
## Features
|
|
325
324
|
|
|
326
325
|
- **19 Cloud Providers**: RunPod, VastAI, Lambda Labs, AWS, GCP, Azure, Oracle, and more
|
|
327
326
|
- **Automatic Topology Optimization**: NUMA alignment, RDMA, CPU pinning
|
|
@@ -333,7 +332,7 @@ terradev optimize
|
|
|
333
332
|
- **GitOps Automation**: Production-ready workflows with ArgoCD/Flux
|
|
334
333
|
- **CUDA Graph Optimization**: Passive NUMA-aware graph performance optimization
|
|
335
334
|
|
|
336
|
-
##
|
|
335
|
+
## Installation
|
|
337
336
|
|
|
338
337
|
```bash
|
|
339
338
|
# Basic installation
|
|
@@ -349,9 +348,9 @@ pip install terradev-cli[azure] # Azure
|
|
|
349
348
|
pip install terradev-cli[hf] # HuggingFace Spaces
|
|
350
349
|
```
|
|
351
350
|
|
|
352
|
-
##
|
|
351
|
+
## Configuration
|
|
353
352
|
|
|
354
|
-
Your API keys are stored locally at
|
|
353
|
+
Your API keys are stored locally at ~/.terradev/credentials.json and never sent to Terradev servers.
|
|
355
354
|
|
|
356
355
|
```bash
|
|
357
356
|
# Configure multiple providers
|
|
@@ -361,22 +360,22 @@ terradev configure --provider aws
|
|
|
361
360
|
terradev configure --provider gcp
|
|
362
361
|
```
|
|
363
362
|
|
|
364
|
-
##
|
|
363
|
+
## Performance
|
|
365
364
|
|
|
366
365
|
- **2-8x throughput improvements** with vLLM optimization
|
|
367
366
|
- **30-50% bandwidth penalty eliminated** with NUMA topology
|
|
368
367
|
- **2-5x CUDA Graph speedup** with optimal topology
|
|
369
368
|
- **Up to 90% cost savings** with automatic provider switching
|
|
370
369
|
|
|
371
|
-
##
|
|
370
|
+
## Contributing
|
|
372
371
|
|
|
373
372
|
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
374
373
|
|
|
375
|
-
##
|
|
374
|
+
## License
|
|
376
375
|
|
|
377
|
-
|
|
376
|
+
BUSL 1.1 License - see [LICENSE](LICENSE) file for details.
|
|
378
377
|
|
|
379
|
-
##
|
|
378
|
+
## Support
|
|
380
379
|
|
|
381
380
|
- **Documentation**: [Full User Guide](USER_GUIDE.md)
|
|
382
381
|
- **Issues**: [GitHub Issues](https://github.com/theoddden/Terradev/issues)
|