问题 :
尝试使用 Dask CUDF 加载文件(CSV 和 Parquet)并看到一些与内存相关的错误。数据集可以轻松装入内存,并且可以使用 BlazingSQL 的 read_parquet 方法正确读取文件。但是 dask_cudf.read_parquet() 方法无法做到这一点。两种文件格式都出现相同的错误。
其他观察结果是,当从 cudf dataframe 创建 blazingSQL 表时,该表被创建但记录为零。
如果有人可以提供任何指示来解决此问题,那将很有帮助。
数据集信息:
行数 - 1.26 亿列数 - 209 文件格式 - parquet 分区数 - 8 文件大小 parquet - 400 MB 文件大小 csv - 62 GB
系统信息 :
GPU - 6 (V100 TESLA) 内存 - 16GB GPU 核心 - 32 核心
客户端信息: 调度程序:tcp://127.0.0.1:36617 仪表板:http: //127.0.0.1 :8787/status 集群工作人员:4 核:4 内存:239.89 GiB
代码 :
from blazingsql import BlazingContext
from dask.distributed import Client,wait
from dask_cuda import LocalCUDACluster
import dask
import dask_cudf
cluster = LocalCUDACluster()
client = Client(cluster)
bc = BlazingContext(dask_client=client)
ddf = dask_cudf.read_parquet('/home/ubuntu/126M_dataset/')
bc.create_table('table', ddf.compute())
错误信息:
super(NumericalColumn, col).fillna(fill_value, method)
501
502 def find_first_value(
~/miniconda3/lib/python3.7/site-packages/cudf/core/column/column.py in fillna(self, value, method, dtype)
733 """
734 return libcudf.replace.replace_nulls(
--> 735 input_col=self, replacement=value, method=method, dtype=dtype
736 )
737
cudf/_lib/replace.pyx in cudf._lib.replace.replace_nulls()
cudf/_lib/scalar.pyx in cudf._lib.scalar.as_device_scalar()
~/miniconda3/lib/python3.7/site-packages/cudf/core/scalar.py in device_value(self)
75 if self._device_value is None:
76 self._device_value = DeviceScalar(
---> 77 self._host_value, self._host_dtype
78 )
79 return self._device_value
cudf/_lib/scalar.pyx in cudf._lib.scalar.DeviceScalar.__init__()
cudf/_lib/scalar.pyx in cudf._lib.scalar.DeviceScalar._set_value()
cudf/_lib/scalar.pyx in cudf._lib.scalar._set_numeric_from_np_scalar()
MemoryError: std::bad_alloc: CUDA error at: /home/ubuntu/miniconda3/include/rmm/mr/device/cuda_memory_resource.hpp:69: cudaErrorMemoryAllocation out of memory
系统信息 :
英伟达 smi 信息:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.19.01 Driver Version: 465.19.01 CUDA Version: 11.3 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA Tesla V1... On | 00000000:00:1B.0 Off | 0 |
| N/A 49C P0 55W / 300W | 16147MiB / 16160MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA Tesla V1... On | 00000000:00:1C.0 Off | 0 |
| N/A 48C P0 56W / 300W | 16106MiB / 16160MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 2 NVIDIA Tesla V1... On | 00000000:00:1D.0 Off | 0 |
| N/A 46C P0 61W / 300W | 16106MiB / 16160MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 3 NVIDIA Tesla V1... On | 00000000:00:1E.0 Off | 0 |
| N/A 48C P0 60W / 300W | 16106MiB / 16160MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 113949 C ...ntu/miniconda3/bin/python 823MiB |
| 0 N/A N/A 114055 C ...ntu/miniconda3/bin/python 15319MiB |
| 1 N/A N/A 114059 C ...ntu/miniconda3/bin/python 16101MiB |
| 2 N/A N/A 114062 C ...ntu/miniconda3/bin/python 16101MiB |
| 3 N/A N/A 114053 C ...ntu/miniconda3/bin/python 16101MiB |
+-----------------------------------------------------------------------------+