-
Notifications
You must be signed in to change notification settings - Fork 52
Closed
Labels
topic: Dynamic ShapesData-dependent shapes.Data-dependent shapes.topic: IndexingArray indexing.Array indexing.topic: Lazy/GraphLazy and graph-based array implementations.Lazy and graph-based array implementations.
Description
JAX is built on top of XLA which (currently) requires static memory allocation for operations. This means it is not possible to express operations like x[y]
where y
is a boolean, because the resulting array has value dependent size: https://data-apis.github.io/array-api/latest/API_specification/indexing.html#boolean-array-indexing
It's definitely possible that the static memory allocation requirement could be relaxed in the future, but dynamic memory allocation is always going to be harder to implement in a performant way. For example, I would guess Numba also struggles with this sort of operation. I don't think we should require it for array libraries implementing our standard, since it isn't needed for the majority of array operations.
Metadata
Metadata
Assignees
Labels
topic: Dynamic ShapesData-dependent shapes.Data-dependent shapes.topic: IndexingArray indexing.Array indexing.topic: Lazy/GraphLazy and graph-based array implementations.Lazy and graph-based array implementations.