Open
Description
PyTorch has a special device, meta
, which is a dummy device with no underlying data. This is a very powerful testing tool.
However, PyTorch has not implemented special support for unknown shapes just for this device. As a result, unique
etc. fail.
Proposal
Change capabilities()
to capabilities(*, device=None)
, matching the signature of default_dtypes()
and dtypes()
.
Change array_api_compat.torch
:
def capabilities(*, device=None):
device = torch.get_default_device() if device is None else torch.device(device)
is_material = device.type != "meta"
return {
"boolean indexing": is_material,
"data-dependent shapes": is_material,
"max dimensions": 64,
}