A boilerplate platform for hosting the "Efficient-Decode Competition", managing submissions, and evaluating memory bandwidth efficiency.
- Portal (FastAPI): Web interface for submissions and leaderboards.
- Worker (Python/RQ): Processes submissions, runs containers, and evaluates performance.
- Scheduler (Redis): Manages the job queue.
- Database (SQLite): Stores user and submission data.
-
Prerequisites:
- Docker & Docker Compose
- Python 3.9+
-
Run with Docker Compose:
docker-compose up --build
-
Access the Portal:
- Open http://localhost:8000
- Enter a username to "login/signup".
- Upload a
.zipfile containing your code.
-
Worker Logs:
- Watch the
workerservice logs to see it pick up the job. - It will simulate processing (5s delay) and generate dummy metrics.
- Watch the
- Portal:
portal/ - Worker:
worker/ - Shared Models:
common/
- Databases: Switch
sqlitetoPostgresindocker-compose.yml. - Worker: Implement actual
docker runlogic inworker/executor.py. - Security: Implement OAuth2 in
portal/app.py.