Files
aitbc/apps/gpu-service
aitbc e4f1a96172
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 8s
CLI Tests / test-cli (push) Successful in 10s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m22s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m11s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m13s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 5s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Cross-Node Transaction Testing / transaction-test (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Successful in 1m14s
Contract Performance Benchmarks / compare-benchmarks (push) Has been cancelled
Documentation Validation / validate-docs (push) Failing after 10s
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Has been cancelled
Smart Contract Tests / test-foundry (push) Has been cancelled
Smart Contract Tests / lint-solidity (push) Has been cancelled
Smart Contract Tests / deploy-contracts (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Failing after 45s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Failing after 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 5s
P2P Network Verification / p2p-verification (push) Successful in 3s
Production Tests / Production Integration Tests (push) Failing after 7s
Python Tests / test-python (push) Failing after 46s
Staking Tests / test-staking-service (push) Failing after 2s
Staking Tests / test-staking-integration (push) Has been skipped
Staking Tests / test-staking-contract (push) Has been skipped
Staking Tests / run-staking-test-runner (push) Has been skipped
Systemd Sync / sync-systemd (push) Successful in 21s
API Endpoint Tests / test-api-endpoints (push) Failing after 12m19s
ci: standardize pytest invocation and add security scanning
- Changed pytest calls to use `venv/bin/python -m pytest` with explicit config
- Added `--rootdir "$PWD"` and `--import-mode=importlib` for consistent imports
- Fixed PYTHONPATH to use absolute paths with $PWD prefix
- Added smart contract security scanning for Solidity files
- Added Circom circuit security checks for ZK proof circuits
- Added ZK proof implementation security validation
- Added contracts/** to security scanning workflow
2026-05-11 13:46:42 +02:00
..

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 check
  • GET /gpu/status - Get GPU status
  • GET /v1/marketplace/edge-gpu/profiles - Get consumer GPU profiles
  • GET /v1/marketplace/edge-gpu/metrics/{gpu_id} - Get edge GPU metrics
  • POST /v1/marketplace/edge-gpu/scan/{miner_id} - Scan and register edge GPUs
  • POST /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

  1. Start the API gateway:

    python -m api_gateway.main
    
  2. 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