[
https://issues.apache.org/jira/browse/ARROW-4861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17029113#comment-17029113
]
Antoine Pitrou commented on ARROW-4861:
---------------------------------------
The PR for ARROW-2447 exposes a {{MemoryManager}} class, where we could add
said {{Memset}} method.
> [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
> Priority: Major
> Labels: C++
> Fix For: 2.0.0
>
>
> 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
(v8.3.4#803005)