SelectCudaDevice
Last updated
Last updated
The SelectCudaDevice
widget in Supervisely is a user interface element that enables users to select CUDA devices available on their agent. It automatically detects and lists the devices, displaying each with its corresponding RAM usage. Additionally, a refresh button allows users to update the list and view real-time device and memory usage. The widget also includes an event handler that activates when a user selects a device from the dropdown menu.
Parameters | Type | Description |
---|---|---|
|
| Whether to retrieve and display the list of CUDA devices upon initialization. Default is |
|
| Whether to sort the CUDA devices by their available free RAM. Default is |
|
| Whether to include CPU as an option in the device list. Default is |
|
| An optional ID for the widget. |
Determine if you want to get the device list on widget initialization. If True
, the widget retrieves information about device on initialization. Default is True
.
type: Optional[bool]
default value: True
Initialize the empty widget, and then manually refresh it to find the devices:
If True
, the device list will automatically be sorted by its free RAM value. Default is False
.
type: Optional[bool]
default value: False
Initialize the widget sorting it by free RAM:
If True
, selector will include CPU as a device option. Default is False
.
type: Optional[bool]
default value: False
Initialize the widget with CPU as a device option:
An optional ID for the widget.
type: str
default value: None
Initialize the widget with an ID:
Methods and Attributes | Description |
---|---|
| Get currently selected device. |
| Set the device to be displayed in the widget (overrides current). |
| Get up-to-date information about available devices and set them as options in the selector. |
You can find this example in our GitHub repository:
selection/023_select_cuda_device/src/main.py
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
SelectCudaDevice
widgetLet's initialize the SelectCudaDevice
widget with no devices:
Then, we can manually refresh the widget, retrieving the devices information when we need to.
SelectCudaDevice
widgetNow, let's create a event handler for the SelectCudaDevice widget, when the value of the widget is changed.
Prepare a layout for the app using Card
widget with the content
parameter and place widget that we've just created in the Container
widget.
Create an app object with the layout parameter.