Cudf仅使用单个GPU加载数据

问题描述

我有一个大文件,想使用cudf.read_csv()加载。有问题的文件太大,无法放入单个gpu的内存中,但仍然足够小,无法放入cpu内存中。我可以通过pd.read_csv()加载文件,但是这将永远!在较小(但仍然很大)的文件中,cudf.read_csv()比熊猫快6到10倍。

使用cudf.read_csv()时,我注意到4个Tesla V100-DGXS中只有1个实际加载数据。其余的人闲着。如果所有4个都用完,我会成像,文件将适合内存。如何使用全部4个GPU加载文件?

注意:我知道我可以使用像cudf.read_csv('file.csv',usecols = FIRST_n_COLS)这样的hack并按顺序加载成批的列。虽然这会适合您的记忆,但我希望有一个更优雅的解决方案。

解决方法

如果您有多个GPU,并且想一次使用所有GPU,请使用dask_cudfRAPIDS has a few guides for this,但是@Nick Becker在这里做了出色的解释:https://stackoverflow.com/a/58123478/1309051。那将带你上路

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...