abracudabra.device.base#

Define the base device class.

Attributes#

DeviceType

The device type, e.g., "cpu" or "cuda".

DEVICE_TYPES

The device types, e.g., {"cpu", "cuda"}.

Classes#

Device

A device with a name and index.

Functions#

is_valid_device_type(→ TypeGuard[DeviceType])

Check if a device name is valid.

_raise_invalid_device_type(→ NoReturn)

Raise an error for an invalid device type.

Module Contents#

abracudabra.device.base.DeviceType[source]#

The device type, e.g., "cpu" or "cuda".

abracudabra.device.base.DEVICE_TYPES: frozenset[DeviceType][source]#

The device types, e.g., {"cpu", "cuda"}.

abracudabra.device.base.is_valid_device_type(device_type: str, /) TypeGuard[DeviceType][source]#

Check if a device name is valid.

abracudabra.device.base._raise_invalid_device_type(device_type: str, /) NoReturn[source]#

Raise an error for an invalid device type.

class abracudabra.device.base.Device[source]#

Bases: NamedTuple

A device with a name and index.

type: DeviceType[source]#

The device type, e.g., "cpu" or "cuda".

idx: int | None = None[source]#

The device index, e.g., 0 or None.

__str__() str[source]#

Return the device name.

static _validate_device(device: object, /) DeviceType[source]#

Validate a device name.

static _validate_idx(idx: object | None, /) int | None[source]#

Validate a device index.

classmethod validate(device: object, idx: object | None = None) Device[source]#

Return a device, validating the device name.

classmethod from_str(device: str, /) Device[source]#

Return a device from a string.

classmethod parse(device: str | Device, /) Device[source]#

Return a device from a string or device.

to_torch() torch.device[source]#

Return a torch device.