140 lines
4.5 KiB
Bash
Executable File
140 lines
4.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🚀 RTX Workspace Migration - Physical Crate Movement"
|
|
echo "=================================================="
|
|
|
|
# Crate categorization based on dependency analysis
|
|
declare -A CRATE_CATEGORIES
|
|
|
|
# Core infrastructure (8 crates)
|
|
CRATE_CATEGORIES["rtx-tensor"]="core"
|
|
CRATE_CATEGORIES["rtx-runtime"]="core"
|
|
CRATE_CATEGORIES["rtx-autograd"]="core"
|
|
CRATE_CATEGORIES["rtx-memory"]="core"
|
|
CRATE_CATEGORIES["rtx-kernel"]="core"
|
|
CRATE_CATEGORIES["rtx-bindings"]="core"
|
|
CRATE_CATEGORIES["rtx-graph"]="core"
|
|
CRATE_CATEGORIES["rtx-validation"]="core"
|
|
CRATE_CATEGORIES["rtx-losses"]="core"
|
|
|
|
# Training & optimization (10 crates)
|
|
CRATE_CATEGORIES["rtx-transformers"]="training"
|
|
CRATE_CATEGORIES["rtx-distributed"]="training"
|
|
CRATE_CATEGORIES["rtx-rl"]="training"
|
|
CRATE_CATEGORIES["rtx-compress"]="training"
|
|
CRATE_CATEGORIES["rtx-flash-attention"]="training"
|
|
CRATE_CATEGORIES["rtx-preprocessing"]="training"
|
|
CRATE_CATEGORIES["rtx-auto"]="training"
|
|
CRATE_CATEGORIES["rtx-automeasure"]="training"
|
|
CRATE_CATEGORIES["rtx-evolution"]="training"
|
|
CRATE_CATEGORIES["rtx-federated"]="training"
|
|
|
|
# Model architectures (7 crates)
|
|
CRATE_CATEGORIES["rtx-vision"]="models"
|
|
CRATE_CATEGORIES["rtx-vision-advanced"]="models"
|
|
CRATE_CATEGORIES["rtx-multimodal"]="models"
|
|
CRATE_CATEGORIES["rtx-diffuse"]="models"
|
|
CRATE_CATEGORIES["rtx-timeseries"]="models"
|
|
CRATE_CATEGORIES["rtx-neuromorphic"]="models"
|
|
CRATE_CATEGORIES["rtx-nlg"]="models"
|
|
|
|
# Production & deployment (9 crates)
|
|
CRATE_CATEGORIES["rtx-serving-api"]="production"
|
|
CRATE_CATEGORIES["rtx-inference"]="production"
|
|
CRATE_CATEGORIES["rtx-streaming"]="production"
|
|
CRATE_CATEGORIES["rtx-mlops-orchestrator"]="production"
|
|
CRATE_CATEGORIES["rtx-edge"]="production"
|
|
CRATE_CATEGORIES["rtx-security"]="production"
|
|
CRATE_CATEGORIES["rtx-robust"]="production"
|
|
CRATE_CATEGORIES["rtx-cloud"]="production"
|
|
CRATE_CATEGORIES["rtx-hub"]="production"
|
|
|
|
# Specialized computing (10 crates)
|
|
CRATE_CATEGORIES["rtx-quantum"]="specialized"
|
|
CRATE_CATEGORIES["rtx-synthesis"]="specialized"
|
|
CRATE_CATEGORIES["rtx-compiler"]="specialized"
|
|
CRATE_CATEGORIES["rtx-geom"]="specialized"
|
|
CRATE_CATEGORIES["rtx-polygraph"]="specialized"
|
|
CRATE_CATEGORIES["rtx-sklearn-py"]="specialized"
|
|
CRATE_CATEGORIES["rtx-ml-classic"]="specialized"
|
|
CRATE_CATEGORIES["rtx-platform"]="specialized"
|
|
CRATE_CATEGORIES["rtx-hardware-extended"]="specialized"
|
|
CRATE_CATEGORIES["rtx-science"]="specialized"
|
|
|
|
# Development & tooling (12 crates)
|
|
CRATE_CATEGORIES["rtx-bench"]="tooling"
|
|
CRATE_CATEGORIES["rtx-profiler"]="tooling"
|
|
CRATE_CATEGORIES["rtx-governance"]="tooling"
|
|
CRATE_CATEGORIES["rtx-privacy"]="tooling"
|
|
CRATE_CATEGORIES["rtx-eval"]="tooling"
|
|
CRATE_CATEGORIES["rtx-docs"]="tooling"
|
|
CRATE_CATEGORIES["rtx-examples"]="tooling"
|
|
CRATE_CATEGORIES["rtx-debug"]="tooling"
|
|
CRATE_CATEGORIES["rtx-codegen"]="tooling"
|
|
CRATE_CATEGORIES["rtx-finance"]="tooling"
|
|
CRATE_CATEGORIES["rtx-audio"]="tooling"
|
|
CRATE_CATEGORIES["rtx-games"]="tooling"
|
|
|
|
migrate_crate() {
|
|
local crate_name=$1
|
|
local category=${CRATE_CATEGORIES[$crate_name]}
|
|
|
|
if [ -z "$category" ]; then
|
|
echo "❌ Unknown category for $crate_name - skipping"
|
|
return 1
|
|
fi
|
|
|
|
echo "📦 Migrating $crate_name to crates/$category/"
|
|
|
|
# Ensure category directory exists
|
|
mkdir -p "crates/$category"
|
|
|
|
# Move crate directory from crates/ to new location
|
|
if [ -d "crates/$crate_name" ]; then
|
|
mv "crates/$crate_name" "crates/$category/"
|
|
echo " ✅ Moved $crate_name to crates/$category/"
|
|
else
|
|
echo " ⚠️ Directory crates/$crate_name not found - may already be moved"
|
|
fi
|
|
}
|
|
|
|
# Count total crates
|
|
total_crates=0
|
|
moved_crates=0
|
|
|
|
echo "📊 Starting Migration:"
|
|
echo "===================="
|
|
|
|
# Migrate all crates
|
|
for crate_dir in crates/rtx-*/; do
|
|
if [ -d "$crate_dir" ]; then
|
|
crate_name=$(basename "$crate_dir")
|
|
total_crates=$((total_crates + 1))
|
|
|
|
if migrate_crate "$crate_name"; then
|
|
moved_crates=$((moved_crates + 1))
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "✅ Physical crate migration complete!"
|
|
echo "📊 Summary:"
|
|
echo " Total crates found: $total_crates"
|
|
echo " Successfully moved: $moved_crates"
|
|
|
|
echo ""
|
|
echo "📁 New structure:"
|
|
for category in core training models production specialized tooling; do
|
|
if [ -d "crates/$category" ]; then
|
|
count=$(ls -1d crates/$category/rtx-* 2>/dev/null | wc -l)
|
|
echo " $category: $count crates"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "🔧 Next steps:"
|
|
echo "1. Update dependency paths in all Cargo.toml files"
|
|
echo "2. Update import statements in source code"
|
|
echo "3. Test compilation" |