"Information should not be displayed all at once; let people gradually become familiar with it." - Edward Tufte
Transform GPU monitoring from complex metrics into intuitive visual patterns. Enterprise-grade NVIDIA GPU monitoring with real-time analytics, intelligent alerts, and historical analysis.
Real-time GPU metrics visualized for instant comprehension
- NVIDIA GPU with compute capability 3.0 or higher
- NVIDIA Driver 450.80.02 or higher
- Python 3.8+ and Node.js 16.0+
- 4GB RAM (8GB recommended)
- 1GB free disk space
- Clone the repository:
git clone git@github.com:jackccrawford/gpu-sentinel-pro.git
cd gpu-sentinel-pro- Set up the backend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt- Set up the frontend:
cd frontend
npm install- Start the services:
# Terminal 1 - Backend
cd backend
python src/service/app.py
# Terminal 2 - Frontend
cd frontend
npm run dev- Access the dashboard at http://localhost:5173
-
Real-time Visual Dashboard
- Modern React components with Material UI
- Responsive design for desktop and mobile
- Dark/light mode with automatic system preference detection
- Multi-GPU support with individual monitoring panels
-
Advanced Metrics
- Temperature and utilization with color-coded ranges
- Memory usage and bandwidth monitoring
- Power consumption and efficiency tracking
- Process-level GPU utilization
- Custom metric aggregation
- Configurable Thresholds
{ "temperature": { "warning": 75, "critical": 85 }, "memory": { "warning": 85, "critical": 95 } } - Alert Types
- Temperature spikes
- Memory leaks
- Process crashes
- Power anomalies
- Custom conditions
-
Historical Data
- Time-series metrics storage
- Customizable retention policies
- Data export in multiple formats
- Trend analysis and forecasting
-
Performance Insights
- Workload pattern recognition
- Resource utilization heatmaps
- Efficiency recommendations
- Cost analysis tools
-
API Access
- RESTful API with OpenAPI documentation
- Secure authentication
- Rate limiting and quotas
- Webhook support
-
Security
- Role-based access control
- Audit logging
- SSL/TLS encryption
- Regular security updates
# config.py
SETTINGS = {
'update_interval': 1000, # ms
'retention_period': '30d',
'log_level': 'INFO',
'enable_analytics': True,
'alert_cooldown': 300, # seconds
}// config.ts
export const CONFIG = {
API_URL: 'http://localhost:8000',
REFRESH_RATE: 1000,
THEME_MODE: 'system', // 'light' | 'dark' | 'system'
CHART_HISTORY: 300, // data points
};graph TD
A[Frontend React App] -->|HTTP/WebSocket| B[FastAPI Backend]
B -->|NVML| C[GPU Hardware]
B -->|Time Series| D[Supabase]
B -->|Alerts| E[Notification Service]
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a pull request
- π Documentation
- π Issue Tracker
- π¬ Discussions
- π§ Contact Support
This project is licensed under the MIT License - see the LICENSE file for details.