Files
strix-halo-optimizations/Makefile
Felipe Cardoso a403dd9ce0 test: add BATS test suite (79 tests)
- tests/common.bats: PROJECT_ROOT detection, is_cmd, timestamp, data_dir,
  logging functions, color handling, require_root
- tests/detect.bats: GPU sysfs reads with mock sysfs tree, kernel param
  parsing (word boundary, dot escaping, edge positions), recommended
  GTT/pages computation (64GB, 128GB, tiny, zero), firmware bad detection,
  stack detection
- tests/format.bats: human_bytes (0, KiB, MiB, GiB boundaries, 64GiB),
  human_mib (sub-GiB, exact-GiB, recommended values, empty input)
- tests/benchmark_compare.bats: improvement/regression display, empty
  results, missing files, usage output, config change detection
- tests/log_metrics.bats: CSV header, data format, field count, input
  validation, unknown argument handling
- tests/test_helper.sh: mock sysfs tree builder, bats-assert/support setup

Makefile: add 'make test' target

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:15:34 +01:00

63 lines
1.8 KiB
Makefile

.PHONY: help audit audit-full monitor monitor-simple benchmark benchmark-baseline benchmark-compare optimize verify test
help: ## Show available commands
@echo "Strix Halo Optimization Toolkit"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-22s\033[0m %s\n", $$1, $$2}'
# --- Audit ---
audit: ## Quick system status (single screen)
@bash bin/audit --quick
audit-full: ## Full system report (saved to data/audits/)
@bash bin/audit --full
# --- Monitor ---
monitor: ## Launch tmux monitoring dashboard
@bash bin/monitor --dashboard
monitor-simple: ## Launch amdgpu_top only
@bash bin/monitor --simple
monitor-install: ## Install monitoring tools (amdgpu_top, btop)
@bash scripts/monitor/install-tools.sh
monitor-log: ## Start background metric logger
@bash bin/monitor --log
# --- Benchmark ---
benchmark-setup: ## Ensure toolboxes and test models are ready
@bash scripts/benchmark/setup.sh
benchmark-baseline: ## Capture pre-optimization baseline
@bash bin/benchmark baseline
benchmark: ## Run full benchmark suite
@bash bin/benchmark run
benchmark-compare: ## Compare two benchmark runs (usage: make benchmark-compare BEFORE=dir AFTER=dir)
@bash bin/benchmark compare $(BEFORE) $(AFTER)
# --- Optimize ---
optimize: ## Interactive optimization walkthrough
@bash bin/optimize --all
optimize-kernel: ## Configure kernel boot parameters
@bash scripts/optimize/kernel-params.sh
optimize-tuned: ## Switch to accelerator-performance profile
@bash scripts/optimize/tuned-profile.sh
optimize-vram: ## BIOS VRAM guidance + GTT verification
@bash scripts/optimize/vram-gtt.sh
verify: ## Post-optimization verification checklist
@bash scripts/optimize/verify.sh
rollback: ## Rollback optimizations
@bash scripts/optimize/rollback.sh
# --- Tests ---
test: ## Run BATS test suite
@bats tests/