Dask - это библиотека Python, которая обеспечивает параллелизм ядра и распространение некоторых популярных библиотек Python, а также пользовательских функций.
Take Pandas например. Pandas - популярная библиотека для работы с Dataframes в Python. Однако он является однопоточным, и Датафреймы, над которыми вы работаете, должны помещаться в памяти.
В Dask есть подпакет под названием dask.dataframe
, который следует большей части того же API, что и Pandas, но вместо этого разбивает ваш Dataframe на разделы, которые могут работать параллельно и могут быть выгружены из памяти. Dask использует Pandas под капотом, поэтому каждый раздел является допустимым Pandas Dataframe.
Весь Dask Dataframe может масштабироваться и использовать несколько ядер или несколько компьютеров.
RAPIDS - это набор ускорений графического процессора Python библиотек, которые следуют API других популярных Python пакетов.
Чтобы продолжить нашу тему Pandas, RAPIDS имеет пакет под названием cuDF , который имеет почти такой же API как Pandas. Однако cuDF хранит кадры данных в памяти графического процессора и использует графический процессор для выполнения вычислений.
Поскольку графические процессоры могут ускорять вычисления, что может привести к повышению производительности операций Dataframe и позволяет увеличить вашего workflow.
RAPIDS и Dask также работают вместе, и из-за этого Dask считается компонентом RAPIDS. Таким образом, вместо того, чтобы иметь Dask Dataframe, составленный из отдельных Pandas Dataframes, вы можете вместо этого иметь один, состоящий из cuDF Dataframes. Это возможно, поскольку они используют один и тот же API.
Таким образом, вы можете увеличить с помощью графического процессора, а также уменьшить с помощью нескольких графических процессоров на нескольких машинах.