Results 132 issues of Tom White

This issue tracks the work needed to support [Python array API standard v2023.12](https://data-apis.org/array-api/2023.12/index.html). The changes from the previous version are listed here: https://data-apis.org/array-api/2023.12/changelog.html#v2023-12 ## New array functions ### elemwise These...

help wanted
good first issue
array api

We'd like to know the network throughput we are getting when doing object store IO. Lithops now exposes number of bytes sent and received (as mentioned here: https://github.com/cubed-dev/cubed/issues/234#issuecomment-1959778429) so that...

runtime

This is an umbrella issue for tracking the work on optimizations in Cubed. ## Creation optimizations Making creation operations more efficient, typically by not materializing unnecessary data. - [x] #336...

optimization

It would be useful to know how many backup tasks were run (for https://github.com/cubed-dev/cubed-benchmarks/issues/3), probably as a part of `TaskEndEvent` (number of backups run for the task, and possibly even...

runtime

Initial support for multiple outputs (#69).

From https://github.com/cubed-dev/cubed/actions/runs/8231307282/job/22506341591?pr=419: ``` FAILED array_api_tests/test_linalg.py::test_tensordot - AssertionError: out.shape=(1, 0), but should be (0, 0) [tensordot( (0, 0) . (0, 0) )] Falsifying example: test_tensordot( x1=cubed.Array, x2=cubed.Array, kw={'axes': ((-2,), (0,))}, )...

bug
array api

There are a couple of parameters we can set: * `split_every`, which controls the number of blocks in each stage of tree reduce (defaults to 4, but set to 10...

optimization

The way [`stack` is currently implemented](https://github.com/cubed-dev/cubed/blob/be962a43befa024d51be2c378651c55d3e330f91/cubed/array_api/manipulation_functions.py#L277-L307) is slightly different to the other functions in that the number of arguments passed to [the blockwise function `_read_stack_chunk`](https://github.com/cubed-dev/cubed/blob/be962a43befa024d51be2c378651c55d3e330f91/cubed/array_api/manipulation_functions.py#L310-L311) is just one (the chunk...

array api
primitive
optimization

This fixes `array_api_tests/test_linalg.py::test_vecdot` that was failing.

array api

The logic in [index](https://github.com/cubed-dev/cubed/blob/fda2f1e7bedec5389cae00ee751a54076ccf28e3/cubed/core/ops.py#L400-L504) for manipulating an index selection is fairly complicated, particularly the part that removes any ellipsis. (See #400, #401, #402.) We could use [ndindex](https://quansight-labs.github.io/ndindex/index.html) to help with...

array api
core