Skip to content

Conversation

@A-Artemis
Copy link
Contributor

@A-Artemis A-Artemis commented Dec 3, 2025

Summary

Adds inference device selection to pipeline configuration.

How to test

PATCH /api/projects/{project_id}/pipeline with {"device": "xpu"} in the body.

Checklist

  • The PR title and description are clear and descriptive
  • I have manually tested the changes
  • All changes are covered by automated tests
  • All related issues are linked to this PR (if applicable)
  • Documentation has been updated (if applicable)

@A-Artemis A-Artemis self-assigned this Dec 3, 2025
@A-Artemis A-Artemis requested a review from a team as a code owner December 3, 2025 14:37
Copilot AI review requested due to automatic review settings December 3, 2025 14:37
@github-actions github-actions bot added TEST Any changes in tests Geti Tune Backend Issues related to Geti Tune Studio backend labels Dec 3, 2025
@A-Artemis A-Artemis linked an issue Dec 3, 2025 that may be closed by this pull request
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds device selection functionality for inference pipelines, allowing users to specify which hardware device (CPU, XPU, or CUDA) should be used for model inference.

  • Adds device validation to ensure selected devices are available on the system
  • Implements device configuration in pipeline settings with proper validation and event emission
  • Adds comprehensive test coverage for device validation logic

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
application/backend/app/models/pipeline.py Adds device field with regex pattern validation
application/backend/app/db/schema.py Adds device column to pipelines table
application/backend/app/alembic/versions/2786b50eb5a4_schema.py Migration to add device column with default value
application/backend/app/api/schemas/pipeline.py Adds device field to API schema with description
application/backend/app/api/routers/pipelines.py Adds device validation before pipeline updates
application/backend/app/services/pipeline_service.py Persists device field and emits device change events
application/backend/app/services/event/event_bus.py Adds DEVICE_CHANGED event type
application/backend/app/services/system_service.py Implements validate_device method to check device availability
application/backend/tests/unit/services/test_system_service.py Adds comprehensive tests for device validation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

📊 Test coverage report

Metric Coverage
Lines 40.2%
Functions 34.9%
Branches 84.8%
Statements 40.2%

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

Docker Image Sizes

CPU

Image Size
geti-tune-cpu:pr-5058 2.80G
geti-tune-cpu:sha-b42ee2d 2.80G

GPU

Image Size
geti-tune-gpu:pr-5058 10.56G
geti-tune-gpu:sha-b42ee2d 10.56G

XPU

Image Size
geti-tune-xpu:pr-5058 8.63G
geti-tune-xpu:sha-b42ee2d 8.63G

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Geti Tune Backend Issues related to Geti Tune Studio backend TEST Any changes in tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend pipeline endpoint with option to change inference device

3 participants