Сколько накладных расходов приходится на раздел при загрузке разделов dask_cudf в память GPU? - PullRequest
0 голосов
/ 14 февраля 2019

Задержки пропускной способности шины PCIE накладывают ограничения на то, как и когда приложения должны копировать данные в и из графических процессоров.

При работе непосредственно с cuDF я могу эффективно переместить один большой кусок данных в один DataFrame.

При использовании dask_cudf для разделения моих DataFrames, копирует ли Dask разделы в память GPU по одному?Партиями?Если да, есть ли значительные издержки от нескольких операций копирования вместо одной большой копии?

1 Ответ

0 голосов
/ 20 февраля 2019

Это, вероятно, зависит от используемого вами планировщика.По состоянию на 2019-02-19 dask-cudf использует однопоточный планировщик по умолчанию (cudf некоторое время там работает с ошибками, если используется в нескольких потоках), поэтому любые передачи будут последовательными, если вы не используете какой-либо кластер dask.distributed.Если вы используете кластер dask.distributed, то, вероятно, это будет происходить на всех ваших графических процессорах одновременно.

Стоит отметить, что dask.dataframe + cudf не делает ничего особенного в дополнение к тому, что бы cudf делалделать.Это как если бы вы вызывали много вызовов cudf в цикле for или в одном цикле for для каждого графического процессора, в зависимости от выбора планировщика, приведенного выше.

Отказ от ответственности: cudf и dask-cudf находятся в большом потоке.Будущие читатели, вероятно, должны проверить текущую документацию, прежде чем доверять этому ответу.

...