0

我有一个要使用 cudf.read_csv() 加载的大文件。有问题的文件太大而无法放入单个 gpu 的内存中,但仍然足够小以适合 cpu 内存。我可以通过 pd.read_csv() 加载文件,但这需要很长时间!在较小(但仍然很大)的文件中,cudf.read_csv() 比 pandas 快 6-10 倍。

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

注意:我知道我可以使用 cudf.read_csv('file.csv', usecols=FIRST_n_COLS) 之类的 hack 并按顺序加载成批的列。虽然这适合记忆,但如果可能的话,我更喜欢更优雅的解决方案。

4

1 回答 1

0

如果您有多个 GPU,并且想一次使用所有 GPU,请使用dask_cudf. RAPIDS 对此有一些指南,但@Nick Becker 在这里做了很好的解释:https ://stackoverflow.com/a/58123478/1309051 。这会让你上路

于 2020-09-18T19:52:41.323 回答