[ 
https://issues.apache.org/jira/browse/ARROW-4861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antoine Pitrou updated ARROW-4861:
----------------------------------
    Summary: [C++] Introduce MemoryManager::Memset method.  (was: [C++] 
Introduce MemoryPool::Memset method.)

> [C++] Introduce MemoryManager::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)

Reply via email to