SelectCudaDevice
Introduction
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.
Function signature
Parameters
get_list_on_init
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:
sort_by_free_ram
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:
include_cpu_option
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:
widget_id
An optional ID for the widget.
type: str
default value: None
Initialize the widget with an ID:
Methods and attributes
Mini app example
You can find this example in our GitHub repository:
selection/023_select_cuda_device/src/main.py
Import libraries
Init API client
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
Initialize the SelectCudaDevice
widget
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.
Create an event handler for the SelectCudaDevice
widget
SelectCudaDevice
widgetNow, let's create a event handler for the SelectCudaDevice widget, when the value of the widget is changed.
Create app layout
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 using the layout
Create an app object with the layout parameter.
Last updated