Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Move web3 import to top of web3_utils.py to resolve import context issue - Add direct Web3Client import to aitbc/__init__.py for early loading - Replace all mock RPC URLs with actual AITBC blockchain RPC endpoint (http://localhost:8006) - Note: Bridge service still has fundamental incompatibility - uses Ethereum web3 but AITBC is not Ethereum-compatible - This blocks Scenario 27 cross-chain trading test until AITBC-specific adapter is implemented
AITBC GPU Service
Manages GPU resource operations.
Installation
cd /opt/aitbc
poetry install --with gpu-service
Database Setup
Create a separate database for the GPU service:
sudo -u postgres psql -f apps/gpu-service/scripts/setup-database.sql
Or manually:
CREATE DATABASE aitbc_gpu;
CREATE USER aitbc_gpu WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_gpu TO aitbc_gpu;
Running
# Development
python -m gpu_service.main
# Production (systemd)
sudo systemctl start gpu-service
sudo systemctl enable gpu-service
Endpoints
GET /health- Health checkGET /gpu/status- Get GPU statusGET /v1/marketplace/edge-gpu/profiles- Get consumer GPU profilesGET /v1/marketplace/edge-gpu/metrics/{gpu_id}- Get edge GPU metricsPOST /v1/marketplace/edge-gpu/scan/{miner_id}- Scan and register edge GPUsPOST /v1/marketplace/edge-gpu/optimize/inference/{gpu_id}- Optimize ML inference
Testing
Prerequisites
- PostgreSQL running and aitbc_gpu database created
- Poetry dependencies installed
Database Setup
sudo -u postgres psql -f scripts/setup-database.sql
Start Service (Development)
python -m gpu_service.main
Health Check
curl http://localhost:8101/health
Expected response:
{"status": "healthy", "service": "gpu-service"}
GPU Status
curl http://localhost:8101/gpu/status
Expected response:
{
"status": "operational",
"service": "gpu-service",
"message": "GPU service is running"
}
Get Consumer GPU Profiles
curl http://localhost:8101/v1/marketplace/edge-gpu/profiles
Expected response:
[
{
"profile_id": "consumer_nvidia_a100",
"name": "NVIDIA A100",
"architecture": "NVIDIA",
"memory_gb": 80,
"cuda_cores": 6912,
"tensor_cores": 432,
"compute_capability": "8.0",
"typical_use_cases": ["ml_training", "inference", "hpc"]
}
]
Test Through Gateway
-
Start the API gateway:
python -m api_gateway.main -
Test GPU endpoints through the gateway:
curl http://localhost:8080/gpu/health curl http://localhost:8080/gpu/v1/marketplace/edge-gpu/profiles
For comprehensive testing procedures, see MICROSERVICES_TESTING_GUIDE.md.
Service Configuration
- Port: 8101
- Database: aitbc_gpu
- Gateway route: /gpu/*
Migration Status
Completed:
- Extracted GPU domain models (GPUArchitecture, GPURegistry, ConsumerGPUProfile, EdgeGPUMetrics, GPUBooking, GPUReview)
- Extracted GPU services (EdgeGPUService)
- Extracted GPU data (consumer_gpu_profiles)
- Set up database session management
- Extracted GPU router endpoints
- Removed edge_gpu router from coordinator-api
- Created systemd service configuration
- Created database setup script
Remaining:
- Extract additional GPU routers (gpu_multimodal_health.py, miner.py) if needed
- Run database migration script to create aitbc_gpu database
- Install and enable systemd service
- End-to-end testing with gateway