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



pcie总线带宽潜伏期对应用程序如何以及何时应访问GPU的数据。

直接与CUDF合作时,我可以有效地将一大块数据移至单个数据框架中。

使用dask_cudf将我的dataframes划分时,dask一次将分区复制到GPU内存中吗?在批处理?如果是这样,是否有多个复制操作而不是单个较大副本的大开销?

这可能取决于您正在使用的调度程序。截至2019-02-19 dask-Cudf默认使用单线程调度程序(CUDF segfault暂时使用了一段时间,如果在多个线程中使用了),因此,如果您不使用某些dask.dask.distribated cluster,则任何传输都将是顺序的。如果您使用的是dask.distribed群集,那么大概这会在每个GPU中同时发生。

值得注意的是,dask.dataframe cudf在CUDF会做什么之外没有做任何特别的事情。好像您在循环中打了许多CUDF调用,或者在每gpu的一个循环中,具体取决于上面的调度程序选择。

免责声明:cudf和dask-cudf处于沉重的通量。未来的读者可能应该在信任此答案之前先检查当前文档。

最新更新