Хотя я помогу вам решить проблему, связанную с отсутствием доступа ко всем графическим процессорам, я поделюсь с вами советами по производительности: если все ваши данные помещаются на одном графическом процессоре, вам следует использовать флешку для обработки с одним графическим процессором, используя cudf
так как это намного быстрее, так как не требует никаких затрат на оркестровку. Если нет, то читайте дальше:)
Причина, по которой вы не используете 4 графических процессора, заключается в том, что вы не используете dask-cudf
. cudf
- это одна библиотека графического процессора. dask-cudf
позволяет масштабировать его до нескольких графических процессоров и нескольких узлов или обрабатывать наборы данных с размерами, превышающими объем памяти GPU.
Вот отличное место для начала: https://docs.rapids.ai/api/cudf/stable/10min.html
Что касается вашей скорости, вы должны читать CSV напрямую в GPU через cudf, если это возможно. В вашем коде вы читаете данные дважды - один раз на хост [CPU] с pandas и один раз на cudf [GPU] с pandas. Это не нужно - и вы теряете все преимущества ускорения графического процессора при чтении. В больших наборах данных cudf даст вам довольно хорошее ускорение чтения файлов по сравнению с pandas.
import dask_cudf
df = dask_cudf.read_csv("testset.csv", npartitions=4) # or whatever multiples of the # of GPUs that you have
, а затем go оттуда. Обязательно настройте клиента. https://docs.rapids.ai/api/cudf/stable/10min.html#Dask -Performance-Tips . Эта информация также содержится в этой ссылке, которая находится на той же странице, что и выше. Нет для петли требуется :).
В остальном, я предполагаю, что вы используете cuml для ваших алгоритмов машинного обучения, таких как ARIMA. https://docs.rapids.ai/api/cuml/stable/api.html?highlight=arima#cuml .tsa.ARIMA . Вот пример записной книжки: https://github.com/rapidsai/cuml/blob/branch-0.14/notebooks/arima_demo.ipynb