OpenDPD Studio 2.3.1¶
This release addresses #70: select an individual GPU for each PA/DPD training or testing job in local Studio.
GPU selection and concurrent local runs¶
- The Device selector and Settings list every detected NVIDIA GPU with its logical index and model name, including machines with identical cards.
- Training and testing submit the selected
device_indexto the existing execution configuration. The review step, run record, result and report identify the concrete device, such ascuda:1. - Local scheduling reserves a slot per GPU. A queued job on GPU 0 no longer blocks a job assigned to GPU 1. Jobs on the same GPU remain serialized.
- Unavailable indices are refused during validation and submission. Existing configurations without an index continue to use GPU 0.
- ILC surrogate evaluation also honors the selected CUDA index.
- The frontend development dependency
source-map-jsis updated to 1.2.2 to address the indexed-source-map denial-of-service advisory found by CI.
See the selection guide
for JSON configuration and CUDA_VISIBLE_DEVICES behavior.
Install¶
The package includes the updated Studio interface. The hosted app lists its server devices; using your computer's GPUs requires a local Studio instance. The hosted service retains its shared queue and GPU 0 restriction.
Verification¶
Regression coverage includes individual-device discovery, unavailable and malformed indices, all four PA/DPD training/testing forms, imported configuration preservation, the legacy execution adapter, per-GPU queue dispatch, and the hosted GPU bridge. Multi-GPU discovery and dispatch are tested with simulated hardware; simultaneous execution on multiple physical GPUs is not verified on the single-GPU release machine.
Release checks passed on Linux with Python 3.13 and an NVIDIA RTX 4090 Laptop GPU:
all four PA/DPD training/testing tasks completed through worker subprocesses on
cuda:0. Browser checks with three simulated GPUs verified selection,
submission, Settings, and desktop/mobile layouts. Backend and frontend
regressions, type checking, API contract generation, lint and a strict
documentation build passed.
Deployment¶
Deploy the same revision to the API, private GPU agent and pinned worker image,
then update STUDIO_REF in lab-emi/opendpd-site and deploy its Pages workflow.
Follow Public Studio.