Use cudf::pack with pinned mr in TableChunk::copy#966
Conversation
Signed-off-by: niranda perera <niranda.perera@gmail.com>
|
This PR depends on #967 because it now requires precise packed sizes for pinned memory. |
pentschev
left a comment
There was a problem hiding this comment.
Looks good overall, left some requests for typo fixes and phrasing improvements, and a nit.
Co-authored-by: Peter Andreas Entschev <peter@entschev.com>
…pidsmpf into table_chunk_pinned_copy
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
…_pinned_copy Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
madsbk
left a comment
There was a problem hiding this comment.
Looks good, thanks @nirandaperera
Co-authored-by: Mads R. B. Kristensen <madsbk@gmail.com>
pentschev
left a comment
There was a problem hiding this comment.
Minor question/nit, looks good otherwise, thanks Niranda.
| return accessibility == cuda::mr::__memory_accessibility::__host | ||
| || accessibility == cuda::mr::__memory_accessibility::__host_device; |
There was a problem hiding this comment.
Is there really no public way to do this?
There was a problem hiding this comment.
Unfortunately no (at least not that I know of)
| get_property(mr, cuda::mr::dynamic_accessibility_property{}); | ||
| return accessibility == cuda::mr::__memory_accessibility::__device | ||
| || accessibility == cuda::mr::__memory_accessibility::__host_device; | ||
| } |
There was a problem hiding this comment.
You can avoid the dynamic lookup if you if constexpr (has_property<mr, device_accessible>) otherwise fallback?
There was a problem hiding this comment.
I think get_property does exactly that https://github.com/NVIDIA/cccl/blob/main/libcudacxx/include/cuda/__memory_resource/get_property.h#L191-L196
Co-authored-by: Lawrence Mitchell <wence@gmx.li>
In a previous analysis we found that using
cudf::packwith a pinned mem resource performs similar to,Since (1) use unreserved device memory,
TableChunk::copyis prone to OOM. This PR changes pinned memory to usecudf::packdirectly.Depends on #967