将dask cudf分区加载到GPU内存时,每个分区有多少开销?

问题描述 投票:1回答:1

PCIE总线带宽延迟强制限制应用程序应如何以及何时将数据复制到GPU和从GPU复制数据。

直接使用cuDF时,我可以有效地将一大块数据移动到单个DataFrame中。

当使用dask_cudf对我的DataFrames进行分区时,Dask是否一次一个地将分区复制到GPU内存中?分批?如果是这样,多次复制操作会产生大量开销而不是单个较大的复制吗?

dask rapids cudf
1个回答
1
投票

这可能取决于您正在使用的调度程序。从2019-02-19开始,dask-cudf默认使用单线程调度程序(如果在多个线程中使用,cudf会暂时保留一段时间),因此如果您不使用某个dask.distributed集群,则任何传输都是顺序的。如果您正在使用dask.distributed集群,那么可能会同时在您的每个GPU上发生这种情况。

值得注意的是dask.dataframe + cudf在cudf会做的事情上没有做任何特别的事情。就好像你在for循环中调用了许多cudf调用,或者在每个GPU中调用了一个for循环,这取决于上面的调度程序选择。

免责声明:cudf和dask-cudf的流量很大。在信任这个答案之前,未来的读者可能应该查看当前的文档。

© www.soinside.com 2019 - 2024. All rights reserved.