You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2020/02/13 10:44:00 UTC

[jira] [Updated] (ARROW-4861) [C++] Introduce MemoryManager::Memset method.

     [ 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)