Pearu Peterson created ARROW-4861: ------------------------------------- Summary: [C++] Introduce MemoryPool::Memset method. Key: ARROW-4861 URL: https://issues.apache.org/jira/browse/ARROW-4861 Project: Apache Arrow Issue Type: Improvement Components: C++ Reporter: Pearu Peterson Assignee: Pearu Peterson
One can define a device MemoryPool subclass (say, CudaMemoryPool) that can be used for creating a Buffer representing a device memory. The prerequisite for this to work is that all Buffer memory operations (allocation, deallocation, reallocation, etc) can be redefined to use the corresponding device specific operations. No host specific operation would be allowed as the device memory would be inaccesible from host. Currently, this is almost possible. Namely, `Buffer::ZeroPadding` uses host specific `memset` function for zero-padding the allocated Buffer memory. Suggestion: introduce a new method `MemoryPool::Memset` that `Buffer::ZeroPadding` can use. The Memset method would use `memset` by default but device specific MemoryPool subclasses can override the method to use device driver version of the memset function. -- This message was sent by Atlassian JIRA (v7.6.3#76005)