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,
}
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,
uniqueetc. fail.Proposal
Change
capabilities()tocapabilities(*, device=None), matching the signature ofdefault_dtypes()anddtypes().Change
array_api_compat.torch: