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