-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-43854: [C++] Expose the set of device types where a ChunkedArray is allocated #43853
Conversation
And move `enum DeviceAllocationType` to its own lightweight header.
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 0bc91dd. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 3 possible false positives for unstable benchmarks that are known to sometimes produce them. |
…rray is allocated (apache#43853) ### Rationale for this change `ChunkedArray`s allow flexible allocation of arrays -- the whole array doesn't have to be allocated in huge contiguous buffers. Nothing today prevents chunked arrays from being made of chunks allocated in different devices and that is good. But we need a way to query the set of devices where a chunked array is allocated at. This PR adds that missing part. ### What changes are included in this PR? Addition of: - the `DeviceAllocationTypeSet` class - `ChunkedArray::device_types()` - `Datum::device_types()` Moved `enum DeviceAllocationType` to the `type_fwd.h` header because `device.h` is too expensive of a header to hold this widely used `enum`. ### Are these changes tested? Added more asserts to `chunked_array_test.cc`. ### Are there any user-facing changes? New APIs. * GitHub Issue: apache#43854 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
…rray is allocated (apache#43853) ### Rationale for this change `ChunkedArray`s allow flexible allocation of arrays -- the whole array doesn't have to be allocated in huge contiguous buffers. Nothing today prevents chunked arrays from being made of chunks allocated in different devices and that is good. But we need a way to query the set of devices where a chunked array is allocated at. This PR adds that missing part. ### What changes are included in this PR? Addition of: - the `DeviceAllocationTypeSet` class - `ChunkedArray::device_types()` - `Datum::device_types()` Moved `enum DeviceAllocationType` to the `type_fwd.h` header because `device.h` is too expensive of a header to hold this widely used `enum`. ### Are these changes tested? Added more asserts to `chunked_array_test.cc`. ### Are there any user-facing changes? New APIs. * GitHub Issue: apache#43854 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
Rationale for this change
ChunkedArray
s allow flexible allocation of arrays -- the whole array doesn't have to be allocated in huge contiguous buffers. Nothing today prevents chunked arrays from being made of chunks allocated in different devices and that is good. But we need a way to query the set of devices where a chunked array is allocated at. This PR adds that missing part.What changes are included in this PR?
Addition of:
DeviceAllocationTypeSet
classChunkedArray::device_types()
Datum::device_types()
Moved
enum DeviceAllocationType
to thetype_fwd.h
header becausedevice.h
is too expensive of a header to hold this widely usedenum
.Are these changes tested?
Added more asserts to
chunked_array_test.cc
.Are there any user-facing changes?
New APIs.