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

shengjun.li updated ARROW-5285:
-------------------------------
    Description: 
cpp/CMakeLists.txt
  option(ARROW_CUDA "Build the Arrow CUDA extensions (requires CUDA toolkit)" 
ON)
  option(ARROW_PLASMA "Build the plasma object store along with Arrow" ON)

In the plasma client, GpuProcessHandle is never released although GPU object is 
deleted.
Thus, cuIpcCloseMemHandle is never called.
When I repeatly creat and delete gpu memory, the following error may occur.

IOError: Cuda Driver API call in 
/home/zilliz/arrow/cpp/src/arrow/gpu/cuda_context.cc at line 155 failed with 
code 208: cuIpcOpenMemHandle(&data, *handle, CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS)

Note: CUDA_ERROR_ALREADY_MAPPED = 208

  was:
When GPU memory created, cuIpcOpenMemHandle is called.
But when GPU memory distorted, cuIpcCloseMemHandle is never called.

cpp/CMakeLists.txt
  option(ARROW_CUDA "Build the Arrow CUDA extensions (requires CUDA toolkit)" 
ON)
  option(ARROW_PLASMA "Build the plasma object store along with Arrow" ON)


Repeatly creat and delete gpu memory, the following error may occur.
error: 5 IOError: Cuda Driver API call in 
/home/zilliz/arrow/cpp/src/arrow/gpu/cuda_context.cc at line 155 failed with 
code 208: cuIpcOpenMemHandle(&data, *handle, CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS)

Note: CUDA_ERROR_ALREADY_MAPPED = 208

        Summary: [C++][Plasma] GpuProcessHandle is not released when GPU object 
deleted  (was: [C++][Plasma] never call cuIpcCloseMemHandle before GPU memory 
distorted)

> [C++][Plasma] GpuProcessHandle is not released when GPU object deleted
> ----------------------------------------------------------------------
>
>                 Key: ARROW-5285
>                 URL: https://issues.apache.org/jira/browse/ARROW-5285
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 0.13.0
>            Reporter: shengjun.li
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.14.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> cpp/CMakeLists.txt
>   option(ARROW_CUDA "Build the Arrow CUDA extensions (requires CUDA toolkit)" 
> ON)
>   option(ARROW_PLASMA "Build the plasma object store along with Arrow" ON)
> In the plasma client, GpuProcessHandle is never released although GPU object 
> is deleted.
> Thus, cuIpcCloseMemHandle is never called.
> When I repeatly creat and delete gpu memory, the following error may occur.
> IOError: Cuda Driver API call in 
> /home/zilliz/arrow/cpp/src/arrow/gpu/cuda_context.cc at line 155 failed with 
> code 208: cuIpcOpenMemHandle(&data, *handle, 
> CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS)
> Note: CUDA_ERROR_ALREADY_MAPPED = 208



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to